Overview
PUT/integrations/admin/configs/{providerId}integrations

Upsert a provider global config (admin)

Merges the non-secret config; a blank/absent clientSecret preserves the stored encrypted secret, a present one is encrypted at rest.

Auth: bearerAuth — calls run as the authenticated user.

Parameters
  • providerIdpathstring
Request body

application/json · optional

  • clientIdoptionalstring
  • scopesoptionalstring[]
  • authUrloptionalstring
  • tokenUrloptionalstring
  • userinfoUrloptionalstring
  • validateUrloptionalstring
  • credentialStyleoptional"form_body" | "basic_auth"
  • endpointsoptionalobject
  • clientSecretoptionalstring

    Blank/absent preserves the existing secret

Example
{
  "clientId": "string",
  "scopes": [
    "string"
  ],
  "authUrl": "string",
  "tokenUrl": "string",
  "userinfoUrl": "string",
  "validateUrl": "string",
  "credentialStyle": "form_body",
  "endpoints": {},
  "clientSecret": "string"
}
Responses
200

Masked provider config

  • providerIdstring
  • configobject

    Non-secret config: clientId, scopes, URLs, endpoints, credentialStyle

  • hasSecretboolean

    Whether a client secret is stored (the value is never returned)

  • updatedByoptionalstring?
  • updatedAtoptionalstring?
Example
{
  "providerId": "string",
  "config": {},
  "hasSecret": true,
  "updatedBy": "string",
  "updatedAt": "string"
}
400

Problem Details (RFC 9457)

  • typeoptionalstring

    URI identifying the problem type; 'about:blank' when unspecified

  • titlestring

    Short, human-readable summary of the problem type

  • statusinteger

    HTTP status code, duplicated in the body

  • detailoptionalstring

    Explanation specific to this occurrence

  • instanceoptionalstring

    URI reference for this occurrence (the request path)

Example
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}
401

Problem Details (RFC 9457)

  • typeoptionalstring

    URI identifying the problem type; 'about:blank' when unspecified

  • titlestring

    Short, human-readable summary of the problem type

  • statusinteger

    HTTP status code, duplicated in the body

  • detailoptionalstring

    Explanation specific to this occurrence

  • instanceoptionalstring

    URI reference for this occurrence (the request path)

Example
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}
403

Problem Details (RFC 9457)

  • typeoptionalstring

    URI identifying the problem type; 'about:blank' when unspecified

  • titlestring

    Short, human-readable summary of the problem type

  • statusinteger

    HTTP status code, duplicated in the body

  • detailoptionalstring

    Explanation specific to this occurrence

  • instanceoptionalstring

    URI reference for this occurrence (the request path)

Example
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}
404

Problem Details (RFC 9457)

  • typeoptionalstring

    URI identifying the problem type; 'about:blank' when unspecified

  • titlestring

    Short, human-readable summary of the problem type

  • statusinteger

    HTTP status code, duplicated in the body

  • detailoptionalstring

    Explanation specific to this occurrence

  • instanceoptionalstring

    URI reference for this occurrence (the request path)

Example
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}
Code examples
cURL
curl -X PUT "https://api.agenticdeveloperhub.com/integrations/admin/configs/{providerId}" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "clientId": "string",
  "scopes": [
    "string"
  ],
  "authUrl": "string",
  "tokenUrl": "string",
  "userinfoUrl": "string",
  "validateUrl": "string",
  "credentialStyle": "form_body",
  "endpoints": {},
  "clientSecret": "string"
}'
JavaScript
const res = await fetch("https://api.agenticdeveloperhub.com/integrations/admin/configs/{providerId}", {
  method: "PUT",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json"
  },
  body: "{\n  \"clientId\": \"string\",\n  \"scopes\": [\n    \"string\"\n  ],\n  \"authUrl\": \"string\",\n  \"tokenUrl\": \"string\",\n  \"userinfoUrl\": \"string\",\n  \"validateUrl\": \"string\",\n  \"credentialStyle\": \"form_body\",\n  \"endpoints\": {},\n  \"clientSecret\": \"string\"\n}",
});
const data = await res.json();