OnePayOnePay

Public Shared Events REST API

Public, anonymous collaboration endpoints on this client domain

Use these endpoints for Onepay Split and Onepay Schedule events. They are separate from the authenticated merchant/admin API.

Safe usage

Examples use a clearly synthetic event ID. Use your own event link in your application and do not copy private event values into documentation, tickets, or logs.

Example request
curl /api/v1/split-events/evt_example_only

Ownership and recovery

The browser that creates an event receives ownership through its private session. Recovery is available only to the event owner when that session is lost.

Treat every event link and recovery value as private. Share only the event link needed for collaboration, and keep recovery material out of messages and logs.

Revisions and conflicts

Read the latest event before a mutation and send its current revision. If another change wins first, refresh the event, review the latest state, and retry deliberately.

Rate limits

Creation, reads, collaborative writes, owner actions, exports, and recovery attempts are rate limited. Respect the response limit headers and retry only after the indicated delay.

Expiry

Shared events expire automatically. Reading an event or exporting it does not extend its lifetime, so copy any information you need before expiry.

API reference

Shared Events

Anonymous, cookie-scoped collaborative resources shared via a public link. Ownership is recoverable via a one-time recovery key when the owning session/cookie is lost.

  • POST /shared-events/{eventId}/owner/recover — Re-establish ownership of a shared event using its owner-recovery key
  • PUT /shared-events/{eventId}/owner/recovery-key — Rotate a shared event's owner-recovery key

Split

Split a shared expense across named members — equal-share allocation, running balances, and a simplified settlement plan. Event metadata/member management is owner-only; expense entry is collaborative.

  • POST /split-events — Create a Split event
  • GET /split-events/{eventId} — Read a Split event
  • PUT /split-events/{eventId} — Rename a Split event or change its currency
  • DELETE /split-events/{eventId} — Permanently delete a Split event
  • POST /split-events/{eventId}/members — Add a Split member
  • PUT /split-events/{eventId}/members/{memberId} — Rename a Split member
  • DELETE /split-events/{eventId}/members/{memberId} — Remove a Split member
  • PUT /split-events/{eventId}/members/order — Reorder a Split event's active members
  • POST /split-events/{eventId}/expenses — Record a Split expense
  • PUT /split-events/{eventId}/expenses/{expenseId} — Update a Split expense
  • DELETE /split-events/{eventId}/expenses/{expenseId} — Delete a Split expense
  • GET /split-events/{eventId}/export — Export a Split event as CSV

Schedule

Schedule a meeting/event across candidate time slots — participants vote yes/maybe/no per candidate, and the owner may set a response deadline and select a final candidate. Event metadata/candidate/participant-order management is owner-only; response entry is collaborative.

  • POST /schedule-events — Create a Schedule event
  • GET /schedule-events/{eventId} — Read a Schedule event
  • PUT /schedule-events/{eventId} — Rename a Schedule event or change its memo, timezone, or attendance settings
  • DELETE /schedule-events/{eventId} — Permanently delete a Schedule event
  • POST /schedule-events/{eventId}/candidates — Add a Schedule candidate
  • DELETE /schedule-events/{eventId}/candidates/{candidateId} — Remove a Schedule candidate
  • PUT /schedule-events/{eventId}/candidates/order — Reorder a Schedule event's candidates
  • POST /schedule-events/{eventId}/responses — Create a Schedule participant response
  • PUT /schedule-events/{eventId}/responses/{participantId} — Update a Schedule participant response
  • DELETE /schedule-events/{eventId}/responses/{participantId} — Delete a Schedule participant response
  • PUT /schedule-events/{eventId}/participants/order — Reorder a Schedule event's participant responses
  • PUT /schedule-events/{eventId}/deadline — Set, change, or clear a Schedule event's response deadline
  • PUT /schedule-events/{eventId}/final-candidate — Select or clear a Schedule event's final candidate
  • GET /schedule-events/{eventId}/export — Export a Schedule event as CSV
© 2025–2026 Tab Systems Mongolia LLC