{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/novu/main/json-schema/novu-integration-response-dto-schema.json", "title": "IntegrationResponseDto", "description": "JSON Schema for Novu IntegrationResponseDto.", "type": "object", "properties": { "_id": { "type": "string", "description": "The unique identifier of the integration record in the database. This is automatically generated." }, "_environmentId": { "type": "string", "description": "The unique identifier for the environment associated with this integration. This links to the Environment collection." }, "_organizationId": { "type": "string", "description": "The unique identifier for the organization that owns this integration. This links to the Organization collection." }, "name": { "type": "string", "description": "The name of the integration, which is used to identify it in the user interface." }, "identifier": { "type": "string", "description": "A unique string identifier for the integration, often used for API calls or internal references." }, "providerId": { "type": "string", "description": "The identifier for the provider of the integration (e.g., \"mailgun\", \"twilio\")." }, "channel": { "type": "string", "description": "The channel type for the integration, which defines how it communicates (e.g., email, SMS). Not set for agent-kind integrations.", "enum": [ "in_app", "email", "sms", "chat", "push" ] }, "kind": { "type": "string", "description": "Distinguishes delivery integrations from agent-runtime integrations. Defaults to \"delivery\". Agent integrations do not have a channel.", "enum": [ "delivery", "agent" ] }, "credentials": { "description": "The decrypted credentials required for the integration to function (e.g. provider API keys, signing secrets). Only returned to dashboard/session-token callers; API-key authenticated callers receive the integration metadata without this field to avoid amplifying API-key leaks into provider-credential leaks.", "allOf": [ { "type": "object", "properties": { "apiKey": { "type": "string" }, "user": { "type": "string" }, "secretKey": { "type": "string" }, "domain": { "type": "string" }, "password": { "type": "string" }, "host": { "type": "string" }, "port": { "type": "string" }, "secure": { "type": "boolean" }, "region": { "type": "string" }, "accountSid": { "type": "string" }, "messageProfileId": { "type": "string" }, "token": { "type": "string" }, "from": { "type": "string" }, "senderName": { "type": "string" }, "projectName": { "type": "string" }, "applicationId": { "type": "string" }, "clientId": { "type": "string" }, "requireTls": { "type": "boolean" }, "ignoreTls": { "type": "boolean" }, "tlsOptions": { "type": "object" }, "baseUrl": { "type": "string" }, "webhookUrl": { "type": "string" }, "redirectUrl": { "type": "string" }, "hmac": { "type": "boolean" }, "serviceAccount": { "type": "string" }, "ipPoolName": { "type": "string" }, "apiKeyRequestHeader": { "type": "string" }, "secretKeyRequestHeader": { "type": "string" }, "idPath": { "type": "string" }, "datePath": { "type": "string" }, "apiToken": { "type": "string" }, "authenticateByToken": { "type": "boolean" }, "authenticationTokenKey": { "type": "string" }, "instanceId": { "type": "string" }, "alertUid": { "type": "string" }, "title": { "type": "string" }, "imageUrl": { "type": "string" }, "state": { "type": "string" }, "externalLink": { "type": "string" }, "channelId": { "type": "string" }, "phoneNumberIdentification": { "type": "string" }, "accessKey": { "type": "string" }, "appSid": { "type": "string" }, "senderId": { "type": "string" }, "tenantId": { "type": "string" }, "AppIOBaseUrl": { "type": "string" }, "signingSecret": { "type": "string" }, "outboundIntegrationId": { "type": "string" }, "useFromAddressOverride": { "type": "boolean" }, "fromAddressOverride": { "type": "string" }, "emailSlugPrefix": { "type": "string", "description": "Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@`. Only meaningful on the NovuAgent email integration." }, "externalEnvironmentId": { "type": "string", "description": "Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API at integration provisioning time." }, "externalWorkspaceId": { "type": "string", "description": "Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. `wrkspc_\u2026`)." } } } ] }, "configurations": { "description": "The configurations required for enabling the additional configurations of the integration.", "allOf": [ { "type": "object", "properties": { "inboundWebhookEnabled": { "type": "boolean" }, "inboundWebhookSigningKey": { "type": "string" } } } ] }, "active": { "type": "boolean", "description": "Indicates whether the integration is currently active. An active integration will process events and messages." }, "deleted": { "type": "boolean", "description": "Indicates whether the integration has been marked as deleted (soft delete)." }, "deletedAt": { "type": "string", "description": "The timestamp indicating when the integration was deleted. This is set when the integration is soft deleted." }, "deletedBy": { "type": "string", "description": "The identifier of the user who performed the deletion of this integration. Useful for audit trails." }, "primary": { "type": "boolean", "description": "Indicates whether this integration is marked as primary. A primary integration is often the default choice for processing." }, "conditions": { "description": "An array of conditions associated with the integration that may influence its behavior or processing logic.", "type": "array", "items": { "type": "object", "properties": { "isNegated": { "type": "boolean" }, "type": { "type": "string", "enum": [ "BOOLEAN", "TEXT", "DATE", "NUMBER", "STATEMENT", "LIST", "MULTI_LIST", "GROUP" ] }, "value": { "type": "string", "enum": [ "AND", "OR" ] }, "children": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "value": { "type": "string" }, "operator": { "type": "string", "enum": [ "LARGER", "SMALLER", "LARGER_EQUAL", "SMALLER_EQUAL", "EQUAL", "NOT_EQUAL", "ALL_IN", "ANY_IN", "NOT_IN", "BETWEEN", "NOT_BETWEEN", "LIKE", "NOT_LIKE", "IN" ] }, "on": { "type": "string", "enum": [ "subscriber", "payload" ] } }, "required": [ "field", "value", "operator", "on" ] } } }, "required": [ "isNegated", "type", "value", "children" ] } } }, "required": [ "_environmentId", "_organizationId", "name", "identifier", "providerId", "active", "deleted", "primary" ] }