Skip to main content
POST
/
merchant
/
session
/
new_session
New Checkout Session
curl --request POST \
  --url https://api.unibee.dev/merchant/session/new_session \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "<string>",
  "address": "<string>",
  "cancelUrl": "<string>",
  "externalUserId": "<string>",
  "firstName": "<string>",
  "lastName": "<string>",
  "password": "<string>",
  "phone": "<string>",
  "returnUrl": "<string>"
}
'
{
  "code": 123,
  "data": {
    "clientSession": "<string>",
    "clientToken": "<string>",
    "email": "<string>",
    "externalUserId": "<string>",
    "url": "<string>",
    "userId": "<string>"
  },
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Endpoint Overview

POST https://api.unibee.dev/merchant/session/new_session New session for hosted checkout or client portal. You can create user and get ClientSession from here, then append it to the checkout link (copied from Admin Portal Plan) as a query parameter, e.g. https://cs.unibee.dev/hosted/checkout?planId=253&env=prod&session=${clientSession}

Authorization

All UniBee Merchant API requests require authentication via API key.
HeaderRequiredDescription
AuthorizationYesBearer <your_api_key>
Content-TypeYesapplication/json (for request body)

Parameters

Parameters for this endpoint are listed below. The schema is also shown in the Try it panel.

Request body

NameTypeRequiredDescription
addressstringNoAddress
cancelUrlstringNoCancelUrl, back to cancelUrl if checkout cancelled
emailstringYesEmail
externalUserIdstringNoExternalUserId
firstNamestringNoFirst Name
lastNamestringNoLast Name
passwordstringNoPassword
phonestringNoPhone
returnUrlstringNoReturnUrl, back to returnUrl if checkout completed

Request examples

cURL

curl -X POST "https://api.unibee.dev/merchant/session/new_session" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "address": "",
  "cancelUrl": "https://example.com",
  "email": "user@example.com",
  "externalUserId": "id_example",
  "firstName": "",
  "lastName": "",
  "password": "",
  "phone": "",
  "returnUrl": "https://example.com"
}'

Sandbox

curl -X POST "https://api-sandbox.unibee.top/merchant/session/new_session" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "address": "",
  "cancelUrl": "https://example.com",
  "email": "user@example.com",
  "externalUserId": "id_example",
  "firstName": "",
  "lastName": "",
  "password": "",
  "phone": "",
  "returnUrl": "https://example.com"
}'

Response

Success responses return a JSON envelope with code, data, message, redirect, and requestId. code 0 indicates success.
FieldTypeDescription
codeintegerResponse code. 0 = success
dataobjectResponse payload
data.clientSessionstringClientSession
data.clientTokenstringClientToken
data.emailstringEmail
data.externalUserIdstringExternalUserId
data.urlstringUrl
data.userIdstringUserId
messagestringHuman-readable message
requestIdstringRequest ID for support

Error handling

HTTP statusMeaning
400Bad request — invalid or missing parameters. Check message in the body.
401Unauthorized — missing or invalid API key.
404Not found — invalid path or resource.
500Server error — retry with backoff.
When code in the response body is non-zero, check message for details. Use requestId when contacting support.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

New session for hosted checkout or client portal. You can create user and get ClientSession from here, then append it to the checkout link (copied from Admin Portal Plan) as a query parameter, e.g. https://cs.unibee.dev/hosted/checkout?planId=253&env=prod&session=${clientSession}

email
string<string>
required

Email

address
string<string>

Address

cancelUrl
string<string>

CancelUrl, back to cancelUrl if checkout cancelled

externalUserId
string<string>

ExternalUserId

firstName
string<string>

First Name

lastName
string<string>

Last Name

password
string<string>

Password

phone
string<string>

Phone

returnUrl
string<string>

ReturnUrl, back to returnUrl if checkout completed

Response

200 - application/json
code
integer<int>
data
object
merchantId
integer<int64>
message
string<string>
redirect
string<string>
requestId
string<string>