Set the OAuth integration
PUT/v1/settings/integrations/oauth
Sets your brand’s customer-authentication (OAuth) integration: the full group in one write.
Behavior
- A present group always replaces the stored one wholly.
- The client secret is write-only: stored by reference, never returned.
Omit
client_secretto keep the stored one; HTTP 400secret_value_requiredwhen there is none to keep. - A write that changes
token_urlorissuer_urlmust carryclient_secret: the stored secret is only ever sent to the token endpoint it was supplied for. HTTP 400code1061 at/client_secretwhen the field is omitted; the message names the endpoint that moved.authorize_url,redirect_uri,client_idandscopemay change with the secret omitted. - An operator-attributed write (
X-Cerebro-Operatorhonoured) may not changeissuer_url,authorize_url,token_urlorredirect_urionce a group is stored: HTTP 403code2057 withparamnaming the first changed field, in that order. Make the write with the brand key alone, carrying the secret. An operator’s first write, and an operator write that changes onlyclient_idorscope, is allowed.
Body ParametersJSON
client_secret: optional string
WRITE-ONLY. The OAuth client secret. Stored by reference in the secret
store: no read ever returns it. ABSENT keeps the secret the stored
group already holds; on a first write it is required
(400 secret_value_required), and so is it on any write that changes
token_url or issuer_url: the stored secret is never sent to a token
endpoint chosen after it was supplied.
Set the OAuth integration
curl https://messages.api.linqapp.com/v1/settings/integrations/oauth \
-X PUT \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $LINQ_AMB_API_KEY" \
-d '{
"authorize_url": "https://id.example.com/authorize",
"client_id": "curbfare-messages",
"issuer_url": "https://id.example.com",
"redirect_uri": "https://auth.example.com/auth/callback",
"scope": "openid",
"token_url": "https://id.example.com/token"
}'{
"brand_id": "biz_9f2c1a",
"display": "CurbFare",
"privacy_policy_url": "https://example.com/privacy",
"terms_of_use_url": "https://example.com/terms",
"policy_version": 3,
"support_contact": "[email protected]",
"richlink_default_image_att_id": "",
"agent_enabled": true,
"escalation_handling": "self_managed",
"escalation_handling_locked": false,
"consent_mode": "linq_managed",
"business_id": "a884eddf-b0ad-4be4-9c0e-071531638768",
"link_origin": "connect",
"managed": [
{
"name": "apple_pay_merchant",
"value": "not configured",
"managed_by": "linq",
"set": false,
"source": "platform"
},
{
"name": "app_extensions",
"value": "none registered",
"managed_by": "linq",
"set": false,
"source": "platform"
},
{
"name": "oauth",
"value": "configured",
"managed_by": "linq",
"set": true,
"source": "brand"
}
],
"app_extensions": {
"apps": {}
}
}Returns Examples
{
"brand_id": "biz_9f2c1a",
"display": "CurbFare",
"privacy_policy_url": "https://example.com/privacy",
"terms_of_use_url": "https://example.com/terms",
"policy_version": 3,
"support_contact": "[email protected]",
"richlink_default_image_att_id": "",
"agent_enabled": true,
"escalation_handling": "self_managed",
"escalation_handling_locked": false,
"consent_mode": "linq_managed",
"business_id": "a884eddf-b0ad-4be4-9c0e-071531638768",
"link_origin": "connect",
"managed": [
{
"name": "apple_pay_merchant",
"value": "not configured",
"managed_by": "linq",
"set": false,
"source": "platform"
},
{
"name": "app_extensions",
"value": "none registered",
"managed_by": "linq",
"set": false,
"source": "platform"
},
{
"name": "oauth",
"value": "configured",
"managed_by": "linq",
"set": true,
"source": "brand"
}
],
"app_extensions": {
"apps": {}
}
}