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

Clients

Clients are the customers of your organization. Service jobs, invoices and payments all point to a client.

AbilityEndpoints
clients:readGET /v1/clients, GET /v1/clients/{id}
clients:createPOST /v1/clients
clients:updatePUT /v1/clients/{id}
clients:deleteDELETE /v1/clients

Client ids are UUIDs. Use them in paths and in the client_id field of other endpoints.

POST /v1/clients

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",
"phone_number": "+961 70 000 000",
"email": "[email protected]",
"address": "Main street, building 4",
"external_ref": "crm-1001"
}'
  • name is required.
  • username is required unless the organization generates usernames automatically. It must be unique in the organization.
  • email must be unique.
  • external_ref is your own id for the client, up to 191 characters, unique in the organization.

The answer is 201 with the new client. The API reference lists every field, including address, branch, collector and services.

Store your id in external_ref when you create or update a client. You can then open service jobs for that client without knowing its PROradius id:

{ "title": "Router keeps rebooting", "board_id": "4c6e8a0b-1d3f-4a5c-9e7b-2f4a6c8e0b1d", "client_external_ref": "crm-1001", "priority": "medium", "type": "support" }

Service job endpoints also accept client_phone and client_isp_username. Phone numbers are normalised before they are compared. See Identify the client.

GET /v1/clients

ParameterNotes
queryFree-text search, at least 3 characters. Partial match on name, username, email, phone number (as stored), address, city, zone, street, building, box, reference, code and disjunctor.
statusactive or inactive.
date_from, date_toCreation date range, YYYY-MM-DD.
branch_idClients of one branch.
external_refExact match on your own reference.
phoneExact phone match in any format. Spaces, dashes and the +961, 00961 or leading 0 prefixes are normalised on both sides.
pageIndex, pageSizeSee Pagination. pageSize is 1 to 100.

Every client response, single or in a list, includes external_ref.

Find one client by your own id or by phone:

Terminal window
curl "https://api.stg.invoicing.proradius.co/v1/clients?external_ref=crm-1001" \
-H "Authorization: Bearer $PRORADIUS_API_KEY"
curl "https://api.stg.invoicing.proradius.co/v1/clients?phone=%2B961%2070%20000%20000" \
-H "Authorization: Bearer $PRORADIUS_API_KEY"

No match returns an empty page ("data": []), not an error.

PUT /v1/clients/{id}

username and name are required on every update. external_ref changes only when you send it. Read the client first and send back the values you want to keep.

DELETE /v1/clients

{ "id": ["b8f2a1c4-7d39-4e52-9a06-1f4c8b3d5e27"] }

The body lists the ids to delete. Every id must belong to your organization.

Subscribe to client.created and client.updated to hear about changes made in the PROradius apps or through the API. The key needs clients:read. See Webhooks.