P4 Software / cifraHQ

CifraHQ API

Getting Connected to the CifraHQ API

Your Accounting data shouldn't live in a silo. The CifraHQ REST API lets you connect external systems — e-commerce platforms, warehouse management systems, third-party apps, or your own custom tooling — directly to your CifraHQ data. Create orders, post Invoices, sync Customers, pull financial data: everything available in the UI is available through the API.

The full interactive reference — every endpoint, request and response schemas, and a built-in test console — is at:

https://app.cifrahq.cloud/developers

Authentication

Every API request must include your API key in the ApiKey header:

ApiKey: <your-api-key>

To get your API key:

  1. Log in to your CifraHQ tenant.
  2. Go to Setup > Users and open your user record.
  3. Copy the value from the API Key field.

Keep your key private — it provides the same level of access to your data as your user account.

Base URL

Your API base URL follows this pattern:

https://{yourcompany}.CifraHQ.cloud/api/

Replace {yourcompany} with your tenant subdomain — the same one you use to log in at {yourcompany}.CifraHQ.cloud.

Common endpoints

Operation Endpoint pattern
List records (paged) GET api/{Entity}/GetList?skip=0&take=100
Search records (free text) GET api/{Entity}/Search?q={term}
List records (advanced filtering) GET data/qry/{TableName}?cols=...&where=...
Get a single record by ID GET api/{Entity}/GetById?id={id}
Create or update a record POST api/{Entity}/CreateOrUpdate
Post a document POST api/{Entity}/Post
Delete a record POST api/{Entity}/Delete

Listing and searching records

Every entity exposes two read endpoints that need no query building:

  • GET api/{Entity}/GetList Returns a page of records, newest first. Use skip and take to page (take defaults to 100, maximum 200).
  • GET api/{Entity}/Search Returns records whose text fields contain a search term. Pass the term in q, and page with skip and take (take defaults to 50, maximum 200). An empty term Returns the first page of all records.

Both return a flat JSON array of each record's own fields (no nested related records).

# First 2 Sales Orders
curl -H "ApiKey: <your-api-key>" \
     "https://{yourcompany}.CifraHQ.cloud/api/SalesOrder/GetList?take=2"

# Find Customers whose name, code, email, or tax id contains "acme"
curl -H "ApiKey: <your-api-key>" \
     "https://{yourcompany}.CifraHQ.cloud/api/Customer/Search?q=acme"

{Entity} is the singular entity name — Customer, Vendor, Product, Warehouse, SalesOrder, Invoice, PurchaseOrder, and so on. Browse the full list in the interactive reference.

Tips

  • The data/qry/ endpoint behaves like a parameterised SQL query — use cols, where, joins, order, limit, and offset to pull exactly the list data you need, including cross-table joins, without writing a custom endpoint.
  • All entity IDs in CifraHQ are GUIDs. Store them as strings; do not truncate or reformat them.
  • Dates use ISO 8601 format: 2025-04-24T00:00:00Z.
  • All requests and responses use application/json.

Full API reference: https://app.cifrahq.cloud/developers

Related: Users · Webhooks · Workflows

Was this page helpful?