Skip to content
Staging documentation. Requests go to https://api.stg.invoicing.proradius.co.

Changelog

All changes to v1 are additive. Existing fields and endpoints keep working. See Versioning.

Clients

  • GET /v1/clients accepts external_ref (exact) and phone (exact, any format) to find one client.
  • Single client responses include external_ref.

API keys

  • Switched-off keys, IP allow-lists (addresses or CIDR ranges) and the daily call limit are enforced. Key responses carry X-RateLimit-Limit and X-RateLimit-Remaining; the daily limit answers 429 with Retry-After.
  • New ability tickets:dispatch in the key permissions, to book a technician over a conflict.

Service jobs

  • GET /v1/ticket-job-types always answers {"data": [...]}, also for a board the key cannot open.

Reference

  • “Try it” in the API reference: send real requests with your own key.

Service jobs

  • sla_hours on POST /v1/tickets and PUT /v1/tickets/{id}: an SLA per job, in hours from creation. Not sent means the job type’s SLA; null means no SLA. Jobs return sla_hours. Changing it on a done or cancelled job answers 422.
  • POST /v1/tickets/{id}/schedule (and create with a window) refuses a visit that starts more than 5 minutes in the past.
  • Clearing the technician also removes them from the assignees.

Webhooks

  • API keys can manage webhooks with the new abilities webhooks:read and webhooks:manage. A key subscribes only to topics it can read and sees only the endpoints it created. Its endpoints stop receiving events when the key is deleted, switched off, or loses the read ability.

Service jobs

  • Complete, bill and cancel: POST /v1/tickets/{id}/complete, /create-invoice, /cancel and GET /v1/tickets/{id}/completion-preview. Optional Idempotency-Key header; replays answer Idempotent-Replayed: true.
  • Job types (/v1/ticket-job-types) with priority, SLA, checklist and billing mode (none, on_completion, manual).
  • Scheduling: POST /v1/tickets/{id}/schedule, /unschedule, /start, technician suggestions and GET /v1/ticket-technicians. API keys need tickets:schedule; completion needs tickets:complete.
  • Working hours, time off and skills are checked when a visit is booked.
  • external_ref on POST /v1/tickets for safe retries (200 on replay, 409 on conflict) and as a filter on GET /v1/tickets. Jobs return external_ref, created_via and api_key_id.
  • Client lookup on create and list: client_phone, client_isp_username or client_external_ref instead of client_id, with 422 reasons client_not_found, client_ambiguous, client_lookup_conflict.
  • API keys can be limited to some ticket boards.
  • Column categories (new, scheduled, in_progress, waiting, done, cancelled), archive and unarchive, and new list filters (status_category, unassigned, overdue, archived, technician_id, job_type_id).
  • Webhook topics ticket.created, ticket.status_changed, ticket.assigned, ticket.archived, ticket.scheduled, ticket.completed, ticket.cancelled.

Clients

  • external_ref on create and update: your own id for a client, unique per organization.

Webhooks

  • Outbound webhooks: endpoints, signed deliveries (X-PROradius-Signature), retries, delivery history and resend. Topics invoice.created, invoice.paid, invoice.voided, payment.created, payment.deleted, client.created, client.updated.