Skip to main content
POST
/
connections
/
composio
/
start
Start Composio OAuth
curl --request POST \
  --url https://api.duvo.ai/v1/connections/composio/start \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "auth_config_id": "<string>",
  "callback_url": "<string>",
  "auth_scheme": "<string>",
  "auth_fields": {}
}
'
{
  "redirect_url": "<string>",
  "status": "<string>",
  "connected_account_id": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.duvo.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key authentication. Get your API key from the Duvo dashboard.

Body

application/json
auth_config_id
string
required

Composio auth-config ID for the toolkit. Obtain it from Composio's auth-config catalog or by listing existing configs.

Minimum string length: 1
callback_url
string<uri>
required

Where to send the user's browser after they finish the Composio consent screen. Must be an absolute URL.

auth_scheme
string

Composio auth scheme (e.g. 'OAUTH2', 'API_KEY', 'BEARER_TOKEN'). Required when supplying non-OAuth credentials in auth_fields.

auth_fields
object

Auth field values keyed by field name. For OAuth, these are passed in connection.data; for API_KEY/BEARER_TOKEN/etc., these are passed via connection.state with the corresponding auth_scheme.

Response

Default Response

redirect_url
string | null
required

Browser URL the user must visit to complete authorization. Null when the connection was completed synchronously (e.g. for API_KEY auth that did not require a browser flow).

status
string | null
required

Composio connection status (e.g. 'INITIATED', 'ACTIVE', 'FAILED').

connected_account_id
string
required

Composio connected-account ID created by this request. Always present — required by /v1/connections/composio/finalize to bind the new connection to the exact account.

Minimum string length: 1