Developer guide
REST API reference
Query and search supported Workroomly resources with verified fields, filters, pagination and workroom scoping.
On this page
Public endpoints
Use https://api.workroomly.com as the public origin. These external endpoints are intentionally small. They are unversioned URLs; incoming event payloads carry their own version. Do not infer a REST CRUD route from a resource name.
| Method and path | Purpose | Credential |
|---|---|---|
| POST /api/query | Read structured records from one resource. | Data Access or Integration key |
| POST /api/search | Find matching records across selected resources. | Data Access or Integration key |
| POST /api/events | Queue a supported business operation. | Integration key |
OData provides read-only analytics. MCP connects AI assistants through scoped tools. Credential management and explorer proxy routes belong to the authenticated application, not this public API reference.
Query records
Send JSON with resource and the appropriate scope. The resource uses a singular dotted name such as crm.contact, not an OData entity-set name such as crm_contacts.
{
"resource": "crm.contact",
"scope": { "crm_space_key": "<YOUR_CRM_SPACE_KEY>" },
"fields": ["id", "name", "email", "updated_at"],
"filters": {
"updated_at": { "op": "gte", "value": "2026-01-01T00:00:00Z" }
},
"sort": ["updated_at", "id"],
"limit": 20,
"offset": 0
}| Property | Behavior |
|---|---|
| resource | Required registered resource name. |
| scope | Required for CRM, Board and Desk. Copy the stable key from Query Explorer. |
| fields | Optional non-empty array of allowed columns; omitted uses resource defaults. |
| filters | Optional object of field conditions, combined with AND. A scalar means equality; an object uses op and value. |
| sort | Optional array of allowed fields. Prefix with - for descending order. |
| limit | 1–100, default 20; the deployment may enforce a lower cap. |
| offset | Non-negative offset, default 0. |
Supported operators are =, !=, in, gt, gte, lt, lte, but each field permits only its listed subset. Use an array for in, ISO date/time strings for date fields, JSON booleans for booleans and canonical UUIDs for UUID filters. Unknown fields, filters, sort terms or scope keys are rejected.
A successful response is {data: [...], meta: {total, limit, offset, duration_ms}}. IDs are canonical record identifiers. Read them before updating records through an event; external references and names are not interchangeable with IDs.
Search records
Search returns ranked result cards grouped by resource. It is useful for finding a record before a detailed query or another operation. It is not an exhaustive paginated export.
{
"query": "Alex",
"resources": ["crm.contact", "crm.lead"],
"scope": { "crm_space_key": "<YOUR_CRM_SPACE_KEY>" },
"limit": 10
}The query must be non-empty and no more than 255 characters. resources must be a non-empty array. limit defaults to 10 and is capped at 25 per resource. Supply every required scope when mixing CRM, Board or Desk resources.
The response contains results, keyed by resource, and meta with limit, result_counts, total_results and duration_ms. Each result has id, title, subtitle, matched_field, score and preview. A navigation target can also be present. Search matches the resource’s configured searchable fields; a dataset without searchable text should be queried instead.
Scope and permissions
| Resource family | REST scope property | Where to obtain it |
|---|---|---|
| CRM | scope.crm_space_key | Select the CRM space in Query Explorer. |
| Board | scope.board_key | Select the board in Query Explorer. |
| Desk | scope.desk_key | Select the desk in Query Explorer. |
| Other listed resources | No extra REST subspace selector | The key’s workroom and permissions still apply. |
With a Data Access key, the request scope must also belong to that key’s explicit allowlist. A valid scope from another workroom cannot broaden access. Read Authentication & security before using an Integration key for reporting.
Pagination and limits
Query uses offset pagination. Increase offset by the returned row count; stop when you reach total or get no rows. Include a stable tie-breaker such as id in your sort. Offset pages are not a consistent snapshot: concurrent creates, updates or deletes can shift rows. Use OData continuation links for larger analytical reads and reconcile changing datasets.
Query and Search have API-key and IP rate limits. Rates can vary by deployment; handle 429 with a bounded backoff and reduce concurrency. Do not assume a Retry-After header is always supplied. Successful responses also consume Data Transfer. There is no idempotency key requirement for these reads; event idempotency is documented separately.
Resource reference
Explore 32 resources across your workroom. Expand a resource for its fields, filters, ordering and scope. Query Explorer shows the current schema and configured choices for your workroom.
For Data Access reads, Files return permitted shared metadata without private ancestor paths, Goals include workroom-visible trees, and Pages expose public page/submission metadata without form submission values. Module permissions grant access to the resources and fields listed in this catalog.
assets.assetAsset
Permission: assets.* · OData entity set: assets_assets
Selectable columns
idasset_numbernamecategory_namelifecycle_stateoperational_statecustody_statefinancial_stateconditionmanufacturermodel_nameserial_numberacquisition_methodacquisition_dateacquisition_costincidental_costcurrencyvendor_namepurchase_order_reflocation_namedepartmentsource_typecreated_atupdated_atDefault columns: id, asset_number, name, category_name, lifecycle_state, condition, acquisition_cost, currency
Sort fields: acquisition_cost, acquisition_date, asset_number, created_at, id, name, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
asset_number | string | =, !=, in |
name | string | =, !=, in |
category_name | string | =, !=, in |
lifecycle_state | string | =, !=, in |
operational_state | string | =, !=, in |
condition | string | =, !=, in |
serial_number | string | =, !=, in |
currency | string | =, !=, in |
acquisition_date | date | =, gt, gte, lt, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
assets.incidentAssets Incidents
Permission: assets.* · OData entity set: assets_incidents
Selectable columns
idasset_idincident_numberincident_typeseverityreported_atstatuscondition_beforecondition_afterdamage_cost_estimatecurrencyclosed_atcreated_atupdated_atDefault columns: id, asset_id, incident_number, incident_type, severity, reported_at, status, condition_before, condition_after, damage_cost_estimate, currency, closed_at, created_at, updated_at
Sort fields: id, asset_id, incident_number, incident_type, severity, reported_at, status, condition_before, condition_after, damage_cost_estimate, currency, closed_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
assets.maintenance_work_orderAssets Maintenance Work Orders
Permission: assets.* · OData entity set: assets_maintenance_work_orders
Selectable columns
idasset_idrequest_idwork_order_numbermaintenance_typeprioritystatusscheduled_datecompleted_dateestimated_costactual_costdowntime_hourscondition_afternext_maintenance_datefinance_journal_idcreated_atupdated_atDefault columns: id, asset_id, request_id, work_order_number, maintenance_type, priority, status, scheduled_date, completed_date, estimated_cost, actual_cost, downtime_hours, condition_after, next_maintenance_date, finance_journal_id, created_at, updated_at
Sort fields: id, asset_id, request_id, work_order_number, maintenance_type, priority, status, scheduled_date, completed_date, estimated_cost, actual_cost, downtime_hours, condition_after, next_maintenance_date, finance_journal_id, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
board.epicBoard Epic
Permission: board.* · OData entity set: board_epics
Required request scope: scope.board_key. Copy the stable key from Query Explorer.
Selectable columns
idnamedescriptionstatusstatus_keyboard_keyproject_namesprint_nameassignee_emailsstart_dateend_datecreated_atupdated_atDefault columns: id, name, status, project_name, sprint_name, created_at
Sort fields: created_at, end_date, id, name, start_date, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
status | string | =, !=, in |
status_key | string | =, !=, in |
project_name | string | =, !=, in |
sprint_name | string | =, !=, in |
assignee_email | string | =, !=, in |
start_date | date | =, gte, lte |
end_date | date | =, gte, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
board.projectBoard Project
Permission: board.* · OData entity set: board_projects
Required request scope: scope.board_key. Copy the stable key from Query Explorer.
Selectable columns
idnamedescriptionstatusstatus_keyboard_keyowner_emailassignee_emailsstart_dateend_datecreated_atupdated_atDefault columns: id, name, status, owner_email, start_date, created_at
Sort fields: created_at, end_date, id, name, start_date, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
status | string | =, !=, in |
status_key | string | =, !=, in |
owner_email | string | =, !=, in |
assignee_email | string | =, !=, in |
start_date | date | =, gte, lte |
end_date | date | =, gte, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
board.sprintBoard Sprint
Permission: board.* · OData entity set: board_sprints
Required request scope: scope.board_key. Copy the stable key from Query Explorer.
Selectable columns
idnamedescriptionstatusstatus_keyboard_keystart_dateend_dateis_activecreated_atupdated_atDefault columns: id, name, status, is_active, start_date, created_at
Sort fields: created_at, end_date, id, is_active, name, start_date, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
status | string | =, !=, in |
status_key | string | =, !=, in |
is_active | bool | =, != |
start_date | date | =, gte, lte |
end_date | date | =, gte, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
board.taskBoard Task
Permission: board.* · OData entity set: board_tasks
Required request scope: scope.board_key. Copy the stable key from Query Explorer.
Selectable columns
idtitledescriptionstatusstatus_keyboard_keydue_dateplanned_start_dateestimated_hourslogged_hoursassignee_emailscreated_atupdated_atDefault columns: id, title, status, due_date, created_at
Sort fields: created_at, due_date, estimated_hours, id, logged_hours, planned_start_date, title, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
status | string | =, !=, in |
status_key | string | =, !=, in |
assignee_email | string | =, !=, in |
due_date | date | =, gte, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
crm.accountCRM Account
Permission: crm.* · OData entity set: crm_accounts
Required request scope: scope.crm_space_key. Copy the stable key from Query Explorer.
Selectable columns
idnameindustrysegmentregionhealth_statusowner_emailcrm_space_keywebsitecreated_atupdated_atDefault columns: id, name, industry, health_status, created_at
Sort fields: created_at, health_status, id, name, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
name | string | =, !=, in |
industry | string | =, !=, in |
segment | string | =, !=, in |
region | string | =, !=, in |
health_status | string | =, !=, in |
owner_email | string | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
crm.contactCRM Contact
Permission: crm.* · OData entity set: crm_contacts
Required request scope: scope.crm_space_key. Copy the stable key from Query Explorer.
Selectable columns
idnamefirst_namelast_nameemailtitlephonelifecycle_statusaccount_nameaccount_idowner_emailcrm_space_keycreated_atupdated_atDefault columns: id, name, email, title, lifecycle_status, created_at
Sort fields: created_at, email, id, name, title, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
email | string | =, !=, in |
title | string | =, !=, in |
lifecycle_status | string | =, !=, in |
owner_email | string | =, !=, in |
account_name | string | =, !=, in |
account_id | uuid | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
crm.dealCRM Deal
Permission: crm.* · OData entity set: crm_deals
Required request scope: scope.crm_space_key. Copy the stable key from Query Explorer.
Selectable columns
idnamestagestatusamountcurrencyaccount_nameaccount_idprimary_contact_nameprimary_contact_idconverted_from_lead_idowner_emailcrm_space_keyclose_datecreated_atupdated_atDefault columns: id, name, stage, status, amount, created_at
Sort fields: amount, close_date, created_at, id, name, stage, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
stage | string | =, !=, in |
status | string | =, !=, in |
currency | string | =, !=, in |
amount | decimal | =, !=, gt, gte, lt, lte |
owner_email | string | =, !=, in |
account_name | string | =, !=, in |
account_id | uuid | =, !=, in |
primary_contact_id | uuid | =, !=, in |
converted_from_lead_id | uuid | =, !=, in |
close_date | date | =, gte, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
crm.leadCRM Lead
Permission: crm.* · OData entity set: crm_leads
Required request scope: scope.crm_space_key. Copy the stable key from Query Explorer.
Selectable columns
idnamefull_nameemailcompany_namephonestatusstagesourceowner_emailcrm_space_keyaccount_nameaccount_idcontact_idis_convertedconverted_to_deal_idcreated_atupdated_atDefault columns: id, name, email, status, stage, created_at
Sort fields: created_at, email, id, name, stage, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
email | string | =, !=, in |
status | string | =, !=, in |
stage | string | =, !=, in |
company_name | string | =, !=, in |
source | string | =, !=, in |
owner_email | string | =, !=, in |
account_id | uuid | =, !=, in |
contact_id | uuid | =, !=, in |
is_converted | bool | =, != |
converted_to_deal_id | uuid | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
crm.noteCRM Note
Permission: crm.* · OData entity set: crm_notes
Required request scope: scope.crm_space_key. Copy the stable key from Query Explorer.
Selectable columns
idsubjectnoteentity_typeentity_idcrm_space_keyagent_emailoccurred_atcreated_atDefault columns: id, subject, entity_type, entity_id, occurred_at
Sort fields: created_at, entity_type, id, occurred_at, subject. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
entity_type | string | =, !=, in |
entity_id | uuid | =, !=, in |
agent_email | string | =, !=, in |
occurred_at | datetime | =, gte, lte |
created_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
crm.prospectCRM Prospect
Permission: crm.* · OData entity set: crm_prospects
Required request scope: scope.crm_space_key. Copy the stable key from Query Explorer.
Selectable columns
idnameemailphonestatussourceowner_emailcrm_space_keycompany_namecreated_atupdated_atlast_activity_atnext_action_atDefault columns: id, name, email, status, source, created_at
Sort fields: created_at, id, last_activity_at, name, next_action_at, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
email | string | =, !=, in |
status | string | =, !=, in |
source | string | =, !=, in |
owner_email | string | =, !=, in |
company_name | string | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
last_activity_at | datetime | =, gte, lte |
next_action_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
desk.commentDesk Comment
Permission: desk.* · OData entity set: desk_comments
Required request scope: scope.desk_key. Copy the stable key from Query Explorer.
Selectable columns
idbodyauthor_typesourceticket_idreceived_atcreated_atDefault columns: id, body, author_type, source, created_at
Sort fields: author_type, created_at, id, received_at, source. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
author_type | string | =, !=, in |
source | string | =, !=, in |
ticket_id | uuid | =, !=, in |
received_at | datetime | =, gte, lte |
created_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
desk.ticketDesk Ticket
Permission: desk.* · OData entity set: desk_tickets
Required request scope: scope.desk_key. Copy the stable key from Query Explorer.
Selectable columns
idtitlesummaryrequester_namerequester_emailprioritystatusstatus_keychanneldesk_keyticket_referenceowner_emailcreated_atupdated_atclosed_atDefault columns: id, title, status, priority, ticket_reference, created_at
Sort fields: closed_at, created_at, id, priority, ticket_reference, title, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
priority | string | =, !=, in |
channel | string | =, !=, in |
requester_email | string | =, !=, in |
status | string | =, !=, in |
status_key | string | =, !=, in |
owner_email | string | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
closed_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
files.fileVault File
Permission: files.* · OData entity set: files_files
Selectable columns
idnamefile_typesizecreated_by_emailcreated_atupdated_atfolder_idDefault columns: id, name, file_type, size, created_by_email, created_at, updated_at, folder_id
Sort fields: created_at, file_type, id, name, size, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
file_type | string | =, !=, in |
created_by_email | string | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
files.folderVault Folder
Permission: files.* · OData entity set: files_folders
Selectable columns
idnamecreated_by_emailcreated_atparent_idDefault columns: id, name, created_by_email, created_at, parent_id
Sort fields: created_at, id, name. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
name | string | =, !=, in |
created_by_email | string | =, !=, in |
created_at | datetime | =, gte, lte |
id | uuid | =, !=, in |
finance.customer_paymentFinance Customer Payments
Permission: finance.* · OData entity set: finance_customer_payments
Selectable columns
idpayment_numbercustomer_idcash_account_idpayment_dateamountunapplied_amountfunctional_amountcurrencyexchange_ratestatuspayment_methodjournal_idreversed_by_payment_idcompleted_atcreated_atupdated_atDefault columns: id, payment_number, customer_id, cash_account_id, payment_date, amount, unapplied_amount, functional_amount, currency, exchange_rate, status, payment_method, journal_id, reversed_by_payment_id, completed_at, created_at, updated_at
Sort fields: id, payment_number, customer_id, cash_account_id, payment_date, amount, unapplied_amount, functional_amount, currency, exchange_rate, status, payment_method, journal_id, reversed_by_payment_id, completed_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
finance.invoiceFinance Invoice
Permission: finance.* · OData entity set: finance_invoices
Selectable columns
idinvoice_numberclient_namecustomer_idcustomer_namestatuscurrencyamountsubtotalvat_amountdiscount_amountissue_datedue_datenotescreated_by_emailcreated_atupdated_atDefault columns: id, invoice_number, client_name, status, amount, currency, issue_date, due_date
Sort fields: amount, created_at, due_date, id, invoice_number, issue_date, status, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
invoice_number | string | =, !=, in |
client_name | string | =, !=, in |
status | string | =, !=, in |
currency | string | =, !=, in |
customer_id | uuid | =, !=, in |
issue_date | date | =, gt, gte, lt, lte |
due_date | date | =, gt, gte, lt, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
finance.invoice_itemFinance Invoice Line
Permission: finance.* · OData entity set: finance_invoice_items
Selectable columns
idinvoice_iddescriptionquantityunit_pricediscount_amountrecognition_methodcreated_atupdated_atDefault columns: id, invoice_id, description, quantity, unit_price, discount_amount
Sort fields: created_at, description, id, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
invoice_id | uuid | =, !=, in |
description | string | =, !=, in |
recognition_method | string | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
finance.journal_entryFinance Journal Entries
Permission: finance.* · OData entity set: finance_journal_entries
Selectable columns
idnumberentry_dateperiod_idkindstatusnarrationtransaction_currencysource_typesource_idreversal_of_idapproved_atposted_atcreated_atupdated_atDefault columns: id, number, entry_date, period_id, kind, status, narration, transaction_currency, source_type, source_id, reversal_of_id, approved_at, posted_at, created_at, updated_at
Sort fields: id, number, entry_date, period_id, kind, status, narration, transaction_currency, source_type, source_id, reversal_of_id, approved_at, posted_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
finance.journal_lineFinance Journal Lines
Permission: finance.* · OData entity set: finance_journal_lines
Selectable columns
idjournal_idsequenceaccount_iddebitcredittransaction_amounttransaction_currencyexchange_ratedescriptiondepartment_idproject_idcustomer_idvendor_idcreated_atupdated_atDefault columns: id, journal_id, sequence, account_id, debit, credit, transaction_amount, transaction_currency, exchange_rate, description, department_id, project_id, customer_id, vendor_id, created_at, updated_at
Sort fields: id, journal_id, sequence, account_id, debit, credit, transaction_amount, transaction_currency, exchange_rate, description, department_id, project_id, customer_id, vendor_id, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
finance.ledger_accountFinance Ledger Accounts
Permission: finance.* · OData entity set: finance_ledger_accounts
Selectable columns
idcodenameaccount_typesubtypenormal_balanceparent_idcontrol_purposeis_systemis_activecurrencycreated_atupdated_atDefault columns: id, code, name, account_type, subtype, normal_balance, parent_id, control_purpose, is_system, is_active, currency, created_at, updated_at
Sort fields: id, code, name, account_type, subtype, normal_balance, parent_id, control_purpose, is_system, is_active, currency, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
finance.vendor_paymentFinance Vendor Payments
Permission: finance.* · OData entity set: finance_vendor_payments
Selectable columns
idpayment_numbervendor_idcash_account_idpayment_dateamountunapplied_amountfunctional_amountcurrencyexchange_ratestatuspayment_methodjournal_idreversed_by_payment_idcompleted_atcreated_atupdated_atDefault columns: id, payment_number, vendor_id, cash_account_id, payment_date, amount, unapplied_amount, functional_amount, currency, exchange_rate, status, payment_method, journal_id, reversed_by_payment_id, completed_at, created_at, updated_at
Sort fields: id, payment_number, vendor_id, cash_account_id, payment_date, amount, unapplied_amount, functional_amount, currency, exchange_rate, status, payment_method, journal_id, reversed_by_payment_id, completed_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
goals.itemGoals Items
Permission: goals.* · OData entity set: goals_items
Selectable columns
idtitletypeparent_idteamyearquarterstart_dateend_datestatusconfidencemetricunittargetprogresscurrentcreated_atupdated_atDefault columns: id, title, type, parent_id, team, year, quarter, start_date, end_date, status, confidence, metric, unit, target, progress, current, created_at, updated_at
Sort fields: id, title, type, parent_id, team, year, quarter, start_date, end_date, status, confidence, metric, unit, target, progress, current, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
pages.pagePages Pages
Permission: pages.* · OData entity set: pages_pages
Selectable columns
idnameslugtemplate_categorystatuspublished_atcreated_atupdated_atDefault columns: id, name, slug, template_category, status, published_at, created_at, updated_at
Sort fields: id, name, slug, template_category, status, published_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
pages.submissionPages Submissions
Permission: pages.* · OData entity set: pages_submissions
Selectable columns
idpage_idform_block_idstatusoccurred_atprocessed_atcreated_atupdated_atDefault columns: id, page_id, form_block_id, status, occurred_at, processed_at, created_at, updated_at
Sort fields: id, page_id, form_block_id, status, occurred_at, processed_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
people.departmentPeople Department
Permission: people.* · OData entity set: people_departments
Selectable columns
idnamedescriptionparent_department_idparent_department_namelead_employee_idcreated_atupdated_atDefault columns: id, name, parent_department_name, created_at
Sort fields: created_at, id, name, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
name | string | =, !=, in |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
people.employeePeople Employee
Permission: people.* · OData entity set: people_employees
Selectable columns
idfull_namefirst_namelast_nameemaildepartment_iddepartment_namemanager_idemployment_typestatusjoin_datelocationteamcreated_atupdated_atDefault columns: id, full_name, email, department_name, employment_type, status, join_date
Sort fields: created_at, email, first_name, id, join_date, last_name, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
email | string | =, !=, in |
department_id | uuid | =, !=, in |
employment_type | string | =, !=, in |
status | string | =, !=, in |
join_date | date | =, gt, gte, lt, lte |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
procure.purchase_orderProcure Purchase Orders
Permission: procure.* · OData entity set: procure_purchase_orders
Selectable columns
idvendor_idpo_numbercurrencyapproval_statusissue_statusreceipt_statusbilling_statusclosure_statuspurchase_request_idcontract_idamountdelivery_datestatusdepartmentcreated_atupdated_atDefault columns: id, vendor_id, po_number, currency, approval_status, issue_status, receipt_status, billing_status, closure_status, purchase_request_id, contract_id, amount, delivery_date, status, department, created_at, updated_at
Sort fields: id, vendor_id, po_number, currency, approval_status, issue_status, receipt_status, billing_status, closure_status, purchase_request_id, contract_id, amount, delivery_date, status, department, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
procure.purchase_requestProcure Purchase Requests
Permission: procure.* · OData entity set: procure_purchase_requests
Selectable columns
idtitlerequisition_numbercurrencyapproval_statusdepartment_idvendor_idcategoryneed_by_dateprocurement_stageselected_routecompleted_atclosed_atstatusamountprioritysubmitted_atcreated_atupdated_atDefault columns: id, title, requisition_number, currency, approval_status, department_id, vendor_id, category, need_by_date, procurement_stage, selected_route, completed_at, closed_at, status, amount, priority, submitted_at, created_at, updated_at
Sort fields: id, title, requisition_number, currency, approval_status, department_id, vendor_id, category, need_by_date, procurement_stage, selected_route, completed_at, closed_at, status, amount, priority, submitted_at, created_at, updated_at. Prefix a field with - for descending order.
Filter types are derived from the dataset schema. Use Query Explorer to select a supported field and operator; use OData metadata for EDM property types.
procure.vendorProcure Supplier
Permission: procure.* · OData entity set: procure_vendors
Selectable columns
idnamesupplier_numberlegal_namecategorystatuscountrycurrencyratinglifetime_spendperformance_scoreactive_contractscontact_emailis_activecreated_atupdated_atDefault columns: id, name, category, status, currency, lifetime_spend, created_at
Sort fields: category, created_at, id, lifetime_spend, name, rating, updated_at. Prefix a field with - for descending order.
| Field | Value type | Operators |
|---|---|---|
id | uuid | =, !=, in |
name | string | =, !=, in |
supplier_number | string | =, !=, in |
category | string | =, !=, in |
status | string | =, !=, in |
country | string | =, !=, in |
currency | string | =, !=, in |
contact_email | string | =, !=, in |
is_active | bool | =, != |
created_at | datetime | =, gte, lte |
updated_at | datetime | =, gte, lte |
Errors and diagnostics
Public errors use {error: {code, message}} and usually include X-Request-ID. Validation errors from Query/Search return 422; permission failures return 403. Detailed field validation may be collapsed into a general public message. Reproduce the request in Query Explorer or Search Explorer for context, then use the troubleshooting guide.
Keep the request ID, endpoint and time of the failure. Remove credentials and private records before contacting Workroomly.