Provider connections
Provider readiness, Meta onboarding, token rotation, and disconnect for public API integrations.
Credentials are write-only. Responses expose status, readiness, channel metadata, and provider identifiers, but never return plaintext access tokens, webhook secrets, app secrets, or payment receiver credentials.
Readiness
GET/v1/provider-connections/status
Requires provider_connections:read. Use this as the first integration check: one response answers whether WhatsApp, Instagram, merchant payments, or agentic payments are ready for the API key environment.
Response
| Field | Type | Notes |
|---|---|---|
objectrequired | "provider_connection_status" | |
environmentrequired | "sandbox" | "production" | |
channelsrequired | object |
List
GET/v1/provider-connections
Response
| Field | Type | Notes |
|---|---|---|
objectrequired | "list" | |
datarequired | object[] | |
has_morerequired | boolean | |
next_cursorrequired | string | null |
Retrieve
GET/v1/provider-connections/{connection_id}
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "provider_connection" | |
providerrequired | "meta" | "iniciador" | "abacate_pay" | |
channelrequired | "whatsapp" | "instagram" | "payments" | "agentic_payments" | |
statusrequired | "pending" | "connected" | "suspended" | "disconnected" | |
display_namerequired | string | |
environmentrequired | "sandbox" | "production" | |
waba_idrequired | string | null | |
phone_number_idrequired | string | null | |
ig_business_account_idrequired | string | null | |
page_idrequired | string | null | |
provider_account_idrequired | string | null | |
payment_receiverrequired | object | null | |
payment_capabilitiesrequired | object | null | |
agentic_capabilitiesrequired | object | null | |
default_participant_idrequired | string | null | |
agent_idrequired | string | null | |
agentic_api_base_urlrequired | string | null | |
webhook_secret_configuredrequired | boolean | |
credential_last_four | string | null | |
token_sourcerequired | "manual" | "embedded_signup" | null | |
token_expires_atrequired | string<ISO-8601> | null | |
token_refreshed_atrequired | string<ISO-8601> | null | |
token_rotated_atrequired | string<ISO-8601> | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
disconnected_atrequired | string<ISO-8601> | null |
Meta onboarding config
GET/v1/provider-connections/meta/onboarding
Returns non-secret Facebook SDK launch metadata for Meta Embedded Signup. This route does not return the Meta app secret or a raw OAuth URL.
Response
| Field | Type | Notes |
|---|---|---|
objectrequired | "meta_onboarding_config" | |
moderequired | "embedded_signup" | |
app_idrequired | string | len 1..∞ |
config_idrequired | string | len 1..∞ |
graph_api_versionrequired | string | len 1..∞ |
sdk_urlrequired | string | |
allowed_message_originsrequired | string[] | |
message_typerequired | "WA_EMBEDDED_SIGNUP" | |
login_optionsrequired | object | |
completion_endpointrequired | "/v1/provider-connections/meta/oauth" | |
manual_credentials_endpointrequired | "/v1/provider-connections/meta" |
Register Meta connection
POST/v1/provider-connections/meta
Request body
| Field | Type | Notes |
|---|---|---|
channel | "whatsapp" | "instagram" | "payments" | "agentic_payments" | |
display_namerequired | string | len 1..∞ |
waba_id | string | len 1..∞ |
phone_number_id | string | len 1..∞ |
ig_business_account_id | string | len 1..∞ |
page_id | string | len 1..∞ |
access_tokenrequired | string | len 1..∞ |
token_source | "manual" | "embedded_signup" | |
token_expires_at | string<ISO-8601> | null |
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "provider_connection" | |
providerrequired | "meta" | "iniciador" | "abacate_pay" | |
channelrequired | "whatsapp" | "instagram" | "payments" | "agentic_payments" | |
statusrequired | "pending" | "connected" | "suspended" | "disconnected" | |
display_namerequired | string | |
environmentrequired | "sandbox" | "production" | |
waba_idrequired | string | null | |
phone_number_idrequired | string | null | |
ig_business_account_idrequired | string | null | |
page_idrequired | string | null | |
provider_account_idrequired | string | null | |
payment_receiverrequired | object | null | |
payment_capabilitiesrequired | object | null | |
agentic_capabilitiesrequired | object | null | |
default_participant_idrequired | string | null | |
agent_idrequired | string | null | |
agentic_api_base_urlrequired | string | null | |
webhook_secret_configuredrequired | boolean | |
credential_last_four | string | null | |
token_sourcerequired | "manual" | "embedded_signup" | null | |
token_expires_atrequired | string<ISO-8601> | null | |
token_refreshed_atrequired | string<ISO-8601> | null | |
token_rotated_atrequired | string<ISO-8601> | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
disconnected_atrequired | string<ISO-8601> | null |
Exchange Meta OAuth code
POST/v1/provider-connections/meta/oauth
Request body
| Field | Type | Notes |
|---|---|---|
coderequired | string | len 1..∞ |
waba_idrequired | string | len 1..∞ |
phone_number_idrequired | string | len 1..∞ |
display_name | string | len 1..∞ |
business_id | string | len 1..∞ |
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "provider_connection" | |
providerrequired | "meta" | "iniciador" | "abacate_pay" | |
channelrequired | "whatsapp" | "instagram" | "payments" | "agentic_payments" | |
statusrequired | "pending" | "connected" | "suspended" | "disconnected" | |
display_namerequired | string | |
environmentrequired | "sandbox" | "production" | |
waba_idrequired | string | null | |
phone_number_idrequired | string | null | |
ig_business_account_idrequired | string | null | |
page_idrequired | string | null | |
provider_account_idrequired | string | null | |
payment_receiverrequired | object | null | |
payment_capabilitiesrequired | object | null | |
agentic_capabilitiesrequired | object | null | |
default_participant_idrequired | string | null | |
agent_idrequired | string | null | |
agentic_api_base_urlrequired | string | null | |
webhook_secret_configuredrequired | boolean | |
credential_last_four | string | null | |
token_sourcerequired | "manual" | "embedded_signup" | null | |
token_expires_atrequired | string<ISO-8601> | null | |
token_refreshed_atrequired | string<ISO-8601> | null | |
token_rotated_atrequired | string<ISO-8601> | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
disconnected_atrequired | string<ISO-8601> | null |
Rotate token
POST/v1/provider-connections/{connection_id}/rotate
Request body
| Field | Type | Notes |
|---|---|---|
access_tokenrequired | string | len 1..∞ |
token_source | "manual" | "embedded_signup" | |
token_expires_at | string<ISO-8601> | null |
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "provider_connection" | |
providerrequired | "meta" | "iniciador" | "abacate_pay" | |
channelrequired | "whatsapp" | "instagram" | "payments" | "agentic_payments" | |
statusrequired | "pending" | "connected" | "suspended" | "disconnected" | |
display_namerequired | string | |
environmentrequired | "sandbox" | "production" | |
waba_idrequired | string | null | |
phone_number_idrequired | string | null | |
ig_business_account_idrequired | string | null | |
page_idrequired | string | null | |
provider_account_idrequired | string | null | |
payment_receiverrequired | object | null | |
payment_capabilitiesrequired | object | null | |
agentic_capabilitiesrequired | object | null | |
default_participant_idrequired | string | null | |
agent_idrequired | string | null | |
agentic_api_base_urlrequired | string | null | |
webhook_secret_configuredrequired | boolean | |
credential_last_four | string | null | |
token_sourcerequired | "manual" | "embedded_signup" | null | |
token_expires_atrequired | string<ISO-8601> | null | |
token_refreshed_atrequired | string<ISO-8601> | null | |
token_rotated_atrequired | string<ISO-8601> | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
disconnected_atrequired | string<ISO-8601> | null |
Disconnect
DELETE/v1/provider-connections/{connection_id}
Clears provider credentials without deleting audit history. The connection disappears from list/retrieve and readiness reports it as disconnected or missing.
Response
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
objectrequired | "provider_connection" | |
providerrequired | "meta" | "iniciador" | "abacate_pay" | |
channelrequired | "whatsapp" | "instagram" | "payments" | "agentic_payments" | |
statusrequired | "pending" | "connected" | "suspended" | "disconnected" | |
display_namerequired | string | |
environmentrequired | "sandbox" | "production" | |
waba_idrequired | string | null | |
phone_number_idrequired | string | null | |
ig_business_account_idrequired | string | null | |
page_idrequired | string | null | |
provider_account_idrequired | string | null | |
payment_receiverrequired | object | null | |
payment_capabilitiesrequired | object | null | |
agentic_capabilitiesrequired | object | null | |
default_participant_idrequired | string | null | |
agent_idrequired | string | null | |
agentic_api_base_urlrequired | string | null | |
webhook_secret_configuredrequired | boolean | |
credential_last_four | string | null | |
token_sourcerequired | "manual" | "embedded_signup" | null | |
token_expires_atrequired | string<ISO-8601> | null | |
token_refreshed_atrequired | string<ISO-8601> | null | |
token_rotated_atrequired | string<ISO-8601> | null | |
created_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
updated_atrequired | string<ISO-8601> | pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
disconnected_atrequired | string<ISO-8601> | null |