Create an instance
POSThttps://app.shuttleglobal.com/c/api/instances
Create a new merchant instance
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
object
Your ID for the instance (unique to the application)
The name of the instance, typically company name
Domains where you embed the Shuttle checkout widget. Required to enable Apple Pay and Google Pay on those domains.
Only list domains where you embed checkout yourself (e.g., your platform pages). Shuttle automatically registers its own hosted pages (payment links, hosted checkout at app.shuttleglobal.com). If you only use Shuttle-hosted payment pages, this field is not needed.
The contact email for the instance
The contact name for the instance
The contact phone for the instance
The country for the instance
Enterprise only - an array of legal entities that can receive payment
object
Your ID for the entity (alphanumeric _ -, no spaces)
The name of the entity
The 2 digit ISO code of the country in which it is incorporated
The merchant’s display name, used for Apple Pay and Click to Pay registration. Falls back to name if not set.
Template for generating transaction references. Must contain at least one of:
#TRANSACTIONKEY#— a zero-left-padded 8-digit number, incrementing per instance from 10000 (e.g.,00010000,00010001). Not globally unique.#TRANSACTIONID#— the same sequence number (unpadded) prefixed with the instance’s client ID (e.g.,1234_10000). Globally unique.
Example: INV-#TRANSACTIONKEY#
Note: Some gateways require transaction references to be unique across all connections. If you are connecting multiple Shuttle instances to the same gateway account, use a unique prefix per instance (e.g., MERCHANT1-#TRANSACTIONKEY#) to avoid collisions. Alternatively, use #TRANSACTIONID# which is globally unique and requires no prefix.
Some gateways also impose a maximum length on transaction references. If the formatted reference exceeds the gateway’s limit, it will be front-trimmed – only the trailing characters are kept. Keep this in mind when designing long prefixes.
Generates a per-instance API key that allows the merchant to authenticate directly against their instance without requiring the platform’s application credentials. Set to "NEW" to auto-generate a key.
On update: pass "NEW" to rotate the key, false or "" to clear it, or true to leave the existing key unchanged.
True if the user manually accepted the T&Cs - do not populate this unless you have collected proof of this
Responses
Section titled “Responses”Successful operation
object
object
Shuttle’s ID for the instance (globally unique)
The name of the instance, typically company name
Your ID for the instance (unique to the application)
The status of the instance, typically ACTIVE or INACTIVE
The application the instance was created in
Domains where you embed the Shuttle checkout widget, used for Apple Pay and Google Pay domain registration.
The internal Shuttle ID for this instance
The contact email provided for the instance, used when providing support
The contact name provided for the instance, used when providing support
The contact phone provided for the instance, used when providing support
The country provided for the instance
The date the instance was created
The custom domain for this instance
A list of domains this instance is available under
Either SANDBOX or LIVE
Enterprise only features
The date of last contract creation
The date of last transaction creation
The merchant’s display name
A map of user defined key value pairs
object
The parent instance ID
Any private processors that have been made available to this instance
A list of connected processors
Template for generating transaction references. Contains #TRANSACTIONKEY# or #TRANSACTIONID#.
Enterprise only
Enterprise only
Custom retry schedule for errored payments (array of delays in milliseconds)
Custom retry schedule for declined payments (array of delays in milliseconds)
Per-instance API key for direct merchant authentication. Only returned when expand=secret_key is requested.
If the user manually accepted the T&Cs, the date they were accepted
The user_id of the user that accepted the terms and conditions
True if the user is required to accept the terms and conditions
The date the instance was terminated (status INACTIVE only)
The date the instance was last updated
The version of the record
The webhook target URL for this instance. Replaces the application-level webhook destination for this instance – events are not sent to both. Supports retry, failover, and fan-out configuration. See Webhook Destinations.
Bad request
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Unauthorized
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Example
{ "code": "UNAUTHORIZED", "message": "Unauthorised"}Was this page helpful?
What went wrong?
Thanks for telling us.