Outpost logoOutpost Docs

Overview

Every endpoint, schema, and error, generated from the OpenAPI document.

Get a paginated list of tenants

Create a new tenant

Get details for a specific tenant

Delete a tenant

Update a tenant

Create a new project under a tenant

Get a paginated list of projects

Get details for a specific project

Update a project

Delete a project

List a project's webhook configs

Add a webhook config to a project

Get a single webhook config by id

Partially update a webhook config

Delete a webhook config

Replace a webhook config

List a project's API keys

Create an API key for a project

Creates a project-scoped API key. The plaintext key is returned exactly once, in this response — only its hash is stored, so it cannot be retrieved again.

Delete an API key from a project

Get a paginated list of phone numbers

Validate a phone number without adding it to the phone book

Returns the cached Pinpoint PhoneNumberValidate result, or calls Pinpoint and caches it. Does not create a phone-book row. Returns 429 when every configured Pinpoint region throttles, and does not cache that outcome.

Get the full ISO 3166-1 alpha-2 country list for phone filtering

Static list of every ISO 3166-1 alpha-2 country code and English name — not a deliverability restriction.

Get details for a specific phone number

Enqueue SMS messages

Queues one or more SMS messages for delivery and returns 202 before they are sent. Delivery outcomes arrive asynchronously — subscribe to a webhook config on the project to receive them. Partial success is normal: each item is evaluated independently and lands in `accepted`, `rejected` (e.g. invalid number, opted out), or `errors`. A 2xx therefore does not mean every item was accepted — always check the per-item arrays.

Get a single message by ID

Get messages for a specific phone number

Get messages for a specific communication

Retry a failed message

Get a single event by ID

Get all events for a specific message

Get all events for a specific phone number

Get all events for a specific phone number with pagination and filters

Opt a phone number out of receiving messages

Opt a phone number back in to receiving messages

Get a paginated list of communications

Get details for a specific communication

Get details for a specific communication including stats

Get a paginated list of campaigns

Get details for a specific campaign

Get details for a specific campaign including stats

Get the origination pool and its summary

Get the configured End User Messaging pool metadata and a summary of numbers (by country)

List numbers in the origination pool

List origination identities (numbers) in the configured End User Messaging pool

Run a free-form stats query

Free-form stats query — discriminated union of getMetric, getMetricRange, getTotalMetric, getMetricAcrossDimension

Get the outpost-wide stats overview

Get outpost-wide stats overview with all-time totals and chart-ready message/cost series

Get a tenant's stats overview

Get tenant-specific stats overview with all-time totals and chart-ready message/cost series

Get a project's stats overview

Get project-specific stats overview with all-time totals and chart-ready message/cost series

Get a communication's stats overview

Get communication-specific stats overview with all-time totals and chart-ready message/cost series

Get a campaign's stats overview

Get campaign-specific stats overview with all-time totals and chart-ready message/cost series

Get activity dashboard statistics

Get message volume over a time range

Get message volume chart data (delivered/failed/blocked) over a time range

Get phone counts grouped by country

Get phone counts grouped by country for geo map visualization

Get top communications by metric

Get top communications by metric (message count or cost), enriched with entity data

Get top campaigns by metric

Get top campaigns by metric (message count or cost), enriched with entity data

Start the SSO login flow

Start the LXS SSO login flow (redirects to the LXS authorize endpoint)

Complete the SSO login flow

LXS OAuth callback — exchanges the code and mints the session cookie

Return the identity of the current SSO session

Clear the SSO session cookie

Outpost event delivery

Delivered when a subscribed event occurs for a project. Every event type uses this same request shape — switch on the `x-outpost-event` header, or on `eventType` in the body, rather than on the URL. Subscribe by adding a webhook config to the project (`POST /v1/projects/{projectId}/webhook-configs`) whose `subscriptions` list the events you want: - **Message events** (`subscriptions.messageEvents`): `QUEUED`, `PROVIDER_ACCEPTED`, `PROVIDER_FAILED`, `SENT`, `CARRIER_ROUTING`, `DELIVERED`, `FAILED`, `ATTEMPT_FAILED`, `BLOCKED`, `CARRIER_ERROR`, `MAX_ATTEMPTS_REACHED`, `ACTIVE_ATTEMPTS`, `PHONE_NOT_FOUND`, `NO_SEND_OPT_OUT`, `VALIDATION_FAILED` - **Phone events** (`subscriptions.phoneEvents`): `OPTED_OUT`, `OPTED_IN` `MESSAGE`-category deliveries carry a `message` object loaded fresh at delivery time; `PHONE`-category deliveries carry a `phone` object. Either is omitted if the source entity can no longer be loaded.