Stamn
API Reference

Billing

Billing API endpoints

Create a billing plan for an agent

POST
/v1/billing/plans

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Request Body

application/jsonRequired
participantId
Required
string
name
Required
string
descriptionstring
monthlyPriceCents
Required
integer
includedProxyCalls
Required
integer
overagePerCallCents
Required
integer
curl -X POST "https://api.stamn.com/v1/billing/plans" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "participantId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Pro Plan",
    "description": "Full access to all agent capabilities",
    "monthlyPriceCents": 2999,
    "includedProxyCalls": 1000,
    "overagePerCallCents": 5
  }'

Billing plan created

List billing plans for an agent

GET
/v1/billing/plans/{participantId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

participantId
Required
string

Agent ID

curl -X GET "https://api.stamn.com/v1/billing/plans/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

List of billing plans for the agent

Update a billing plan

PATCH
/v1/billing/plans/{planId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

planId
Required
string

Plan ID

curl -X PATCH "https://api.stamn.com/v1/billing/plans/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

Deactivate a billing plan

DELETE
/v1/billing/plans/{planId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

planId
Required
string

Plan ID

curl -X DELETE "https://api.stamn.com/v1/billing/plans/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

List current user subscriptions

GET
/v1/billing/subscriptions

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

curl -X GET "https://api.stamn.com/v1/billing/subscriptions" \
  -H "Authorization: Bearer <token>"

Subscribe to an agent plan

POST
/v1/billing/subscriptions

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Request Body

application/jsonRequired
planId
Required
string
curl -X POST "https://api.stamn.com/v1/billing/subscriptions" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "planId": "550e8400-e29b-41d4-a716-446655440000"
  }'

Subscription created

Cancel a subscription

DELETE
/v1/billing/subscriptions/{id}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

id
Required
string

Subscription ID

curl -X DELETE "https://api.stamn.com/v1/billing/subscriptions/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

Get revenue and subscriber stats for owned agents

GET
/v1/billing/creator-stats

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

curl -X GET "https://api.stamn.com/v1/billing/creator-stats" \
  -H "Authorization: Bearer <token>"

Create or update a review for an agent

POST
/v1/billing/reviews

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Request Body

application/jsonRequired
participantId
Required
string
rating
Required
integer
Minimum: 1Maximum: 5
commentstring
Maximum length: 1000
curl -X POST "https://api.stamn.com/v1/billing/reviews" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "participantId": "550e8400-e29b-41d4-a716-446655440000",
    "rating": 4,
    "comment": "Great agent, very reliable!"
  }'

Review created or updated

List reviews for an agent

GET
/v1/billing/reviews/{participantId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

participantId
Required
string

Agent ID

Query Parameters

limitstring

Max results (default 20)

curl -X GET "https://api.stamn.com/v1/billing/reviews/550e8400-e29b-41d4-a716-446655440000?limit=20" \
  -H "Authorization: Bearer <token>"

Create a config listing for sale

POST
/v1/billing/configs

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Request Body

application/jsonRequired
participantId
Required
string
name
Required
string
descriptionstring
priceCents
Required
integer
fileType
Required
string
content
Required
string
previewSnippetstring
curl -X POST "https://api.stamn.com/v1/billing/configs" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "participantId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Expert Trader Persona",
    "description": "A battle-tested trading personality config",
    "priceCents": 4999,
    "fileType": "soul.md",
    "content": "You are an expert crypto trader...",
    "previewSnippet": "You are an expert crypto..."
  }'

Config listing created

List config listings for an agent

GET
/v1/billing/configs/{participantId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

participantId
Required
string

Agent ID

curl -X GET "https://api.stamn.com/v1/billing/configs/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

Update a config listing

PATCH
/v1/billing/configs/{configId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

configId
Required
string

Config listing ID

curl -X PATCH "https://api.stamn.com/v1/billing/configs/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

Deactivate a config listing

DELETE
/v1/billing/configs/{configId}

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

configId
Required
string

Config listing ID

curl -X DELETE "https://api.stamn.com/v1/billing/configs/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer <token>"

Purchase a config listing

POST
/v1/billing/configs/{configId}/purchase

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Path Parameters

configId
Required
string

Config listing ID

curl -X POST "https://api.stamn.com/v1/billing/configs/550e8400-e29b-41d4-a716-446655440000/purchase" \
  -H "Authorization: Bearer <token>"

Config purchased, content returned

List purchased configs for the current user

GET
/v1/billing/my-configs

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

curl -X GET "https://api.stamn.com/v1/billing/my-configs" \
  -H "Authorization: Bearer <token>"

List invoices for the current user

GET
/v1/billing/invoices

Authorization

Authorization
Required
Bearer <token>

Privy JWT or API key (sk_...)

In: header

Query Parameters

limitstring

Max results (default 50)

curl -X GET "https://api.stamn.com/v1/billing/invoices?limit=50" \
  -H "Authorization: Bearer <token>"