Developers / REST API reference

REST API reference

Every endpoint on the QuiQSol public API at api.quiqsol.com/public/v1, with fields, examples and responses.

1 min read
On this page

Base URL: https://api.quiqsol.com/public/v1. Every request needs Authorization: Bearer <your-api-key> (how to get one). Bodies are JSON.

GET /contacts

Lists contacts in your workspace.

QueryDefaultNotes
limit25Up to 100
curl "https://api.quiqsol.com/public/v1/contacts?limit=50" \
  -H "Authorization: Bearer <your-api-key>"

GET /tickets

Lists Help Desk tickets. Same limit parameter, default 25, up to 100.

POST /leads

Creates a CRM lead, for example from your website's own form.

FieldRequired
firstNameYes
lastNameYes
emailNo
phoneNo
companyNameNo
sourceNo
customFieldsNo, an object of your custom field keys
curl -X POST https://api.quiqsol.com/public/v1/leads \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"Ada","lastName":"Obi","email":"ada@example.com","source":"Website"}'

POST /contacts

Creates or updates a contact from another system. Send the same externalId again and the same contact is updated instead of duplicated. This endpoint never merges on email or phone alone, because a wrong match between two systems costs more than a duplicate.

FieldRequired
externalIdYes, your system's ID
firstNameYes
lastNameYes
emailNo
phoneNo
strongIdentifierNo
contextNo, fields shown on the contact's Business Context Panel

POST /companies

Creates or updates a company the same way, keyed on externalId, with a name.

POST /contacts/pending-action

Marks that a customer started something they have not finished, such as a cart or an application. An Automation journey with the pending action started trigger can wait, check the action is still open, and send a reminder.

POST /contacts/pending-action/complete

Marks that action finished, so a waiting reminder does not send.

What do errors look like?

A JSON body with an error message. 400 for a missing or invalid field, 401 for a bad key, 429 when you pass the rate limit.

Is there an OpenAPI file?

Yes, at quiqsol.com/openapi.json. It covers GET /contacts, GET /tickets and POST /leads; the sync endpoints above are documented on this page.