Skip to main content
The payload examples on this page are simplified for readability. Some routes also add rate-limit headers such as X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.

Endpoint summary

Public endpoints

Request body:
Success response:
Common responses:
Request body:
Success response:
Common responses:
Core response shape:
Notes:
  • it returns 200 when active features are healthy,
  • it returns 503 when an active feature is still missing required config or the database check fails,
  • the response also includes a per-feature map with enabled, missing_env, and disabled_by_flag.

Logged-in user endpoints

Request body:
Midtrans success response:
Doku success response:
Common responses:
Request body:
Valid values:
  • cancel
  • resume
Success response:
Or:
Common responses:
Request body:
Success response:
Common responses:
Request body:
Success response:
Common responses:

Admin endpoint

Request body:
Success response:
Common responses:

AI endpoints

Request body:
Success behavior:
  • returns a UI message stream rather than a plain JSON object,
  • usage is tracked after the stream finishes.
Common responses:
Request body:
Success response:
Common responses:

Provider webhook endpoints

Use this endpoint as a Midtrans callback, not as a browser-facing route.Verified fields:
  • order_id
  • status_code
  • gross_amount
  • signature_key
  • transaction_status
Important behavior:
  • invalid signature returns 401,
  • invalid payload returns 400,
  • missing payment record returns 404,
  • duplicate delivery can return { "received": true, "duplicate": true },
  • valid events update payments, may activate subscriptions, and write into webhook_events and audit_logs.
Use this endpoint as a Doku JOKUL callback, not as a browser-facing route.Verified fields:
  • order.invoice_number
  • order.amount
  • transaction.status
  • transaction.original_request_id
  • security.check_word
Important behavior:
  • invalid signature returns 401,
  • invalid payload returns 400,
  • missing payment record returns 404,
  • duplicate delivery is traceable through webhook_events,
  • valid events update payments, may activate subscriptions, and write an audit trail.
/auth/confirm is an auth callback route, not an /api endpoint. To understand where it fits in login, OTP, and OAuth flows, read End-to-end flows.