Developer documentationAPI v1

Guides

Resources and live schemas

Discover the resource catalog, workspace fields, custom data models and the schema you can actually use.

Discover instead of guessing

Call /resources for the catalog available to your key, then /resources/{resource} for the workspace’s live field description and association catalog. The description includes the writable field schema, required fields, options and available keys for sorting and filtering. It is not a complete list of every readable or managed response field. A catalog entry is not a grant to read every record.

  • CRM resources include companies, contacts, deals, leads, products and activities.
  • Delivery resources include projects, project_tasks and the project reference catalogs.
  • Workspace vocabulary includes pipelines, stages, tags, departments and other resource-specific catalogs.
  • entity_members, automations and project_approvals are read-only.
  • The complete resource list and each supported operation appear in the endpoint reference.
Discover resources and fields
curl --fail-with-body "$SQUARIO_API_BASE/resources" \
  --header "Authorization: Bearer $SQUARIO_API_KEY"

curl --fail-with-body "$SQUARIO_API_BASE/resources/companies" \
  --header "Authorization: Bearer $SQUARIO_API_KEY"

Use the workspace’s field keys

Custom fields and option values vary by workspace. Read the description before building a payload. Filtering a custom field uses its filter_key, usually cfv:<definition-id>; writing uses cf__<key> or a custom_fields object keyed by the field key. Those are different identifiers. Formula fields and other read-only fields cannot be written.

Custom data model records

data_model_records exposes records inside a custom data model, including form-backed models. Get the model UUID from the app’s model settings or through the MCP list_data_models tool. There is no REST /data_models discovery endpoint.

  • Supply model_id to describe or list model records, including POST /query.
  • Supply model_id when creating or updating a model record, in the flat body or query string.
  • The live model schema determines its editable and required fields.
  • Keep the model identifier with your integration configuration; do not guess it from a record identifier.
Query a data model
read -r -p 'Data model id from Squario: ' MODEL_ID
curl --fail-with-body --get "$SQUARIO_API_BASE/data_model_records" \
  --header "Authorization: Bearer $SQUARIO_API_KEY" \
  --data-urlencode "model_id=$MODEL_ID" \
  --data-urlencode 'page_size=25'

curl --fail-with-body --get "$SQUARIO_API_BASE/resources/data_model_records" \
  --header "Authorization: Bearer $SQUARIO_API_KEY" \
  --data-urlencode "model_id=$MODEL_ID"

Select fields without bypassing permissions

Use fields=name,domain on a list or a record GET, or fields: ["name", "domain"] in a query body. id is kept. Names absent from the returned record are skipped. Field selection reduces the response size; it does not reduce database query work. Restricted fields remain masked or absent according to the resource projection.

A contract that follows your configuration

Use the OpenAPI reference for routes and transport schemas, and the authenticated description for live workspace fields. The static reference cannot know your custom fields or every role’s current permissions.