Management APIIntegration Catalog

Integration Catalog

The integration catalog provides a browsable library of pre-built vendor integrations. Each catalog entry includes configuration fields, default settings, and industry-specific variants for one-click setup.

The catalog is embedded in the Datafly Signal codebase and versioned alongside the platform. It does not require database storage and is always available.

Catalog Vendor Object

{
  "key": "meta_capi",
  "name": "Meta Conversions API (CAPI)",
  "description": "Send web, app, and offline events directly to Meta via the Conversions API.",
  "category": "advertising",
  "status": "ga",
  "website": "https://developers.facebook.com/docs/marketing-api/conversions-api",
  "config_fields": [
    {
      "key": "pixel_id",
      "label": "Pixel ID",
      "type": "string",
      "required": true,
      "placeholder": "123456789012345",
      "help_text": "Your Meta Pixel ID, found in Events Manager."
    },
    {
      "key": "access_token",
      "label": "Access Token",
      "type": "secret",
      "required": true,
      "placeholder": "EAABsb...",
      "help_text": "A system user access token."
    }
  ],
  "variants": [
    {
      "key": "default",
      "name": "Default",
      "description": "Standard configuration.",
      "default_config": { "batch_size": 100, "hash_pii": true }
    },
    {
      "key": "retail",
      "name": "Retail",
      "description": "Optimised for e-commerce events.",
      "default_config": { "batch_size": 100, "include_catalog_data": true }
    }
  ]
}
FieldTypeDescription
keystringUnique vendor identifier (used in API paths)
namestringDisplay name
descriptionstringVendor description
categorystringCategory: advertising, analytics, attribution, cdp, cloud_storage, other
statusstringAvailability status: ga (generally available) or beta
websitestringLink to vendor documentation
config_fieldsarrayConfiguration field definitions (see below)
variantsarrayPre-configured variants (see below)

Config Field Object

FieldTypeDescription
keystringField identifier used in config JSON
labelstringHuman-readable label
typestringField type: string, secret, select, boolean, number
requiredbooleanWhether the field is mandatory
placeholderstringExample placeholder value
help_textstringHelp text describing the field
optionsstring[]Available options (for select type fields)
defaultanyDefault value

Variant Object

FieldTypeDescription
keystringVariant identifier (e.g. default, retail, travel)
namestringDisplay name
descriptionstringWhat this variant is optimised for
default_configobjectDefault configuration values for this variant

List Catalog

GET /v1/admin/integration-catalog

Returns all vendors in the catalog. Supports filtering by category, status, and search term.

Query parameters:

ParameterTypeDescription
searchstringSearch vendors by name or description
categorystringFilter by category (e.g. advertising, analytics)
statusstringFilter by status (ga or beta)

Request:

curl -X GET "http://localhost:8084/v1/admin/integration-catalog?category=advertising" \
  -H "Authorization: Bearer {access_token}"

Response:

{
  "vendors": [
    {
      "key": "meta_capi",
      "name": "Meta Conversions API (CAPI)",
      "description": "...",
      "category": "advertising",
      "status": "ga",
      "website": "https://...",
      "config_fields": [...],
      "variants": [...]
    }
  ],
  "total": 39,
  "categories": ["advertising", "analytics", "attribution", "cdp", "cloud_storage", "other"]
}

Required role: viewer or above.

Get Catalog Vendor

GET /v1/admin/integration-catalog/{vendor}

Returns a single catalog vendor with full details including config fields and variants.

Request:

curl -X GET http://localhost:8084/v1/admin/integration-catalog/meta_capi \
  -H "Authorization: Bearer {access_token}"

Response: Full catalog vendor object.

Required role: viewer or above.

Install from Catalog

POST /v1/admin/integration-catalog/{vendor}/install

One-click installation: creates an integration template and its first revision (v1) atomically. The revision config is built by merging the selected variant’s defaults with any user-provided overrides.

Request:

{
  "name": "Meta CAPI Production",
  "variant": "retail",
  "config": {
    "pixel_id": "1234567890",
    "access_token": "EAABsb..."
  },
  "delivery_mode": "server_side",
  "description": "Meta CAPI for our e-commerce site"
}
FieldTypeRequiredDescription
namestringYesDisplay name for the integration template
variantstringNoVariant key (defaults to default)
configobjectNoUser-provided config (merged with variant defaults)
delivery_modestringNoserver_side (default) or client_side
descriptionstringNoDescription of the integration

Response (201 Created):

{
  "template": {
    "id": "tmpl_abc123",
    "org_id": "org_xyz",
    "name": "Meta CAPI Production",
    "vendor": "meta_capi",
    "description": "Meta CAPI for our e-commerce site",
    "catalog_vendor_key": "meta_capi",
    "catalog_variant_key": "retail",
    "created_at": "2026-02-25T10:00:00Z",
    "updated_at": "2026-02-25T10:00:00Z"
  },
  "revision": {
    "id": "rev_xyz789",
    "integration_id": "tmpl_abc123",
    "org_id": "org_xyz",
    "revision_number": 1,
    "config": {
      "batch_size": 100,
      "include_catalog_data": true,
      "pixel_id": "1234567890",
      "access_token": "EAABsb..."
    },
    "delivery_mode": "server_side",
    "change_summary": "Initial setup from catalog: Meta Conversions API (CAPI) (retail variant)",
    "created_by": "user_123",
    "created_at": "2026-02-25T10:00:00Z"
  }
}

After installation, assign the integration template to one or more pipelines using the Pipeline Integrations API.

Required role: editor or above.