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

Getting started

All requests go to one host:

https://api.stg.invoicing.proradius.co

Every path starts with /v1. Requests and responses are JSON.

  • You need access to Settings > API in the PROradius web app. The page is available on the Pro and Enterprise plans.
  • Some modules are add-ons. Their endpoints answer 403 until the add-on is active on the organization, for example service jobs need the Ticketing System add-on.
  1. Open Settings > API and select Create API Key.

  2. Enter an API Key Name that says what the key is for, for example CRM integration.

  3. Set Max Calls Per Day. It is required and must be at least 1.

  4. Optional: fill Allowed IPs, one address per line or comma-separated. Leave it empty to allow any address.

  5. Tick the Permissions (abilities) the key needs. Each ability is module:action, for example tickets:create. Pick only what your integration uses. See Authentication for the full list.

  6. Optional: pick Ticket boards to limit the key to them. A key without a board list can open every board.

  7. Save, then copy the key. It is shown in full only once.

The key is bound to one organization. It never needs an Organization-Id header.

List the first five clients. The key needs clients:read.

Terminal window
curl https://api.stg.invoicing.proradius.co/v1/clients?pageSize=5 \
-H "Authorization: Bearer $PRORADIUS_API_KEY" \
-H "Accept: application/json"

The response is a page of clients (shortened here):

{
"data": [
{
"id": "b8f2a1c4-7d39-4e52-9a06-1f4c8b3d5e27",
"username": "demo-client",
"name": "Demo Client",
"phone_number": "+961 70 000 000",
"external_ref": "crm-1001",
"active": true
}
],
"links": { "first": "...", "last": "...", "prev": null, "next": "..." },
"meta": { "current_page": 1, "from": 1, "last_page": 12, "per_page": 5, "to": 5, "total": 58 }
}

If you get 401, the key is missing or wrong. If you get 403, the key does not have the ability. See Errors.

Write requests send a JSON body with Content-Type: application/json. The same pattern works for every module. This example creates a client; the key needs clients:create.

Terminal window
curl -X POST https://api.stg.invoicing.proradius.co/v1/clients \
-H "Authorization: Bearer $PRORADIUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Demo Client", "username": "demo-client", "external_ref": "crm-1001" }'

A successful create answers 201 with the new resource. A validation problem answers 422 with the field errors. See Errors.

  • Read the Concepts: they apply to every module.
  • Open the guide for the module you are integrating, under Guides in the sidebar.
  • Browse every endpoint in the API reference.
  • Import the Postman collection and set its apiKey variable.
  • Subscribe to Webhooks instead of polling.