Create a hosted checkout session

Starts a deposit. OmiCloud creates the transaction, asks the
selected gateway for a hosted checkout, and returns the URL to send
your end user to. The end user pays on the gateway's page; OmiCloud
never touches the funds.

Omit gateway to let OmiCloud route. The response always says which
gateway was chosen.

Send an Idempotency-Key. A retried request with the same key returns
the original session instead of opening a second checkout.

The session expires at expiresAt. If nothing is deposited by then
the transaction is declined with declineReason: session_expired and
a session.expired event is sent.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required
^[0-9]+(\.[0-9]{1,8})?$

Decimal string. Up to 8 fractional digits. Never a float.

string
required
string
string
string

Force a gateway. Omit to let OmiCloud route.

string
length between 2 and 2
string

Your id for the end user. Strongly recommended — it drives routing and lets you search by user.

string
length ≤ 128

Your own reference. Stored, returned on every read and event, searchable. Never used for logic.

uri

Where the hosted page sends the end user afterwards. Domain must be allow-listed on your account.

metadata
object

Up to 20 string keys, 500 characters each. Returned as-is.

Headers
string
^[0-9]{4}-[0-9]{2}-[0-9]{2}$

Dated API version, e.g. 2026-09-01. Omit to use the version your API
key is pinned to. Only one version exists today; send the header
anyway so upgrades are a one-line change.

string
length ≤ 255

Any string up to 255 characters, unique per operator. A retry with the
same key and the same body returns the original response with
Idempotent-Replayed: true. The same key with a different body is
rejected with 409 IDEMPOTENCY_KEY_REUSED. Keys are remembered for 24 h.

Responses

Language
Credentials
Bearer
omi_live_… or omi_test_…
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json