Skip to main content
POST
Create a wallet
The wallet starts PENDING, with no bank account details yet, and becomes ACTIVE once provisioned — usually within seconds; only then can it hold balances and move money. It is shared with the users in shared, or, when you omit it, with you alone as OWNER; users who aren’t members of the organization are left out. A PERSONAL wallet can’t be created while its first OWNER already has an ACTIVE, PENDING or BLOCKED one in the account. Send x-environment: LIVE to create a production wallet. The account must be open in the environment, and its wallet limit, when it has one, counts every wallet it ever had — closed ones included. Only organization admins can create wallets.

Headers

x-environment
enum<string>

Environment to create the wallet in: LIVE (production) or TEST (sandbox). When you omit it, the wallet is created in TEST; any other value is rejected.

Available options:
LIVE,
TEST

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

organizationId
string<uuid>
required

ID of the organization the wallet is created in.

Format: UUID

accountId
string
required

ID of the organization's account (24 hexadecimal characters).

Pattern: ^[0-9a-fA-F]{24}$

Body

application/json
currency
enum<string>
required

Currency of the wallet, as an ISO 4217 numeric code: 986 (Brazilian real) is the only one accepted.

Available options:
986
Example:

"986"

name
string
required

Name of the wallet.

Minimum string length: 1
Example:

"Marketing"

type
enum<string>
default:SHARED

Kind of wallet: SHARED (used by a team, the default), PERSONAL (a single user's) or VEHICLE (a vehicle's).

Available options:
PERSONAL,
SHARED,
VEHICLE
Example:

"SHARED"

settings
object

Settings of the wallet. When you omit them, every payment method is enabled.

customFields
object

Values of the organization's wallet custom fields, keyed by each field's slug. Each value must fit its field's type and options.


Example: {"cost-center":"CC-1020"}

Example:
shared
object[]

Users who can use the wallet, and how. At least one must be an OWNER who is a member of the organization; users who aren't members are left out. When you omit it, you become the wallet's only OWNER.

Minimum array length: 1

Response

Successful response

A wallet: a balance of the organization's account, with its own bank account details, cards and PIX keys, shared with the users who can use it.

_id
string
required

ID of the wallet.

Example:

"66f2a3d1b4d3e80012c9a0d2"

realmId
string<uuid>
required

ID of the realm the wallet belongs to.

Example:

"f495ff0c-ab54-4f99-8e92-ca8682e4de9b"

organizationId
string<uuid>
required

ID of the organization the wallet belongs to.

Example:

"c4bd3f21-dfbd-44e8-8055-68ba15bed410"

accountId
string
required

ID of the account the wallet belongs to.

Example:

"66f2a1c7b4d3e80012c9a0b4"

environment
enum<string>
required

Environment the wallet lives in: LIVE (production) or TEST (sandbox).

Available options:
LIVE,
TEST
Example:

"LIVE"

currency
string
required

Currency of the wallet, as an ISO 4217 numeric code. Always 986 (Brazilian real).

Example:

"986"

status
enum<string>
required

Status of the wallet: PENDING (being created — it can't move money yet), ACTIVE, BLOCKED (it can't move money until it is unblocked), CANCELLING or CANCELLED (closed), REPROVED (its creation was refused), FRAUD_ANALYSIS (on hold while suspected fraud is analyzed) or FRAUD_CONFIRMED (closed for fraud).

Available options:
PENDING,
ACTIVE,
CANCELLING,
CANCELLED,
BLOCKED,
REPROVED,
FRAUD_ANALYSIS,
FRAUD_CONFIRMED
Example:

"PENDING"

role
string
required

Role of the wallet in the account: DEFAULT for the organization's main wallet — the one that funds and receives the other wallets' transfers — and CHECKING for every other wallet. A few older wallets carry another value.

Example:

"CHECKING"

type
enum<string>
required

Kind of wallet: ORGANIZATION (the organization's main wallet), SHARED (used by a team), PERSONAL (a single user's) or VEHICLE (a vehicle's, for its fuel and other purchases).

Available options:
PERSONAL,
SHARED,
ORGANIZATION,
VEHICLE
Example:

"SHARED"

shared
object[]
required

Users who can use the wallet, and how. Organization admins can use every wallet.

isSuper
boolean
required

Whether the wallet's cards are on the premium card product.

Example:

false

createdAt
string<date-time>
required

When the wallet was created.

Example:

"2024-10-01T12:30:05.000Z"

updatedAt
string<date-time>
required

When the wallet last changed.

Example:

"2024-10-01T12:34:41.000Z"

external
object

The wallet's bank account. Absent on a few wallets created before it was recorded.

customFields
object

Values of the organization's wallet custom fields, keyed by each field's slug. Absent when the wallet has none.


Example: {"cost-center":"CC-1020"}

Example:
name
string | null

Name of the wallet. Absent on older wallets created without one.

Example:

"Marketing"

settings
object

Settings of the wallet. Absent on older wallets created without them.

walletProduct
string

Card product of the wallet, inherited from the account. Absent on older wallets.

Example:

"NORMAL"

createdBy
string<uuid> | null

ID of the user who created the wallet. Absent, or null, on older wallets.

Example:

"e3553bc1-5e20-4e17-b22a-a796fda0aa99"

updatedBy
string<uuid> | null

ID of the user who created the wallet; editing it doesn't change this field. Absent, or null, on older wallets.

Example:

"e3553bc1-5e20-4e17-b22a-a796fda0aa99"

accountType
enum<string>

Type of the wallet's bank account, on older wallets only: the same as external.accountType.

Available options:
PREPAID,
CCLG
Example:

"PREPAID"

__v
number

Internal revision counter of the wallet.

Example:

0