v33

latestOpenAPI 3.1.0raw.githubusercontent.com2026-04-1770249709.0 KB
Customers

Create a customer

Creates a new customer record and automatically initiates identity, fraud, and risk assessment scores. This endpoint allows you to create a customer profile and associate it with paykeys and payments.

post/v1/customers

Headers

Straddle-Account-Idstring uuid

For use by platforms to specify an account id and set scope of a request.

Request-Idstring

Optional client generated identifier to trace and debug a request.

Correlation-Idstring

Optional client generated identifier to trace and debug a series of requests.

Idempotency-Keystring

Optional client generated value to use for idempotent requests.

Request body

namestring required

Full name of the individual or business name.

type'individual' | 'business' required
emailstring email required

The customer's email address.

phonestring required

The customer's phone number in E.164 format. Mobile number is preferred.

external_idstring nullable

Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems.

metadataobject nullable

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format.

Example request

{
  "name": "Ron Swanson",
  "email": "ron.swanson@pawnee.com",
  "address": {
    "address1": "123 Main St",
    "address2": "Apt 1",
    "city": "Anytown",
    "state": "CA",
    "zip": "12345"
  },
  "phone": "+12128675309",
  "compliance_profile": {
    "ssn": "123-45-6789",
    "dob": "1969-04-20"
  },
  "external_id": "customer_123",
  "device": {
    "ip_address": "192.168.1.1"
  }
}

Response

Created

response_type'object' | 'array' | 'error' | 'none' required

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.

Example response

{
  "data": {
    "name": "Ron Swanson",
    "email": "ron.swanson@pawnee.com",
    "phone": "+12128675309",
    "address": {
      "address1": "123 Main St",
      "address2": "Apt 1",
      "city": "Anytown",
      "state": "CA",
      "zip": "12345"
    },
    "compliance_profile": {
      "ssn": "***-**-****"
    },
    "device": {
      "ip_address": "192.168.1.1"
    }
  }
}