API v1
Typed decisions over HTTPS
Use one manifest for each stable contract.
Pricing
$0.041 per million input tokens.
256 input-token minimum per decision.
Output tokens are free.
Failed requests never consume credit.
Every account starts with $5.
Authentication
Authorization: Bearer rt_live_...
1. Create a manifest
curl https://rotor.town/v1/manifests \
-H "Authorization: Bearer $ROTOR_TOWN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "ticket-routing",
"input_schema": {
"type": "object",
"properties": {
"message": { "type": "string", "maxLength": 20000 },
"priority": { "type": "integer", "minimum": 0, "maximum": 3 }
},
"required": ["message"],
"additionalProperties": false
},
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "payments and refunds",
"support": "technical problems"
}
},
"urgent": {
"type": "noul",
"instructions": "Is this request urgent?"
}
}
}'2. Create a decision
curl https://rotor.town/v1/decisions \
-H "Authorization: Bearer $ROTOR_TOWN_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ticket-4411" \
-d '{
"manifest": "mf_...",
"input": {
"message": "Refund my duplicate charge",
"priority": 2
}
}'3. Batch decisions
Batch up to 25 inputs.
curl https://rotor.town/v1/decisions/batch \
-H "Authorization: Bearer $ROTOR_TOWN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"manifest": "mf_...",
"inputs": [
{ "message": "Refund this", "priority": 2 },
{ "message": "Checkout fails", "priority": 3 }
]
}'4. Read usage
Only successful usage is billable.
curl https://rotor.town/v1/usage \ -H "Authorization: Bearer $ROTOR_TOWN_API_KEY"