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,productsandactivities. - Delivery resources include
projects,project_tasksand the project reference catalogs. - Workspace vocabulary includes pipelines, stages, tags, departments and other resource-specific catalogs.
entity_members,automationsandproject_approvalsare read-only.- The complete resource list and each supported operation appear in the endpoint reference.
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_idto describe or list model records, including POST /query. - Supply
model_idwhen 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.
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.