Skip to content
Last updated

Onboard a new client

Prerequisites

  • A valid API key for your parent account — see Obtain API credentials
  • The parent_id of the account under which the new client will be created

Onboarding flow

image

Step 1: Create the client account

Send POST /v1/clients with the client details.

FieldRequiredDescription
dbaYesDoing-business-as name
parent_idYesID of the parent client or reseller account
typeYesmerchant or reseller
admin_contact_details.first_nameYesAdmin first name
admin_contact_details.last_nameYesAdmin last name
admin_contact_details.emailYesAdmin email address
admin_contact_details.phoneYesAdmin phone number
admin_contact_details.time_zoneYesIANA time zone (for example, America/New_York)
curl -X POST \
  https://api.dev.paradisegateway.net/v1/clients \
  -H "Content-Type: application/json" \
  -H "APIKEY: YOUR-API-KEY" \
  -d '{
    "dba": "Acme Jewelry",
    "parent_id": "CLIENT-01JMRSPCK7XVNP3KS8F2W4T6Y",
    "type": "merchant",
    "admin_contact_details": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "phone": "+15551234567",
      "time_zone": "America/New_York"
    }
  }'

Response example

A 200 response returns the new client, including credentials for the client's own API access.

{
  "id": "CLIENT-3MtwBwLkdIwHu7ix28a3tqPa",
  "object": "client",
  "dba": "Acme Jewelry",
  "parent_id": "CLIENT-01JMRSPCK7XVNP3KS8F2W4T6Y",
  "type": "merchant",
  "admin_contact_details": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "phone": "+15551234567",
    "time_zone": "America/New_York"
  },
  "api_key": "KEY-...",
  "encryption_keys": { ... },
  "correlation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
Store credentials securely

The api_key and encryption_keys are returned only in the creation response. Store them in a secrets manager and provide them to the client through a secure channel.

Save the id value — you need it in the next step.

Step 2: Create the first user

Send POST /v1/users to create a user account linked to the new client.

FieldRequiredDescription
first_nameYesUser's first name
last_nameYesUser's last name
emailYesUser's email (also used as username)
phoneNoUser's phone number
time_zoneNoIANA time zone
curl -X POST \
  https://api.dev.paradisegateway.net/v1/users \
  -H "Content-Type: application/json" \
  -H "APIKEY: KEY-..." \
  -d '{
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@example.com",
    "phone": "+15551234567",
    "time_zone": "America/New_York"
  }'

Response example for creating a user

A 201 Created response confirms the user was created.

{
  "id": "USER-3MtwBwLkdIwHu7ix28a3tqPa",
  "object": "user",
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@example.com",
  "phone": "+15551234567",
  "time_zone": "America/New_York",
  "is_mfa_active": false,
  "is_active": true,
  "is_locked": false,
  "correlation_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
}

Step 3: Verify the onboarding

Confirm the client and user exist by retrieving them.

# Verify client
curl https://api.dev.paradisegateway.net/v1/clients/CLIENT-3MtwBwLkdIwHu7ix28a3tqPa \
  -H "APIKEY: YOUR-API-KEY"

# Verify user
curl https://api.dev.paradisegateway.net/v1/users/USER-3MtwBwLkdIwHu7ix28a3tqPa \
  -H "APIKEY: KEY-..."

Next steps