Workroomly / DevelopersBuild with your business context
Browse developer guides · REST API reference

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.

32 results
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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
asset_numberstring=, !=, in
namestring=, !=, in
category_namestring=, !=, in
lifecycle_statestring=, !=, in
operational_statestring=, !=, in
conditionstring=, !=, in
serial_numberstring=, !=, in
currencystring=, !=, in
acquisition_datedate=, gt, gte, lt, lte
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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_at

Default 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
statusstring=, !=, in
status_keystring=, !=, in
project_namestring=, !=, in
sprint_namestring=, !=, in
assignee_emailstring=, !=, in
start_datedate=, gte, lte
end_datedate=, gte, lte
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
statusstring=, !=, in
status_keystring=, !=, in
owner_emailstring=, !=, in
assignee_emailstring=, !=, in
start_datedate=, gte, lte
end_datedate=, gte, lte
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
statusstring=, !=, in
status_keystring=, !=, in
is_activebool=, !=
start_datedate=, gte, lte
end_datedate=, gte, lte
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
statusstring=, !=, in
status_keystring=, !=, in
assignee_emailstring=, !=, in
due_datedate=, gte, lte
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
namestring=, !=, in
industrystring=, !=, in
segmentstring=, !=, in
regionstring=, !=, in
health_statusstring=, !=, in
owner_emailstring=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
emailstring=, !=, in
titlestring=, !=, in
lifecycle_statusstring=, !=, in
owner_emailstring=, !=, in
account_namestring=, !=, in
account_iduuid=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
stagestring=, !=, in
statusstring=, !=, in
currencystring=, !=, in
amountdecimal=, !=, gt, gte, lt, lte
owner_emailstring=, !=, in
account_namestring=, !=, in
account_iduuid=, !=, in
primary_contact_iduuid=, !=, in
converted_from_lead_iduuid=, !=, in
close_datedate=, gte, lte
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
emailstring=, !=, in
statusstring=, !=, in
stagestring=, !=, in
company_namestring=, !=, in
sourcestring=, !=, in
owner_emailstring=, !=, in
account_iduuid=, !=, in
contact_iduuid=, !=, in
is_convertedbool=, !=
converted_to_deal_iduuid=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
entity_typestring=, !=, in
entity_iduuid=, !=, in
agent_emailstring=, !=, in
occurred_atdatetime=, gte, lte
created_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
emailstring=, !=, in
statusstring=, !=, in
sourcestring=, !=, in
owner_emailstring=, !=, in
company_namestring=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
last_activity_atdatetime=, gte, lte
next_action_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
author_typestring=, !=, in
sourcestring=, !=, in
ticket_iduuid=, !=, in
received_atdatetime=, gte, lte
created_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
prioritystring=, !=, in
channelstring=, !=, in
requester_emailstring=, !=, in
statusstring=, !=, in
status_keystring=, !=, in
owner_emailstring=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
closed_atdatetime=, gte, lte
iduuid=, !=, in
files.fileVault File

Permission: files.* · OData entity set: files_files

Selectable columns

idnamefile_typesizecreated_by_emailcreated_atupdated_atfolder_id

Default 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.

Allowed REST filters
FieldValue typeOperators
file_typestring=, !=, in
created_by_emailstring=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
iduuid=, !=, in
files.folderVault Folder

Permission: files.* · OData entity set: files_folders

Selectable columns

idnamecreated_by_emailcreated_atparent_id

Default columns: id, name, created_by_email, created_at, parent_id

Sort fields: created_at, id, name. Prefix a field with - for descending order.

Allowed REST filters
FieldValue typeOperators
namestring=, !=, in
created_by_emailstring=, !=, in
created_atdatetime=, gte, lte
iduuid=, !=, 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_at

Default 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
invoice_numberstring=, !=, in
client_namestring=, !=, in
statusstring=, !=, in
currencystring=, !=, in
customer_iduuid=, !=, in
issue_datedate=, gt, gte, lt, lte
due_datedate=, gt, gte, lt, lte
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
finance.invoice_itemFinance Invoice Line

Permission: finance.* · OData entity set: finance_invoice_items

Selectable columns

idinvoice_iddescriptionquantityunit_pricediscount_amountrecognition_methodcreated_atupdated_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
invoice_iduuid=, !=, in
descriptionstring=, !=, in
recognition_methodstring=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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_at

Default 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_at

Default 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_at

Default 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_at

Default 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_at

Default 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_at

Default 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_at

Default columns: id, name, parent_department_name, created_at

Sort fields: created_at, id, name, updated_at. Prefix a field with - for descending order.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
namestring=, !=, in
created_atdatetime=, gte, lte
updated_atdatetime=, gte, lte
people.employeePeople Employee

Permission: people.* · OData entity set: people_employees

Selectable columns

idfull_namefirst_namelast_nameemaildepartment_iddepartment_namemanager_idemployment_typestatusjoin_datelocationteamcreated_atupdated_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
emailstring=, !=, in
department_iduuid=, !=, in
employment_typestring=, !=, in
statusstring=, !=, in
join_datedate=, gt, gte, lt, lte
created_atdatetime=, gte, lte
updated_atdatetime=, 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_at

Default 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_at

Default 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_at

Default 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.

Allowed REST filters
FieldValue typeOperators
iduuid=, !=, in
namestring=, !=, in
supplier_numberstring=, !=, in
categorystring=, !=, in
statusstring=, !=, in
countrystring=, !=, in
currencystring=, !=, in
contact_emailstring=, !=, in
is_activebool=, !=
created_atdatetime=, gte, lte
updated_atdatetime=, 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.

Need help with your integration?

Keep the request ID, endpoint and time of the failure. Remove credentials and private records before contacting Workroomly.