Skip to main content
POST
Create Outlet
Auth method: Signed (HMAC) — this endpoint requires the full set of signed headers: x-access-id, x-request-id, x-timestamp, and an HMAC-SHA256 authorization signature. See Authentication.
Creates an outlet (also called an agent or sub-business) under your merchant account. Outlets let you separate sales by store, channel or team, each with its own default fiat currency. You can create two outlet types through the API:
Physical point-of-sale (pos) outlets can’t be created through the API. Create them from the Tender merchant dashboard.
Agent endpoints share a limit of 120 requests per minute. See Rate limits.

Headers

string
required
Base64-encoded HMAC-SHA256 signature of {"timeStamp":"<x-timestamp>","requestId":"<x-request-id>","accessId":"<x-access-id>"}, signed with your access secret. The request body is not part of the signature.Example: "pV3n0o8kq0lK2mJ8bZ1yq3Yt6hR0cXK9u4mVJ2l9sE0="
string
required
ISO 8601 timestamp; must be within 5 minutes of server timeExample: "2026-10-15T09:45:53.000Z"
string
required
A unique UUID v4 per requestExample: "550e8400-e29b-41d4-a716-446655440000"
string
required
Your API access ID provided by TenderExample: "your-access-id-here"
string
required
Media type of the request bodyExample: "application/json"

Body

string
default:"online"
Outlet type: online or whatsapp. Defaults to online.Example: "online"
string
required
Display name of the outletExample: "Lagos Fashion Store"
string
How the outlet will be used. Required for online and whatsapp outlets. One of Woocommerce, Webhook, API integration, Shopify, Wix, Squarespace or Whatsapp. For whatsapp outlets it must be Whatsapp.Example: "API integration"
string
Location of the outlet. Required for online outlets.Example: "Lagos"
string
Country of the outlet. Required for online outlets.Example: "Nigeria"
string
Phone number in E.164 format: a +, the country code and the number, with no spaces. Required for whatsapp outlets, and each WhatsApp number can belong to only one outlet. Optional for online outlets, but must be E.164 if sent.Example: "+2348012345678"
string
Email address of the outlet. Optional. Must be unique: an email already used by another outlet is rejected.Example: "lagosfashion@store.com"
string
default:"USD"
The outlet’s default fiat currency. Payments initiated for this outlet are priced in it. Must be a fiat currency Tender supports (see Fetch All Currencies with type=fiat). Defaults to USD.Example: "NGN"
string
URL of the outlet’s avatar image. Optional.Example: "https://example.com/avatar.png"
String fields are limited to 500 characters and may not contain $ \ ( ) < >.

Response

string
required
Status of the API requestExample: "success"
string
required
Human-readable message describing the resultExample: "success"
object
required
The new outlet

Errors

All errors return HTTP 400.

Example request

Example response

Authorizations

authorization
string
header
required

Signed (HMAC) authentication. Required headers: x-access-id, x-request-id (UUID v4), x-timestamp (ISO 8601, must be within 5 minutes of server time), and authorization: the Base64 HMAC-SHA256 of the JSON string {"timeStamp":"","requestId":"","accessId":""} (keys in that order, no whitespace) using your access secret. The request body, method and path are not signed. The API key must be linked to an outlet.

Headers

authorization
string
required

Base64-encoded HMAC-SHA256 signature of {"timeStamp":"<x-timestamp>","requestId":"<x-request-id>","accessId":"<x-access-id>"}, signed with your access secret. The request body is not part of the signature.

x-timestamp
string<date-time>
required

ISO 8601 timestamp; must be within 5 minutes of server time

x-request-id
string<uuid>
required

A unique UUID v4 per request

x-access-id
string
required

Your API access ID provided by Tender

Content-Type
string
required

Media type of the request body

Body

application/json

online outlets require location, country and outletIntent. whatsapp outlets require phoneNumber and outletIntent Whatsapp. POS outlets are created from the dashboard.

name
string
required
Maximum string length: 500
Example:

"Lagos Fashion Store"

type
enum<string>
default:online
Available options:
online,
whatsapp
outletIntent
enum<string>
Available options:
Woocommerce,
Webhook,
API integration,
Shopify,
Wix,
Squarespace,
Whatsapp
Example:

"API integration"

location
string
Maximum string length: 500
Example:

"Lagos"

country
string
Maximum string length: 500
Example:

"Nigeria"

phoneNumber
string

E.164

Pattern: ^\+[1-9]\d{7,14}$
Example:

"+2348012345678"

email
string<email>
Maximum string length: 500
Example:

"lagosfashion@store.com"

currency
string
default:USD
Example:

"NGN"

avatar
string
Maximum string length: 500

Response

Outlet created

status
string
Example:

"success"

message
string
Example:

"success"

data
object