Skip to main content
POST
Create the organization Flutterwave subaccount

Authorizations

Authorization
string
header
required

Passport bearer token authentication for legacy admin sessions.

Body

application/json

Validated request fields for this operation.

account_bank
string
required

Provider bank code.

Example:

"044"

account_number
any
required

Required bank account identifier; this controller imposes no further type rule.

Example:

"EXAMPLE-ACCOUNT"

business_name
any
required

Required organization/business name.

Example:

"Example Nonprofit"

business_mobile
any
required

Required business contact phone.

Example:

"+2348000000000"

business_email
string<email>
required

Business contact mailbox.

Example:

"finance@example.org"

country
string
required

Provider setup country.

Example:

"NG"

Response

Operation result.

A Gratona client — the tenant of the multi-tenant system. Owns donors, entities, programs, users, and integrations. The client_id on every other resource scopes data to this row. Stripe Connect onboarding state, account-level settings, and the client's display name all live here.

id
integer<int64>
required

Internal client ID — referenced by every multi-tenant resource.

Example:

207

organization
string
required

Display name of the organization.

Example:

"Gratona Demo Org"

website
string | null

Organization website.

Example:

"https://demo.gratona.com"

email
string<email> | null

Primary contact email for the organization.

Example:

"hello@demo.gratona.com"

stripe_connect_id
string | null

Stripe Connect account id once onboarding completes; null until the org has finished Stripe onboarding.

Example:

"acct_1OqXXXXX"

previous_stripe_connect_id
string | null

Prior Stripe Connect account id, kept around when the client migrates between Connect accounts.

Example:

null

completed_stripe_onboarding
boolean

Whether the org has finished the Stripe Connect onboarding flow and can accept Stripe payments.

Example:

true

date_format
enum<string>

Stored organization date-format setting token. API and admin surfaces resolve this token to the corresponding display pattern.

Available options:
m-d-Y,
d-m-Y,
Y-m-d
Example:

"Y-m-d"

timezone
string | null

Computed accessor: client timezone derived from settings.

Example:

"America/Chicago"

custom
object | null

Legacy free-form JSON column for arbitrary client-level configuration.

frequency
object | null

Legacy frequency configuration for billing / payment plans (JSON).

custom_start_date
string | null

Legacy billing custom start date marker.

Example:

null

custom_amount
number<float> | null

Legacy billing custom amount marker.

Example:

null

created_at
string<date-time>
Example:

"2024-06-01T12:00:00Z"

updated_at
string<date-time>
Example:

"2026-01-01T00:00:00Z"