Skip to main content
POST
Create Payer Name
Submits a payer name — the name your beneficiary sees on a payout — for review. The submission lands in the same review queue as one made in the dashboard.
Request bodies here are snake_case (display_name, entity_type); responses are camelCase (name, type). Payouts use a third spelling, payerNameId, in line with the rest of Withdraw Funds.

Example Request (business, JSON)

Use JSON when your account does not require supporting documents, or when you will attach them in a second call.

Example Request (individual, with documents)

Send multipart/form-data to submit the name and its documents in one round trip. Repeat the documents field once per file; documentDescriptions labels them positionally.
Multipart fields all arrive as text, so metadata cannot be sent this way — it is rejected with a 400. Submit with documents first, then set metadata with Update Payer Name.

Example Response

Fields

Documents are read by Rolla’s reviewers only. They are stored privately, are never forwarded to a payout rail, and are served through signed links that expire after an hour.

After you submit

The name comes back as pending_review and is not usable yet. Review resolves it to approved (from which it moves on to registration), changes_requested, or rejected — subscribe to the payer name webhook events rather than polling. The full lifecycle is in the Named Payouts guide.
In sandbox, a submission is approved and activated immediately and comes back as active, so you can exercise attaching it to a payout without waiting on a reviewer.

Errors

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Body

A payer name submission. Field names are snake_case.

entity_type
enum<string>
required

Whether the payer is a company or a person.

Available options:
individual,
business
Example:

"business"

display_name
string
required

The name the beneficiary sees. Must be unique among your payer names that are in review or approved, compared case-insensitively.

Required string length: 1 - 255
Example:

"Acme Trading Ltd"

country
string
required

The payer's country. ISO 3166-1 alpha-2, or a country name we can resolve to one. Anything that does not resolve to two letters is rejected with a 400.

Required string length: 1 - 100
Example:

"NG"

address_line
string
required
Required string length: 1 - 500
Example:

"14 Marina Road"

city
string
required
Required string length: 1 - 120
Example:

"Lagos"

state_province
string
required
Required string length: 1 - 120
Example:

"Lagos"

first_name
string | null

Individuals only. Send the name already split rather than letting us guess where to split it.

Maximum string length: 120
last_name
string | null

Individuals only.

Maximum string length: 120
registration_number
string | null

Company registration number, or a government ID number for an individual.

Maximum string length: 120
Example:

"RC1234567"

registration_date
string | null

YYYY-MM-DD.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2019-04-02"

postal_code
string | null
Maximum string length: 32
Example:

"101001"

metadata
object

Flat key/value data of your own, echoed back on responses and webhooks. Keys are at most 64 characters; values may be strings (max 500 characters), numbers or booleans. JSON requests only — a multipart request cannot carry it.

Example:

Response

Payer name submitted for review. In sandbox the message is Payer name created and the name comes back as active.

status
integer

HTTP status code, repeated in the body

Example:

201

message
string
Example:

"Payer name submitted for review"

success
boolean
Example:

true

data
object

A payer name: the name a beneficiary sees on a payout you send. Responses are camelCase; request bodies are snake_case.