Terapi · JSON Structure

Terapi Connection Structure

Structure documentation for an integration connection in Terapi, representing an authenticated link between an end-user account and a third-party service.

Type: Properties: 0
AuthenticationConnectorsEmbedded iPaaSIntegrationNative IntegrationsOpen SourceWorkflow Automation

Terapi Integration Connection is a JSON Structure definition published by Terapi.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "Terapi Integration Connection",
  "description": "Structure documentation for an integration connection in Terapi, representing an authenticated link between an end-user account and a third-party service.",
  "fields": [
    {
      "name": "id",
      "type": "string",
      "required": true,
      "description": "Your application's unique identifier for this connection. This is the connection ID you provide when creating the connection - typically your user ID or tenant ID."
    },
    {
      "name": "provider_config_key",
      "type": "string",
      "required": true,
      "description": "The key of the integration configuration this connection belongs to (e.g., 'github-prod', 'salesforce-sandbox')"
    },
    {
      "name": "provider",
      "type": "string",
      "required": true,
      "description": "The third-party provider name from Terapi's supported providers list (e.g., 'github', 'salesforce', 'slack', 'hubspot', 'stripe')"
    },
    {
      "name": "created_at",
      "type": "string (date-time)",
      "required": false,
      "description": "ISO 8601 timestamp when the connection was established"
    },
    {
      "name": "updated_at",
      "type": "string (date-time)",
      "required": false,
      "description": "ISO 8601 timestamp when the connection was last updated (e.g., token refresh)"
    },
    {
      "name": "metadata",
      "type": "object",
      "required": false,
      "description": "Custom key-value metadata stored with this connection. Use for tenant IDs, display names, scoping information, etc."
    },
    {
      "name": "credentials",
      "type": "object",
      "required": false,
      "description": "Current credential state. Raw secrets are never returned - only status information.",
      "fields": [
        {
          "name": "type",
          "type": "string",
          "description": "Credential type used for this connection",
          "enum": ["oauth2", "oauth1", "api_key", "basic", "custom"]
        },
        {
          "name": "expires_at",
          "type": "string (date-time)",
          "description": "Token expiration time for OAuth connections"
        }
      ]
    }
  ]
}