Overview
POST/persona/servicespersona

Create an LLM provider connection

Create a record in services.

Auth: bearerAuth — calls run as the authenticated user.

Request body

application/json · optional

  • templateIdoptionalstring
  • namestring
  • providerKind"openai" | "anthropic" | "gemini"
  • baseUrlstring
  • apiKeyoptionalstring

    Plaintext provider key; stored, never returned

  • connectionSpecoptionalProviderConnectionSpec
Example
{
  "templateId": "string",
  "name": "string",
  "providerKind": "openai",
  "baseUrl": "string",
  "apiKey": "string",
  "connectionSpec": {
    "specVersion": 1,
    "urlVars": [
      {
        "name": "string",
        "label": "string",
        "example": "string",
        "secret": true
      }
    ],
    "headerVars": [
      {
        "header": "string",
        "label": "string",
        "example": "string",
        "secret": true
      }
    ],
    "auth": {
      "type": "bearer",
      "header": "string",
      "scheme": "bearer",
      "region": "string",
      "tokenUrl": "string"
    },
    "defaultQuery": {},
    "extraHeaders": {}
  }
}
Responses
201

Persona service (redacted)

  • idstring
  • templateIdoptionalstring?
  • providerKindstring
  • namestring
  • baseUrlstring
  • hasApiKeyboolean
  • connectStatusstring
  • connectErroroptionalstring?
  • lastConnectedAtoptionalstring?
  • documentationUrloptionalstring?
  • statusUrloptionalstring?
  • modelsPersonaServiceModel[]
  • modelsFetchedAtoptionalstring?
Example
{
  "id": "string",
  "templateId": "string",
  "providerKind": "string",
  "name": "string",
  "baseUrl": "string",
  "hasApiKey": true,
  "connectStatus": "string",
  "connectError": "string",
  "lastConnectedAt": "string",
  "documentationUrl": "string",
  "statusUrl": "string",
  "models": [
    "string"
  ],
  "modelsFetchedAt": "string"
}
400

Error

  • erroroptionalobject
Example
{
  "error": {
    "message": "string",
    "code": "string"
  }
}
401

Error

  • erroroptionalobject
Example
{
  "error": {
    "message": "string",
    "code": "string"
  }
}
Code examples
cURL
curl -X POST "https://api.agenticdeveloperhub.com/persona/services" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "string",
  "name": "string",
  "providerKind": "openai",
  "baseUrl": "string",
  "apiKey": "string",
  "connectionSpec": {
    "specVersion": 1,
    "urlVars": [
      {
        "name": "string",
        "label": "string",
        "example": "string",
        "secret": true
      }
    ],
    "headerVars": [
      {
        "header": "string",
        "label": "string",
        "example": "string",
        "secret": true
      }
    ],
    "auth": {
      "type": "bearer",
      "header": "string",
      "scheme": "bearer",
      "region": "string",
      "tokenUrl": "string"
    },
    "defaultQuery": {},
    "extraHeaders": {}
  }
}'
JavaScript
const res = await fetch("https://api.agenticdeveloperhub.com/persona/services", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json"
  },
  body: "{\n  \"templateId\": \"string\",\n  \"name\": \"string\",\n  \"providerKind\": \"openai\",\n  \"baseUrl\": \"string\",\n  \"apiKey\": \"string\",\n  \"connectionSpec\": {\n    \"specVersion\": 1,\n    \"urlVars\": [\n      {\n        \"name\": \"string\",\n        \"label\": \"string\",\n        \"example\": \"string\",\n        \"secret\": true\n      }\n    ],\n    \"headerVars\": [\n      {\n        \"header\": \"string\",\n        \"label\": \"string\",\n        \"example\": \"string\",\n        \"secret\": true\n      }\n    ],\n    \"auth\": {\n      \"type\": \"bearer\",\n      \"header\": \"string\",\n      \"scheme\": \"bearer\",\n      \"region\": \"string\",\n      \"tokenUrl\": \"string\"\n    },\n    \"defaultQuery\": {},\n    \"extraHeaders\": {}\n  }\n}",
});
const data = await res.json();