Skip to content

Create Endpoint Route

POST
/v1/admin/forge-endpoints
curl --request POST \
--url http://localhost:8080/v1/admin/forge-endpoints \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "backend": "anthropic", "model": "example", "base_url": "example", "aws_region": "example", "gcp_project": "example", "gcp_region": "example", "credentials": { "api_key": "example", "access_key_id": "example", "secret_access_key": "example", "session_token": "example", "service_account_json": "example" }, "default_max_budget_usd": 1, "default_max_turns": 1, "is_default_for_tenant": false, "tenant_id": "example" }'
Media type application/json
CreatePayload
object
name
required
Name
string
>= 1 characters <= 128 characters /^[A-Za-z0-9 _\-./]+$/
backend
required
Backend
string
Allowed values: anthropic bedrock vertex custom_url
model
required
Model
string
>= 1 characters <= 256 characters
base_url
Any of:
string
<= 2048 characters
aws_region
Any of:
string
<= 64 characters
gcp_project
Any of:
string
<= 128 characters
gcp_region
Any of:
string
<= 64 characters
credentials
required
_CredentialsPayload

Backend-tagged credentials. Validated server-side.

The shape is union-y: api_key for anthropic / custom_url, access_key_id/secret_access_key/session_token? for bedrock, service_account_json for vertex. We intentionally don’t typedef each combination — server validates per backend.

object
api_key
Any of:
string
<= 4096 characters
access_key_id
Any of:
string
<= 256 characters
secret_access_key
Any of:
string
<= 4096 characters
session_token
Any of:
string
<= 8192 characters
service_account_json
Any of:
string
<= 32000 characters
default_max_budget_usd
Any of:
number
> 0 <= 10000
default_max_turns
Any of:
integer
>= 1 <= 10000
is_default_for_tenant
Is Default For Tenant
boolean
tenant_id
Any of:
string
<= 128 characters

Successful Response

Media type application/json
Response Create Endpoint Route V1 Admin Forge Endpoints Post
object
key
additional properties
any
Example generated
{}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}