1. Wallets
Kobble
  • Introduction
  • API Fundamentals
    • Idempotency
    • Rate Limits
    • Healthcheck
      GET
  • Authorization
    • Authorization
    • Get access token
      POST
  • Beneficiaries
    • List all beneficiaries
      GET
    • Get beneficiary by ID
      GET
    • Create beneficiary
      POST
    • Create Payid beneficiary
      POST
    • Update beneficiary
      PATCH
  • Cards
    • Cards API
    • Card Creation Flow — Developer Guide & Onboarding
    • Get all cards
      GET
    • Create a new card
      POST
    • Get card by ID
      GET
    • Update card status
      PATCH
    • Replace or renew card
      POST
    • Generate card secret
      POST
    • Generate MeaWallet widget session token
      POST
  • Card Programs
    • Card Programs API
    • Get all programs
    • Create a new program
    • Get program by ID
  • Clients
    • Clients API
    • Get all clients
    • Get client by ID
    • Create a new client
    • Update client status
  • Endusers
    • Endusers API
    • Usage of Metadata on Endusers
    • Get all endusers
    • Create a new enduser
    • Get enduser by ID
    • Update enduser
  • Transactions
    • Transactions API
    • Get all transactions
    • Create a transaction
    • Get transaction by ID
    • Create manual credit transaction
    • Create manual debit transaction
  • Wallets
    • Wallets API
    • Get all wallets
      GET
    • Create a new wallet
      POST
    • Get wallet by ID
      GET
    • Update wallet
      PATCH
  • Relays
    • Relays API
    • Create subscription
  • Webhooks
    • Webhooks API
    • Webhook Signature Verification
    • Create a webhook
    • Report completed
    • Get all webhooks
    • Delete a webhook
  • Wallet Statements
    • Request a wallet statement
    • List wallet statements
    • Get a wallet statement
    • Get a wallet statement download URL
  • Card Art
    • Get a card art upload URL
    • Register a card art
    • List card arts
    • Get a card art
    • Update a card art
    • Activate a card art
    • Archive a card art
  • Verifications
    • List verifications for a subject
    • Create a verification (in development)
    • Get verification by ID
    • Get a Sum Sub SDK session token
    • Record a client-asserted outcome
  • Schemas
    • Schemas
    • CardWidgetSessionTokenResponse
    • 202 Accepted
    • Webhook
    • 201 Created
    • Relay
    • Create Beneficiary with bank details
    • Client
    • Beneficiary
    • Card
    • CardCreateInputDto
    • CardStatusUpdateDto
    • CardRenewReplaceInputDto
    • Program
    • MetadataKobbleDebit1
    • ProgramCreateInputDto
    • Person
    • Company
    • Enduser
    • Enduser Create Person Input
    • Enduser Create Company Input
    • Metadata
    • Enduser Create Input DTO
    • Transaction
    • TransactionCreateManualCreditInputDto
    • TransactionCreateInputDto
    • Wallet
    • WalletCreateInputDto
    • WalletUpdateInputDto
    • WalletStatement
    • WebhookNotification
    • ReportCompletedEntity
    • ReportCompletedNotification
    • CardArt
    • CardArtDetail
    • CardArtUploadUrlInput
    • CardArtUploadUrlResponse
    • CardArtCreateInput
    • CardArtPatchInput
    • Error
    • RelayCreateResponse
    • ScreeningSummary
    • VerificationPartyLink
    • Verification
    • VerificationSessionToken
  1. Wallets

Create a new wallet

POST
/customers/v1/wallets
Create a new wallet with the specified attributes.
Provisioning is asynchronous for partner-backed products: KOBBLE_AUD_2, KOBBLE_AUD_3 and KOBBLE_FX_1 wallets are returned PENDING and flip to ACTIVE (with bank details attached where the product issues them) once the partner provisions the account — signalled by a wallet-update webhook. Only KOBBLE_AUD_1 (ledger-only) is created ACTIVE immediately.
KOBBLE_FX_1 specifics: one FX wallet per holder per currency (a duplicate is rejected with 400; a PERMANENTLY_CLOSED one may be re-provisioned), and the wallet holder must meet the FX identity requirements — an incomplete holder is rejected with 422 and a machine-readable missing list of dotted enduser field paths (plus structured stakeholder requirements for companies): complete the enduser (PATCH /customers/v1/endusers/{id} and its stakeholders), then retry. The requirements are: persons — person.birthday and address (line1/city/postal_code/country); companies — registration details (registration_number/registration_type/legal_form/country_of_registration), registered address, and at least one stakeholder with role REPRESENTATIVE that has a phone_number.
Wallet creation may also be gated on the holder's verification when the client's verification program gates WALLET_CREATE: an unverified holder is rejected until their verification is APPROVED.
Not idempotent. This endpoint does not honour Idempotency-Key. Sending the header is not an error and has no effect: the request executes every time, and a retry creates a second record. Deduplication is the caller's responsibility.

Request

Header Params

Body Params application/json

Example
{
    "holder_id": "81fd9a9e-5c0f-48ec-aa7d-0fb99f12b3b1",
    "asset_class": "CURRENCY",
    "asset": "AUD",
    "partner_product": "KOBBLE_AUD_1"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/customers/v1/wallets' \
--header 'x-client-id;' \
--header 'Content-Type: application/json' \
--data '{
    "holder_id": "81fd9a9e-5c0f-48ec-aa7d-0fb99f12b3b1",
    "asset_class": "CURRENCY",
    "asset": "AUD",
    "partner_product": "KOBBLE_AUD_1"
}'

Responses

🟢201Created
application/json
Wallet created. KOBBLE_AUD_1 wallets are created ACTIVE synchronously. KOBBLE_AUD_2 wallets are created PENDING and move to ACTIVE (with bank details attached) or PERMANENTLY_CLOSED via asynchronous partner provisioning.
Bodyapplication/json

Example
{
    "id": "73557536-d005-4488-9d0c-aabe48705595",
    "external_id": "11111",
    "created_at": "2025-01-14T16:56:58.947Z",
    "updated_at": "2025-01-14T16:56:58.947Z",
    "holder_id": "db13f0b1-dbb8-4476-9e31-fb93bcb3ec33",
    "asset": "AUD",
    "asset_class": "CURRENCY",
    "status": "ACTIVE",
    "partner_product": "KOBBLE_AUD_1",
    "total_amount": 0,
    "amount": 0,
    "reserved_amount": 0,
    "account_number": null,
    "bank_code_type": null,
    "bank_code": null,
    "owner": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
Modified at 2026-09-15 02:14:36
Previous
Get all wallets
Next
Get wallet by ID
Built with