DealSleek API · Connectors

Preview

Register Connector

Register a tenant-scoped third-party connector after its authorization flow completes.

POST/api/v1/connectors/dispatch

Authorization

Minimum role
Tenant administratorThe caller must hold this role or a higher one.
Action
REGISTER_CONNECTOR

Headers

  • AuthorizationstringRequired

    Access token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.

  • X-CQRS-ActionstringRequired

    Names the command to run. Must be REGISTER_CONNECTOR for this endpoint.

  • Content-TypestringRequired

    Always application/json.

  • X-Idempotency-KeystringRequired

    A key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.

  • X-Correlation-IdstringOptional

    Your own identifier for the request. Returned in the x-correlation-id response header; generated when you leave it out.

Request body

  • kindenumRequired

    No description yet.

    Allowed values
    • CRM
    • ERP
    • COMMUNICATION
    • SOCIAL
    • AI_MODEL
    • DATA_PROVIDER
  • namestringRequired

    No description yet.

    minimum length 1
  • tenant_iduuidRequired

    No description yet.

  • binding_iduuid or nullOptional

    No description yet.

  • connected_emailstring or nullOptional

    No description yet.

  • fallback_owner_iduuid or nullOptional

    No description yet.

  • metadataanyOptional

    No description yet.

  • primary_owner_iduuid or nullOptional

    Key-person risk: who answers for this binding, and who inherits it when they leave. primary_owner_id defaults to user_id (the operator who connected it) when omitted.

  • providerenum or nullOptional

    No description yet.

    Allowed values
    • google_ads
    • facebook
    • linkedin_ads
  • token_expires_in_secondsinteger or nullOptional

    Provider-reported lifetime of the access token just issued. The engine derives metadata.token_expires_at from it; a missing or non-positive value means "provider did not say" and stamps nothing.

  • user_iduuid or nullOptional

    Per-binding metadata the boot-time scan needs to reconstruct the in-memory registry without re-running OAuth: the operator user_id (RBAC), the platform string (drives provider-specific code paths), the connected email (UI label), and free-form metadata for future per-platform fields (Google Ads login-customer-id, etc.). All optional so existing callers / tests stay compiling.

Response

Status 202. The command was applied. The body is the record as it stands after the command: a JSON object whose fields depend on the record.

Errors

Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.

  • 400X-CQRS-Action is missing or names a command this route does not accept. Send REGISTER_CONNECTOR.
  • 400DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types.
  • 400IDEMPOTENCY_KEY_REQUIREDX-Idempotency-Key is missing.
  • 401The access token is missing, expired or not valid.
  • 401L1_AUTHThe caller's role is below tenantadmin or the caller has no access to this record.
  • 403L1_POLICYA business rule refused the command. The message names the rule.
  • 409L1_IDEMPOTENCYA command with this idempotency key was already applied.
  • 409CONFLICTThe command would duplicate a record that must be unique.
  • 500L3_COMMITThe command was valid but could not be saved.
Generated from the API contract · revision 81ff3aa932f37d3b