Skip to main content

Versioning policy

The API surface lives under /api/v1/partner/…, and every event envelope carries "version": 1. v1 is stable in the additive sense below — build your parser to tolerate additions and you will not need to touch it for a v1 change.

We may (non-breaking — your parser must tolerate)​

  • Add fields to any response and to webhook / poll event payloads.
  • Add new event types. Your default subscription is case.received, payment.collected and case.closed; other types (case.assigned, visit.completed, …) are opt-in via the Fieldproof team, and a new type is never pushed to you unless you ask for it. Note that per-case sequence counts every event type including ones you are not subscribed to, so a new type simply widens the gaps you already tolerate. The poll API returns all types regardless of subscription — skip unknown type values there rather than failing.
  • Add values to enumerations (visit outcome, payment mode, close reason, case status). Treat an unrecognised value as "other" and keep processing; never make a payment booking depend on recognising the mode.
  • Add new endpoints and optional request fields / query parameters.
  • Add response headers.

We will not (in v1)​

  • Remove or rename an existing field, header, endpoint or error code.
  • Change a field's type or meaning (amount stays incremental whole rupees; totalCollected and outstandingAfter stay absolute; sequence stays per-case starting at 1).
  • Change the signing scheme (METHOD\nPATH\nTIMESTAMP\nRAW_BODY, HMAC in lowercase hex, unix-millisecond timestamp), the event envelope shape, or the error envelope { success: false, error: { code, message } }.
  • Change the semantics of an existing error code.

Compatibility aliases​

The pre-rebrand names keep working alongside the current ones:

CurrentLegacy alias
X-Fieldproof-Timestamp / X-Fieldproof-Signature (requests)X-Quikkred-Timestamp / X-Quikkred-Signature (if both are sent, the Fieldproof header wins)
X-Fieldproof-Event / X-Fieldproof-Delivery / X-Fieldproof-Timestamp / X-Fieldproof-Signature (webhooks)X-Quikkred-* duplicates sent on every delivery
alpha-gig.fluxusforge.in / gig.fluxusforge.inalpha-gig.quikkred.in / gig.quikkred.in — same keys

New integrations should use the Fieldproof names and hosts.

Breaking changes​

Anything outside the additive list ships as /api/v2/…, with v1 kept running in parallel for a published overlap window and advance notice to your integration contact.

The OpenAPI spec​

The machine-readable spec is served by the API itself at GET /api/v1/partner/openapi.json (a signed request, like every other endpoint) and rendered at /api-reference.

:::note The copy on this site is maintained by hand, against behaviour The copy rendered at /api-reference is hand-maintained to match the running service (and was verified against it when these docs were last revised); it is not generated from the code, so it can lag a change. Where this documentation, the spec and the live API disagree, the live API is what you integrate with — please tell [email protected] (with an X-Request-Id where relevant) and we will correct the spec. :::