Skip to Content

Catalog

The Catalog API provides information about all available integration types, their capabilities, required credentials, and configuration options.

List Integration Types

Retrieve all available integration types.

GET /api/v1/catalog

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \ https://app.vendodata.com/api/v1/catalog

Example Response

{ "data": [ { "appType": "shopify", "displayName": "Shopify", "category": "platforms", "description": "E-commerce platform for online stores and retail point-of-sale systems.", "logoUrl": "/images/icons/shopify.jpeg", "supportedRoles": ["source"], "lifecycle": "live", "selfServe": true, "provider": "native" }, { "appType": "mixpanel", "displayName": "Mixpanel", "category": "analytics", "description": "One-click Mixpanel setup for Shopify with no-code destination activation, full client/server event routing, and historical backfill.", "logoUrl": "/images/mixpanel.svg", "supportedRoles": ["source", "destination"], "lifecycle": "live", "selfServe": true, "provider": "native" }, { "appType": "google_ads", "displayName": "Google Ads", "category": "advertising", "description": "Advertising platform for Google search, Youtube and Display Network.", "logoUrl": "/images/icons/google.svg", "supportedRoles": ["source", "destination"], "lifecycle": "live", "selfServe": true, "provider": "native" }, { "appType": "stripe", "displayName": "Stripe", "category": "payment", "description": "Complete payment and subscription management platform that powers online businesses.", "logoUrl": "/images/icons/stripe.jpeg", "supportedRoles": ["source"], "lifecycle": "live", "selfServe": true, "provider": "native" } ] }

Get Integration Type Details

Retrieve detailed information about a specific integration type, including credential requirements and configuration schema.

GET /api/v1/catalog/{appType}

Path Parameters

ParameterTypeDescription
appTypestringThe integration type identifier (e.g., shopify, stripe)

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \ https://app.vendodata.com/api/v1/catalog/stripe

Example Response

{ "data": { "appType": "stripe", "displayName": "Stripe", "category": "payment", "description": "Complete payment and subscription management platform that powers online businesses with flexible payment processing, subscription billing, and financial operations.", "logoUrl": "/images/icons/stripe.jpeg", "supportedRoles": ["source"], "lifecycle": "live", "selfServe": true, "provider": "native", "authType": "api_key", "credentialFields": [ { "name": "api_key", "label": "API Key", "type": "password", "description": "Your Stripe secret API key (starts with sk_live_ or sk_test_)" } ], "importTasks": [ { "id": "charges", "label": "Charges", "description": "Payment transactions" }, { "id": "customers", "label": "Customers", "description": "Customer profiles and metadata" }, { "id": "subscriptions", "label": "Subscriptions", "description": "Recurring billing subscriptions" }, { "id": "invoices", "label": "Invoices", "description": "Invoice records" } ] } }

Response Fields

Integration Type Object

FieldTypeDescription
appTypestringUnique identifier for this integration
displayNamestringHuman-readable name
categorystringCategory: platforms, analytics, advertising, payment, crm, messaging
descriptionstringDescription of the integration
logoUrlstringURL to the integration’s logo
supportedRolesarrayRoles: source, destination
lifecyclestringStatus: live, comingsoon, custom
selfServebooleanWhether users can set up without assistance
providerstringProvider: native, airbyte, singer

Credential Fields (Detail View)

FieldTypeDescription
namestringField identifier
labelstringDisplay label
typestringInput type: text, password, select
descriptionstringHelp text for the field

Categories

CategoryDescriptionExamples
platformsE-commerce and website platformsShopify, WooCommerce, Magento
analyticsAnalytics and tracking toolsMixpanel, Segment, GA4
advertisingAd platformsGoogle Ads, Meta Ads, TikTok
paymentPayment processorsStripe, PayPal
crmCustomer relationship managementHubSpot, Salesforce
messagingEmail and notification platformsCustomer.io, OneSignal
dataData warehouses and storageBigQuery, S3, Redshift

Lifecycle Statuses

StatusDescription
liveFully supported and available for self-service setup
comingsoonComing soon, not yet available
customRequires custom setup or enterprise plan

Authentication Types

Auth TypeDescription
api_keySimple API key authentication
oauth2OAuth 2.0 flow (requires web UI)
basicUsername/password
service_accountService account JSON file

Filtering by Category

To filter integrations by category, use the catalog list and filter client-side:

const response = await fetch('https://app.vendodata.com/api/v1/catalog', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }); const { data } = await response.json(); // Filter for advertising platforms const adPlatforms = data.filter(app => app.category === 'advertising'); // Filter for live, self-serve integrations const selfServe = data.filter(app => app.lifecycle === 'live' && app.selfServe === true ); // Filter for destinations only const destinations = data.filter(app => app.supportedRoles.includes('destination') );

Using Catalog Data

The catalog is useful for:

  1. Building dynamic UIs — Show available integrations based on capabilities
  2. Validating app types — Check if an appType is valid before creating apps
  3. Generating forms — Use credentialFields to build credential input forms
  4. Filtering options — Show only source or destination integrations as needed
Last updated on