/v1/private/llm-provider-key/auth-config/testTest a provider's dynamic token authRuns the token fetch once, backend-side, and reports the token lifetime. The token itself is never returned. Send provider_id to test the stored config, auth_config to test submitted values, or both to resolve secret sentinels against the stored config.
Request body
application/json
auth_configobjectDynamic token auth recipe. Send the '__SECRET__' sentinel as a credential value to keep the stored secret; send an empty object to clear the auth config.
Show child attributes
credentialsarray of objectFields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel
Show child attributes
Show array items
Fields sent to the token URL. Values flagged as secret are write-only: they read back as the '__SECRET__' sentinel
keystringrequiredsecretbooleanSecret values are encrypted at rest and never read back; once true it cannot be unset
valuestringexpires_fieldstringField holding the token lifetime in seconds in the reply; dot-path for nested replies
fallback_ttl_secondsinteger · int64Lifetime in seconds assumed when the reply doesn't state one, capped at one year; 0 disables caching for such replies. A reply-stated lifetime always wins
send_asstringHow credentials are sent: form body (default), JSON body, or basic auth (id/secret in an HTTP Basic header, remaining fields in the form body)
token_fieldstringField holding the token in the reply; dot-path for nested replies
token_urlstringAuth service URL the credentials are sent to
provider_idstring · uuidTest the stored auth config of this provider; also the sentinel-resolution target when auth_config is sent
{
"auth_config": {
"credentials": [
{
"key": "string",
"secret": "",
"value": "string"
}
],
"expires_field": "expires_in",
"fallback_ttl_seconds": 0,
"send_as": "basic",
"token_field": "access_token",
"token_url": "https://developer.api.example.com/authentication/v1/token"
},
"provider_id": "00000000-0000-0000-0000-000000000000"
}Responses
currentnumber · doublenamestringpreviousnumber · double{
"current": 0,
"name": "string",
"previous": 0
}codeinteger · int32detailsstringmessagestring{
"code": 0,
"details": "string",
"message": "string"
}codeinteger · int32detailsstringmessagestring{
"code": 0,
"details": "string",
"message": "string"
}codeinteger · int32detailsstringmessagestring{
"code": 0,
"details": "string",
"message": "string"
}codeinteger · int32detailsstringmessagestring{
"code": 0,
"details": "string",
"message": "string"
}