Skip to main content
Version: v0.1.4-beta.2

AI Credentials API

Use the AI Credentials API to store provider credentials server-side and reference masked credential IDs from AI tasks.

Operations​

MethodPathSummary
GET/ai/credentialslistCredentials
POST/ai/credentialscreateCredential
DELETE/ai/credentials/{id}deleteCredential
GET/ai/credentials/{id}getCredential
GET/ai/credentials/{id}/validisCredentialValid
GET/ai/credentials/availablelistAvailableCredentials

GET /ai/credentials​

PropertyValue
Operation IDlistCredentials
AuthBearer token required unless security is disabled.
Response DTOAICredentialResponseDto[]

Example request​

curl -X GET "http://localhost:8080/ai/credentials" \
-H "Authorization: Bearer $TOKEN"

Responses​

StatusDescriptionSchema
200OKAICredentialResponseDto[]

Example response​

Status: 200 OK

[
{
"id": "3f3c7af7-34ae-4dd4-96e4-cbcba52c6b8f",
"name": "customer-support-openai",
"providerId": "openai",
"credentialType": "API_KEY",
"maskedToken": "sk-***...mple",
"reference": "$CUSTOMER_SUPPORT_OPENAI",
"description": "Used by the customer-support agent",
"createdAt": "2026-06-17T10:00:00",
"updatedAt": "2026-06-17T10:00:00",
"lastUsedAt": null,
"permissions": []
}
]

POST /ai/credentials​

PropertyValue
Operation IDcreateCredential
AuthBearer token required unless security is disabled.
Request DTOAICredentialCreateRequestDto
Request content typeapplication/json
Response DTOAICredentialResponseDto

Request body​

RequiredContent typeDTO/schema
Yesapplication/jsonAICredentialCreateRequestDto

Example request body:

{
"name": "customer-support-openai",
"providerId": "openai",
"credentialType": "API_KEY",
"token": "sk-live-redacted-example",
"description": "Used by the customer-support agent",
"permissions": [
"agent:customer-support"
]
}

Example request​

curl -X POST "http://localhost:8080/ai/credentials" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "customer-support-openai",
"providerId": "openai",
"credentialType": "API_KEY",
"token": "sk-live-redacted-example",
"description": "Used by the customer-support agent",
"permissions": [
"agent:customer-support"
]
}'

Responses​

StatusDescriptionSchema
200OKAICredentialResponseDto

Example response​

Status: 200 OK

{
"id": "3f3c7af7-34ae-4dd4-96e4-cbcba52c6b8f",
"name": "customer-support-openai",
"providerId": "openai",
"credentialType": "API_KEY",
"maskedToken": "sk-***...mple",
"reference": "$CUSTOMER_SUPPORT_OPENAI",
"description": "Used by the customer-support agent",
"createdAt": "2026-06-17T10:00:00",
"updatedAt": "2026-06-17T10:00:00",
"lastUsedAt": null,
"permissions": []
}

GET /ai/credentials/available​

Lists credentials available for selection by AI and Agent Process configuration. The token is never returned; clients receive metadata, a masked token, and the stable reference.

curl -X GET "http://localhost:8080/ai/credentials/available" \
-H "Authorization: Bearer $TOKEN"

The response is an array of AICredentialResponseDto.

GET /ai/credentials/{id}​

PropertyValue
Operation IDgetCredential
AuthBearer token required unless security is disabled.
Response DTOAICredentialResponseDto

Parameters​

NameInRequiredTypeDescription
idpathYesstring

Example request​

curl -X GET "http://localhost:8080/ai/credentials/123" \
-H "Authorization: Bearer $TOKEN"

Responses​

StatusDescriptionSchema
200OKAICredentialResponseDto

Example response​

Status: 200 OK

{
"id": "3f3c7af7-34ae-4dd4-96e4-cbcba52c6b8f",
"providerId": "openai",
"credentialType": "API_KEY",
"maskedToken": "sk-***...mple",
"createdAt": "2026-06-17T10:00:00",
"updatedAt": "2026-06-17T10:00:00",
"lastUsedAt": null,
"permissions": []
}

DELETE /ai/credentials/{id}​

PropertyValue
Operation IDdeleteCredential
AuthBearer token required unless security is disabled.
Response DTONo body

Parameters​

NameInRequiredTypeDescription
idpathYesstring

Example request​

curl -X DELETE "http://localhost:8080/ai/credentials/123" \
-H "Authorization: Bearer $TOKEN"

Responses​

StatusDescriptionSchema
200OK-

Example response​

Status: 204 No Content

No response body.

GET /ai/credentials/{id}/valid​

PropertyValue
Operation IDisCredentialValid
AuthBearer token required unless security is disabled.
Response DTOMap<String, Boolean>

Parameters​

NameInRequiredTypeDescription
idpathYesstring

Example request​

curl -X GET "http://localhost:8080/ai/credentials/123/valid" \
-H "Authorization: Bearer $TOKEN"

Responses​

StatusDescriptionSchema
200OKobject

Example response​

Status: 200 OK

{
"valid": true
}