API referenceAPIAvailable
Catalog
API endpoints for browsing available integration types and their capabilities.
Last reviewed July 13, 2026
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/catalogExample Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://app2.vendodata.com/api/v1/catalogExample 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
| Parameter | Type | Description |
|---|---|---|
appType | string | The integration type identifier (e.g., shopify, stripe) |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://app2.vendodata.com/api/v1/catalog/stripeExample 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
| Field | Type | Description |
|---|---|---|
appType | string | Unique identifier for this integration |
displayName | string | Human-readable name |
category | string | Category: platforms, analytics, advertising, payment, crm, messaging |
description | string | Description of the integration |
logoUrl | string | URL to the integration’s logo |
supportedRoles | array | Roles: source, destination |
lifecycle | string | Status: live, comingsoon, custom |
selfServe | boolean | Whether users can set up without assistance |
provider | string | Provider: native, airbyte, singer |
Credential Fields (Detail View)
| Field | Type | Description |
|---|---|---|
name | string | Field identifier |
label | string | Display label |
type | string | Input type: text, password, select |
description | string | Help text for the field |
Categories
| Category | Description | Examples |
|---|---|---|
platforms | E-commerce and website platforms | Shopify, WooCommerce, Magento |
analytics | Analytics and tracking tools | Mixpanel, Segment, GA4 |
advertising | Ad platforms | Google Ads, Meta Ads, TikTok |
payment | Payment processors | Stripe, PayPal |
crm | Customer relationship management | HubSpot, Salesforce |
messaging | Email and notification platforms | Customer.io, OneSignal |
data | Data warehouses and storage | BigQuery, S3, Redshift |
Lifecycle Statuses
| Status | Description |
|---|---|
live | Fully supported and available for self-service setup |
comingsoon | Coming soon, not yet available |
custom | Requires a Vendo-assisted setup or workspace-specific arrangement |
Authentication Types
| Auth Type | Description |
|---|---|
api_key | Simple API key authentication |
oauth2 | OAuth 2.0 flow (requires web UI) |
basic | Username/password |
service_account | Service account JSON file |
Filtering by Category
To filter integrations by category, use the catalog list and filter client-side:
const response = await fetch('https://app2.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:
- Building dynamic UIs — Show available integrations based on capabilities
- Validating app types — Check if an
appTypeis valid before creating apps - Generating forms — Use
credentialFieldsto build credential input forms - Filtering options — Show only source or destination integrations as needed
Last updated on