VYG Docs

Integrations

GET/v1/providers

Scope: providers:read. MCP tool: list_providers.

View your custom data sources. Returns an empty list if none have been added.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/providers"
{  "data": [    {      "id": "string",      "key": "string",      "name": "string",      "lookup_id": "string",      "source_template_key": "string",      "is_enabled": true,      "settings": {        "property1": null,        "property2": null      }    }  ],  "next_cursor": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
POST/v1/providers

Scope: providers:write. MCP tool: create_provider.

Add a custom data source and get its webhook signing secret. With OAuth and keys:manage permission, the response also includes a vyg_ba_ API key with providers:read and providers:write access. Otherwise, api_key is null. Save new credentials when they are returned; they are shown once.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/providers" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "id": "string",  "key": "string",  "name": "string",  "lookup_id": "string",  "source_template_key": "string",  "is_enabled": true,  "settings": {    "property1": null,    "property2": null  },  "api_key": "string",  "webhook_secret": "string",  "webhook_url": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
GET/v1/providers/{provider_id}

Scope: providers:read. MCP tool: get_provider.

View a custom data source and its settings. Credentials are not included.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

provider_id*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/providers/string"
{  "id": "string",  "key": "string",  "name": "string",  "lookup_id": "string",  "source_template_key": "string",  "is_enabled": true,  "settings": {    "property1": null,    "property2": null  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
PATCH/v1/providers/{provider_id}

Scope: providers:write. MCP tool: update_provider.

Update a data source’s name, status or settings. Omitted fields stay unchanged. Updating request_mapping preserves existing type_matchers.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

provider_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/providers/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "key": "string",  "name": "string",  "lookup_id": "string",  "source_template_key": "string",  "is_enabled": true,  "settings": {    "property1": null,    "property2": null  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
GET/v1/providers/{provider_id}/event-definitions

Scope: providers:read. MCP tool: list_event_definitions.

View the event types registered for a custom data source.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

provider_id*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/providers/string/event-definitions"
{  "data": [    {      "id": "string",      "provider_id": "string",      "type": "string",      "name": "string",      "description": "string",      "payload_schema": {        "property1": null,        "property2": null      },      "identifier_mappings": {        "property1": null,        "property2": null      },      "schema_version": 0,      "source_template_key": "string",      "is_enabled": true,      "created_at": "string",      "updated_at": "string"    }  ],  "next_cursor": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
POST/v1/providers/{provider_id}/event-definitions

Scope: providers:write. MCP tool: create_event_definition.

Register an event type and its expected payload. Use a unique type slug and a valid JSON Schema. In identifier_mappings, provide external_id_path and at least one of email_path or phone_path.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

provider_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/providers/string/event-definitions" \  -H "Content-Type: application/json" \  -d '{    "type": "string",    "name": "string",    "payload_schema": {      "property1": null,      "property2": null    },    "identifier_mappings": {      "property1": null,      "property2": null    }  }'
{  "id": "string",  "provider_id": "string",  "type": "string",  "name": "string",  "description": "string",  "payload_schema": {    "property1": null,    "property2": null  },  "identifier_mappings": {    "property1": null,    "property2": null  },  "schema_version": 0,  "source_template_key": "string",  "is_enabled": true,  "created_at": "string",  "updated_at": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
GET/v1/providers/{provider_id}/event-definitions/{definition_id}

Scope: providers:read. MCP tool: get_event_definition.

View a registered event type and its payload requirements.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

provider_id*string
definition_id*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/providers/string/event-definitions/string"
{  "id": "string",  "provider_id": "string",  "type": "string",  "name": "string",  "description": "string",  "payload_schema": {    "property1": null,    "property2": null  },  "identifier_mappings": {    "property1": null,    "property2": null  },  "schema_version": 0,  "source_template_key": "string",  "is_enabled": true,  "created_at": "string",  "updated_at": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
PATCH/v1/providers/{provider_id}/event-definitions/{definition_id}

Scope: providers:write. MCP tool: update_event_definition.

Update an event type. Renaming it updates linked campaigns and matching rules. When changing payload_schema, pass the current schema_version; an outdated version returns 409. Omitted fields stay unchanged.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

provider_id*string
definition_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/providers/string/event-definitions/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "provider_id": "string",  "type": "string",  "name": "string",  "description": "string",  "payload_schema": {    "property1": null,    "property2": null  },  "identifier_mappings": {    "property1": null,    "property2": null  },  "schema_version": 0,  "source_template_key": "string",  "is_enabled": true,  "created_at": "string",  "updated_at": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
GET/v1/integrations

Scope: integrations:read. MCP tool: list_integrations.

View your connected apps.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/integrations"
{  "data": [    {      "id": "string",      "integration_id": "string",      "provider": "string",      "status": "string",      "enabled": true,      "connected_at": "string"    }  ],  "next_cursor": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
GET/v1/event-types

Scope: events:read. MCP tool: list_event_types.

View the available event types.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/event-types"
{  "data": [    {      "name": "string",      "source": "string",      "title": "string",      "description": "string",      "schema": {        "property1": null,        "property2": null      }    }  ],  "next_cursor": "string"}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}
{  "error": {    "code": "bad_request",    "message": "string"  }}