POST
/
users
/
{user_id}
/
mandate
/
register
cURL
curl --request POST \
  --url http://localhost:8080/users/{user_id}/mandate/register \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 123,
  "account_id": "<string>"
}
'
{
  "amount": 123,
  "created_at": "<string>",
  "customer_id": "<string>",
  "frequency": "as_presented",
  "id": "<string>",
  "last_modified_at": "<string>",
  "mandate_status": "pending",
  "max_amount": 123,
  "order_id": "<string>",
  "payload": "<unknown>",
  "user_id": "<string>",
  "account_id": "<string>"
}

Path Parameters

user_id
string
required

User ID

Body

application/json
amount
integer<int64>
required
account_id
string | null

Response

Mandate registration initiated

amount
integer<int64>
required
created_at
string
required
customer_id
string
required
frequency
enum<string>
required

Debit frequency for a mandate. Mirrors Juspay's wire enum.

Available options:
as_presented,
daily,
weekly,
monthly,
bimonthly,
quarterly,
half_yearly,
yearly,
one_time
id
string
required
last_modified_at
string
required
mandate_status
enum<string>
required

Mandate lifecycle status. Starts at pending; transitions via Juspay status poll/webhook.

Available options:
pending,
active,
failed,
paused,
cancelled
max_amount
integer<int64>
required
order_id
string
required
payload
any
required
user_id
string
required
account_id
string | null