Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.

Body

application/json
channel
enum<string>
required
Available options:
email,
sms
saleId
string
Minimum string length: 1
transactionId
string
Minimum string length: 1
recipient
string
Minimum string length: 1

Response

The delivery outcome. A 200 means the request was PROCESSED, not that the customer received anything — read status. The example is the nominal sent outcome (ESP accepted, providerMessageId carries the correlation id); a keyless deployment instead returns the degraded { "status": "dry_run" } where the customer got NOTHING.

The delivery outcome. A 200 means the request was PROCESSED, not that the customer received anything — read status. The example is the nominal sent outcome (ESP accepted, providerMessageId carries the correlation id); a keyless deployment instead returns the degraded { "status": "dry_run" } where the customer got NOTHING.

status
enum<string>
required
Available options:
sent,
failed,
dry_run
providerMessageId
string
Minimum string length: 1