Documentation

DocsAPI ReferenceBilling & Organization

Billing & Organization API

Organization

GET/v1/me

Get current user session info.

TypeScript
// Requires JWT auth (console), not API key
curl
curl https://api.outreachagent.dev/v1/me \
  -H "Authorization: Bearer eyJhbG..."
GET/v1/organizations

List organizations the current user belongs to.

TypeScript
const orgs = await client.listOrganizations();
curl
curl https://api.outreachagent.dev/v1/organizations \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
GET/v1/organizations/:orgId/memberships

List team members and their roles.

TypeScript
// Requires JWT auth
curl
curl https://api.outreachagent.dev/v1/organizations/org_01/memberships \
  -H "Authorization: Bearer eyJhbG..."
GET/v1/organizations/:orgId/invitations

List pending invitations.

TypeScript
// Requires JWT auth
curl
curl https://api.outreachagent.dev/v1/organizations/org_01/invitations \
  -H "Authorization: Bearer eyJhbG..."
POST/v1/organizations/:orgId/invitations

Invite a team member.

ParameterTypeRequiredDescription
emailstringYesEmail to invite
rolestringYes"owner", "admin", or "member"
TypeScript
// Requires JWT auth
curl
curl -X POST https://api.outreachagent.dev/v1/organizations/org_01/invitations \
  -H "Authorization: Bearer eyJhbG..." \
  -H "Content-Type: application/json" \
  -d '{"email": "new@team.com", "role": "member"}'

Billing

GET/v1/billing/subscription

Get current subscription plan and status.

TypeScript
// Requires JWT auth
curl
curl https://api.outreachagent.dev/v1/billing/subscription \
  -H "Authorization: Bearer eyJhbG..."
GET/v1/billing/usage-counters

Get time-windowed usage metrics.

TypeScript
// Requires JWT auth
curl
curl https://api.outreachagent.dev/v1/billing/usage-counters \
  -H "Authorization: Bearer eyJhbG..."
POST/v1/billing/checkout-session

Create a Stripe checkout session to upgrade.

ParameterTypeRequiredDescription
tierstringYes"pro"
TypeScript
const session = await client.createCheckoutSession("pro");
// Redirect user to session.checkoutUrl
curl
curl -X POST https://api.outreachagent.dev/v1/billing/checkout-session \
  -H "Authorization: Bearer eyJhbG..." \
  -H "Content-Type: application/json" \
  -d '{"tier": "pro"}'
POST/v1/billing/portal-session

Create a Stripe customer portal session for managing billing.

TypeScript
// Requires JWT auth
curl
curl -X POST https://api.outreachagent.dev/v1/billing/portal-session \
  -H "Authorization: Bearer eyJhbG..."
GET/v1/metrics/summary

Deliverability metrics summary.

TypeScript
const metrics = await client.getMetricsSummary();
curl
curl https://api.outreachagent.dev/v1/metrics/summary \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
GET/v1/metrics/timeseries

Time-series deliverability data.

TypeScript
// Not yet available in SDK
curl
curl https://api.outreachagent.dev/v1/metrics/timeseries \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
GET/v1/api-keys

List API keys for the organization.

TypeScript
const keys = await client.listApiKeys();
curl
curl https://api.outreachagent.dev/v1/api-keys \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
POST/v1/api-keys

Create a new API key. Returns the full key once.

ParameterTypeRequiredDescription
namestringYesDescriptive name for the key
TypeScript
const key = await client.createApiKey("production-agent");
console.log(key.maskedKey); // "rm_live_...abc"
curl
curl -X POST https://api.outreachagent.dev/v1/api-keys \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "production-agent"}'
DELETE/v1/api-keys/:apiKeyId

Revoke an API key.

TypeScript
await client.revokeApiKey("key_abc123");
curl
curl -X DELETE https://api.outreachagent.dev/v1/api-keys/key_abc123 \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"