1. Mandates
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
      GET
    • Create a new program
      POST
    • Get program by ID
      GET
  • 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
    • Create a stakeholder
    • List stakeholders
    • Update stakeholder
  • 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
    • Create a new wallet
    • Get wallet by ID
    • Update wallet
  • 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
    • Get verification by ID
    • Get a Sum Sub SDK session token
    • Record a client-asserted outcome
  • Transaction Documents
    • Request a presigned upload for a supporting document
    • List the supporting documents on a transaction
  • Mandates
    • List mandates
      GET
    • Create mandate
      POST
    • Get mandate by ID
      GET
    • Update mandate
      PATCH
  • 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
    • TransactionDocumentType
    • TransactionDocumentStatus
    • TransactionDocumentCreateInput
    • WalletUpdateInputDto
    • TransactionDocumentUpload
    • WalletStatement
    • TransactionDocument
    • TransactionCreateInputDto
    • Wallet
    • ReportCompletedEntity
    • Mandate
    • WalletCreateInputDto
    • ReportCompletedNotification
    • CardArt
    • CardArtDetail
    • WebhookNotification
    • CardArtUploadUrlInput
    • CardArtUploadUrlResponse
    • CardArtCreateInput
    • CardArtPatchInput
    • Error
    • RelayCreateResponse
    • ScreeningSummary
    • Verification
    • VerificationPartyLink
    • VerificationSessionToken
    • Address
    • Stakeholder
    • StakeholderCreateInput
    • StakeholderUpdateInput
  1. Mandates

Update mandate

Developing
PATCH
/customers/v1/transaction-mandates/{id}
In development. Direct debit is available in sandbox for integration testing and is not yet available in production. Request and response formats are stable; wallet balance handling for direct debits is being finalised in sandbox.
Pause, resume or re-label a mandate. Requires the client/write or administrator/write OAuth scope.
Send both status and metadata on every call, even when changing only one: both are currently validated as required. metadata REPLACES the stored metadata (it is not merged), so resend any keys you want to keep. When status equals the current status only metadata is updated.
Setting INACTIVE stops further debits: a new AUD_DD_1 transaction on the mandate fails with Mandate is not active. A debit already submitted is not recalled. Setting ACTIVE again resumes the mandate.

Request

Path Params

Header Params

Body Params application/json

Example
{
    "status": "INACTIVE",
    "metadata": {
        "payer_reference": "MEMBER-20931",
        "paused_reason": "payer request"
    }
}

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 --request PATCH '/customers/v1/transaction-mandates/' \
--header 'Idempotency-Key: {{idempotency-key}}' \
--header 'x-client-id;' \
--header 'Content-Type: application/json' \
--data '{
    "status": "INACTIVE",
    "metadata": {
        "payer_reference": "MEMBER-20931",
        "paused_reason": "payer request"
    }
}'

Responses

🟢200OK
application/json
Mandate updated.
Bodyapplication/json

Example
{
    "id": "5d1c9a7e-2b4f-4e8a-9c3d-7f6a1b2e8d40",
    "owner": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "created_at": "2026-09-01T03:20:11.904Z",
    "updated_at": "2026-10-12T04:02:55.730Z",
    "starts_at": "2026-09-01T00:00:00.000Z",
    "expires_at": "2027-09-01T00:00:00.000Z",
    "frequency": "MONTHLY",
    "max_amount": 100,
    "max_iterations": 12,
    "last_transaction_id": "c3a7e9d1-4f2b-4b8e-a6c5-9d0e1f2a3b75",
    "last_transaction_date": "2026-10-01T01:15:42.118Z",
    "last_transaction_status": "ACCEPTED",
    "last_transaction_amount": 49.95,
    "last_iteration": 1,
    "asset_class": "CURRENCY",
    "asset": "AUD",
    "status": "INACTIVE",
    "metadata": {
        "payer_reference": "MEMBER-20931",
        "paused_reason": "payer request"
    }
}
🟢202Accepted
🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
Modified at 2026-10-15 05:41:15
Previous
Get mandate by ID
Next
CardWidgetSessionTokenResponse
Built with