Reference
companies · API
Endpoints, parameters, request bodies and response schemas for companies in Squario API v1.
companies
13 documented operations
Contract descriptions and schemas are kept in English, exactly as generated by the API.
GET/v1/companies
List companies
Operation list_companies
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
pageOptional | query | 1-based page number, for pages within the first 10,000 records (the last is floor(10000 / page_size) + 1). Deeper, walk with View JSON schema{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
cursorOptional | query | Keyset pagination: View JSON schema{
"type": "string"
} |
page_sizeOptional | query | Records per page. View JSON schema{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
} |
sortOptional | query | A sortable field key (GET /v1/resources/{resource} lists View JSON schema{
"type": "string"
} |
orderOptional | query | Sort direction. View JSON schema{
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
} |
searchOptional | query | Free-text search. View JSON schema{
"type": "string"
} |
include_archivedOptional | query | Include archived records. View JSON schema{
"type": "boolean",
"default": false
} |
filterOptional | query | A URL-encoded JSON array of filters.
|
joinOptional | query | How filters combine. View JSON schema{
"type": "string",
"enum": [
"and",
"or"
],
"default": "and"
} |
fieldsOptional | query | Comma-separated top-level properties to return ( View JSON schema{
"type": "string"
} |
Responses
200 One page of records.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/companies_record"
}
},
"meta": {
"$ref": "#/components/schemas/ListMeta"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
POST/v1/companies
Create one of companies
Operation create_companies
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Request body
Required
application/json · View JSON schema
{
"type": "object",
"additionalProperties": true,
"description": "Field values keyed by field key; only the fields to set. Custom fields as cf__<key> fields or as one `custom_fields` object (not both). An unknown field is refused (422). data_model_records take `model_id` here or as a query parameter. GET /v1/resources/{resource} lists the writable fields."
}Responses
201 The created record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/companies_record"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.LocationThe created record's URL.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
POST/v1/companies/query
List companies, parameters in the body
Operation query_companies
The list endpoint with its parameters as JSON (filters as a real array). Counts as a read.
Authentication · Workspace API key
Parameters
This operation has no parameters.
Request body
Optional
application/json · View JSON schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1,
"description": "1-based page number, for pages within the first 10,000 records (the last is floor(10000 / page_size) + 1). Deeper, walk with `cursor`. Not combinable with `cursor`."
},
"cursor": {
"type": "string",
"description": "Keyset pagination: `start` begins a walk, then send each response's `meta.next_cursor` verbatim until it is null. Reaches any depth; keep the same sort, order, search and filters throughout. Not combinable with `page`."
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
},
"sort": {
"type": "string"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"search": {
"type": "string",
"description": "Free text; full-text-indexed resources only."
},
"include_archived": {
"type": "boolean",
"default": false
},
"filters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Filter"
}
},
"join": {
"type": "string",
"enum": [
"and",
"or"
],
"default": "and"
},
"model_id": {
"type": "string",
"format": "uuid",
"description": "Required for data_model_records only."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Top-level properties to return (`id` is always kept); a name the record does not have is skipped."
}
}
}Responses
200 One page of records.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/companies_record"
}
},
"meta": {
"$ref": "#/components/schemas/ListMeta"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/companies/{id}
Get one of companies
Operation get_companies
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
fieldsOptional | query | Comma-separated top-level properties to return ( View JSON schema{
"type": "string"
} |
Responses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/companies_record"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
PATCH/v1/companies/{id}
Update one of companies
Operation update_companies
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Request body
Required
application/json · View JSON schema
{
"type": "object",
"additionalProperties": true,
"description": "Field values keyed by field key; only the fields to set. Custom fields as cf__<key> fields or as one `custom_fields` object (not both). An unknown field is refused (422). data_model_records take `model_id` here or as a query parameter. GET /v1/resources/{resource} lists the writable fields."
}Responses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/companies_record"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/companies/{id}
Archive one of companies
Operation archive_companies
A soft delete: the record is archived and can be restored.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Request body
Optional
application/json · View JSON schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"reason": {
"type": "string",
"maxLength": 1000
}
}
}Responses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/companies_record"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
POST/v1/companies/{id}/restore
Restore an archived one of companies
Operation restore_companies
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Responses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/companies_record"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/companies/{id}/contacts
List the contacts linked to one of companies
Operation list_companies_contacts
A contact's current employment at a company. Removing it ends the employment (ended_at is set to today and is_primary cleared) rather than deleting it, as the app does; ended employments are not listed. A key with a resource list must cover contacts as well as companies.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
pageOptional | query | 1-based page of links. View JSON schema{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
page_sizeOptional | query | Links per page. View JSON schema{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
} |
Responses
200 One page of links, oldest first.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/company_contacts_link"
}
},
"meta": {
"$ref": "#/components/schemas/LinkListMeta"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
PUT/v1/companies/{id}/contacts/{target_id}
Link one of contacts to one of companies, or update the link
Operation link_companies_contacts
A contact's current employment at a company. Removing it ends the employment (ended_at is set to today and is_primary cleared) rather than deleting it, as the app does; ended employments are not listed. Creates the link (201) or updates its fields (200); repeating it changes nothing. A key with a resource list must cover contacts as well as companies.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
target_idRequired | path | The UUID of the record on the other side of the link. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Request body
Optional
application/json · View JSON schema
{
"type": "object",
"additionalProperties": false,
"description": "The link fields to set; each is optional and an omitted one is left as it is. An unknown field is refused (422).",
"properties": {
"job_title": {
"description": "The contact's job title at the company.",
"type": [
"string",
"null"
]
},
"department": {
"description": "Their department.",
"type": [
"string",
"null"
]
},
"role_label": {
"description": "A short label for their role (1 to 150 characters).",
"type": [
"string",
"null"
],
"maxLength": 150
},
"role_description": {
"description": "What the role covers.",
"type": [
"string",
"null"
]
},
"decision_power": {
"description": "How much weight they carry in a buying decision, 0 to 100.",
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 100
},
"buying_role": {
"description": "Their role on the buying committee.",
"type": [
"string",
"null"
],
"enum": [
"champion",
"economic_buyer",
"decision_maker",
"technical_evaluator",
"procurement",
"influencer",
"blocker",
"end_user",
null
]
},
"is_primary": {
"description": "The contact's primary company. Setting it demotes the contact's other primary link. Defaults to false on a new link; left as it is when omitted on an existing one.",
"type": "boolean"
},
"is_decision_maker": {
"description": "They take the decision.",
"type": "boolean"
},
"is_billing_contact": {
"description": "They receive the invoices.",
"type": "boolean"
},
"is_technical_contact": {
"description": "They are the technical contact.",
"type": "boolean"
},
"started_at": {
"description": "When the employment started (YYYY-MM-DD).",
"type": [
"string",
"null"
],
"format": "date"
},
"notes": {
"description": "Free-text notes about the relationship.",
"type": [
"string",
"null"
]
}
}
}Responses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_contacts_link"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
201 The new link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_contacts_link"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/companies/{id}/contacts/{target_id}
Unlink one of contacts from one of companies
Operation unlink_companies_contacts
A contact's current employment at a company. Removing it ends the employment (ended_at is set to today and is_primary cleared) rather than deleting it, as the app does; ended employments are not listed. Answers the removed link; 404 when the two are not linked. A key with a resource list must cover contacts as well as companies.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
target_idRequired | path | The UUID of the record on the other side of the link. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Responses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_contacts_link"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/companies/{id}/tags
List the tags linked to one of companies
Operation list_companies_tags
A tag on one of companies. The tag must be active in the workspace. A key with a resource list must cover tags as well as companies.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
pageOptional | query | 1-based page of links. View JSON schema{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
page_sizeOptional | query | Links per page. View JSON schema{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
} |
Responses
200 One page of links, oldest first.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/company_tags_link"
}
},
"meta": {
"$ref": "#/components/schemas/LinkListMeta"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
PUT/v1/companies/{id}/tags/{target_id}
Link one of tags to one of companies, or update the link
Operation link_companies_tags
A tag on one of companies. The tag must be active in the workspace. Creates the link (201) or updates its fields (200); repeating it changes nothing. A key with a resource list must cover tags as well as companies.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
target_idRequired | path | The UUID of the record on the other side of the link. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Responses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_tags_link"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
201 The new link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_tags_link"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/companies/{id}/tags/{target_id}
Unlink one of tags from one of companies
Operation unlink_companies_tags
A tag on one of companies. The tag must be active in the workspace. Answers the removed link; 404 when the two are not linked. A key with a resource list must cover tags as well as companies.
Authentication · Workspace API key
Parameters
| Parameter | Location | Contract |
|---|---|---|
idRequired | path | The record's UUID. View JSON schema{
"type": "string",
"format": "uuid"
} |
target_idRequired | path | The UUID of the record on the other side of the link. View JSON schema{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyOptional | header | Makes the write safe to retry: a repeat of the same request with the same key within 24 hours returns the first successful response (with View JSON schema{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Responses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_tags_link"
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.X-RateLimit-LimitRequests allowed in the window of the tightest rate limit (absent when none applies).X-RateLimit-RemainingRequests left in that window.X-RateLimit-ResetSeconds until that window resets.X-Quota-LimitThe workspace's monthly request quota (absent when uncapped).X-Quota-RemainingRequests left this month (absent when uncapped).X-Quota-ResetWhen the monthly quota resets.Idempotent-Replayedtruewhen this is the stored response to an earlier request with the same Idempotency-Key.
400 Malformed parameters or body (invalid_request).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
401 Missing, unknown, revoked or expired API key.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.WWW-Authenticate
403 The key or its owner may not make this request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
404 No such route, resource or record.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
405 The method is not allowed here (e.g. a write on a read-only resource).
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Allow
409 The write conflicts with an existing record, or a request with the same Idempotency-Key is still running.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
413 The body is over 1 MiB.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
422 The workspace refused the values (unknown field, required field, rule), or the Idempotency-Key was already used for a different request.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
429 Rate limited, or the monthly quota is used up.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.Retry-AfterSeconds to wait before retrying.X-RateLimit-ResetSeconds until that window resets.
500 Unexpected failure.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
503 Temporarily unable to check the key or reach the data.
application/json
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}Response headers
X-Request-IdThis request's id; quote it when reporting a problem.
Schema definitions
Filter
{
"type": "object",
"additionalProperties": false,
"required": [
"field",
"op"
],
"properties": {
"field": {
"type": "string",
"description": "A field key; a custom field's `filter_key` (cfv:<id>) from GET /v1/resources/{resource}; or rel:<fk_column>.<column> for a related record's column."
},
"op": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"gte",
"lt",
"lte",
"iLike",
"notILike",
"inArray",
"notInArray",
"isBetween",
"isEmpty",
"isNotEmpty"
]
},
"value": {
"description": "A scalar for most operators; an array for inArray/notInArray; a [low, high] pair for isBetween; omitted for isEmpty/isNotEmpty. Dates are ISO 8601."
}
}
}companies_record
{
"type": "object",
"title": "Company",
"description": "A Company record as the key's owner may read it. Built-in fields are listed; custom fields and anything else the workspace adds arrive as further properties. GET /v1/resources/companies describes this workspace's fields.",
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"title": "Company Name",
"x-squario-kind": "text"
},
"legal_name": {
"title": "Legal Name",
"x-squario-kind": "text"
},
"description": {
"title": "Description",
"x-squario-kind": "text"
},
"website": {
"title": "Website",
"x-squario-kind": "text"
},
"domain": {
"title": "Domain",
"x-squario-kind": "text"
},
"logo_url": {
"title": "Logo",
"x-squario-kind": "media"
},
"country_code": {
"title": "Country",
"x-squario-kind": "relation"
},
"registration_country": {
"title": "Registration Country",
"x-squario-kind": "relation"
},
"timezone_id": {
"title": "Timezone",
"x-squario-kind": "relation"
},
"locale_code": {
"title": "Locale",
"x-squario-kind": "relation"
},
"legal_form_id": {
"title": "Legal Form",
"x-squario-kind": "relation"
},
"entity_size_id": {
"title": "Company Size",
"x-squario-kind": "relation"
},
"incorporated_at": {
"title": "Incorporation Date",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date"
},
"fiscal_year_end_month": {
"title": "Fiscal Year End",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"currency_code": {
"title": "Default Currency",
"x-squario-kind": "relation"
},
"annual_revenue_min": {
"title": "Annual Revenue (Min)",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"annual_revenue_max": {
"title": "Annual Revenue (Max)",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"annual_revenue_currency": {
"title": "Revenue Currency",
"x-squario-kind": "relation"
},
"employee_count_min": {
"title": "Employees (Min)",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"employee_count_max": {
"title": "Employees (Max)",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"lifecycle": {
"title": "Lifecycle Stage",
"x-squario-kind": "enum"
},
"source": {
"title": "Source",
"x-squario-kind": "enum"
},
"source_detail": {
"title": "Source Detail",
"x-squario-kind": "text"
},
"parent_company_id": {
"title": "Parent Company",
"x-squario-kind": "relation"
},
"preferred_channel": {
"title": "Preferred Contact Channel",
"x-squario-kind": "enum"
},
"preferred_contact_time": {
"title": "Preferred Contact Time",
"x-squario-kind": "text"
},
"do_not_call": {
"title": "Do Not Call",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"do_not_email": {
"title": "Do Not Email",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"do_not_mail": {
"title": "Do Not Mail",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"do_not_contact": {
"title": "Do Not Contact",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"do_not_contact_reason": {
"title": "Do Not Contact Reason",
"x-squario-kind": "text"
},
"referred_by_company_id": {
"title": "Referred By Company",
"x-squario-kind": "relation"
},
"referred_by_contact_id": {
"title": "Referred By Contact",
"x-squario-kind": "relation"
},
"utm_source": {
"title": "UTM Source",
"x-squario-kind": "text"
},
"utm_medium": {
"title": "UTM Medium",
"x-squario-kind": "text"
},
"utm_campaign": {
"title": "UTM Campaign",
"x-squario-kind": "text"
},
"utm_term": {
"title": "UTM Term",
"x-squario-kind": "text"
},
"utm_content": {
"title": "UTM Content",
"x-squario-kind": "text"
},
"is_tax_exempt": {
"title": "Tax Exempt",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"tax_exempt_reason": {
"title": "Tax Exempt Reason",
"x-squario-kind": "text"
},
"owner_member_id": {
"title": "Owner",
"x-squario-kind": "relation"
},
"notes": {
"title": "Notes",
"x-squario-kind": "text"
},
"internal_notes": {
"title": "Internal Notes",
"x-squario-kind": "text"
},
"health_status": {
"title": "Health Status",
"x-squario-kind": "enum"
},
"company_display_icon": {
"title": "Logo",
"x-squario-kind": "media"
},
"last_activity_type": {
"title": "Last activity type",
"x-squario-kind": "enum"
},
"last_activity_at": {
"title": "Last activity at",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"next_activity_type": {
"title": "Next activity type",
"x-squario-kind": "enum"
},
"next_activity_at": {
"title": "Next activity at",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"inactivity_days": {
"title": "Inactivity",
"x-squario-kind": "text"
},
"created_at": {
"title": "Created",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"tag_ids": {
"title": "Labels",
"x-squario-kind": "relation"
}
}
}ListMeta
{
"type": "object",
"description": "Page mode carries `page`; cursor mode carries `next_cursor` and `cursor_supported` instead, and `has_more` is `next_cursor !== null`.",
"required": [
"page_size",
"total",
"has_more"
],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page mode only."
},
"next_cursor": {
"type": [
"string",
"null"
],
"description": "Cursor mode only: send it as `cursor` for the next page; null on the last one."
},
"cursor_supported": {
"type": "boolean",
"description": "Cursor mode only. False when this sort cannot be walked (search relevance): the response is then a plain first page with no `next_cursor`."
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"total": {
"type": "integer",
"minimum": 0
},
"total_is_capped": {
"type": "boolean",
"description": "Present when the count stopped at its cap: `total` is then a lower bound."
},
"has_more": {
"type": "boolean"
}
}
}Error
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"required": [
"type",
"code",
"message",
"request_id"
],
"properties": {
"type": {
"type": "string",
"enum": [
"invalid_request_error",
"authentication_error",
"permission_error",
"not_found_error",
"conflict_error",
"validation_error",
"rate_limit_error",
"api_error"
]
},
"code": {
"type": "string",
"enum": [
"invalid_request",
"invalid_api_key",
"expired_api_key",
"key_assurance_stale",
"ip_not_allowed",
"permission_denied",
"plan_upgrade_required",
"insufficient_scope",
"feature_unavailable",
"forbidden",
"not_found",
"unknown_resource",
"route_not_found",
"method_not_allowed",
"conflict",
"idempotency_key_in_use",
"payload_too_large",
"validation_failed",
"idempotency_key_reused",
"rate_limited",
"quota_exceeded",
"internal_error",
"service_unavailable"
]
},
"message": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}RecordWrite
{
"type": "object",
"additionalProperties": true,
"description": "Field values keyed by field key; only the fields to set. Custom fields as cf__<key> fields or as one `custom_fields` object (not both). An unknown field is refused (422). data_model_records take `model_id` here or as a query parameter. GET /v1/resources/{resource} lists the writable fields."
}QueryRequest
{
"type": "object",
"additionalProperties": false,
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1,
"description": "1-based page number, for pages within the first 10,000 records (the last is floor(10000 / page_size) + 1). Deeper, walk with `cursor`. Not combinable with `cursor`."
},
"cursor": {
"type": "string",
"description": "Keyset pagination: `start` begins a walk, then send each response's `meta.next_cursor` verbatim until it is null. Reaches any depth; keep the same sort, order, search and filters throughout. Not combinable with `page`."
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
},
"sort": {
"type": "string"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"search": {
"type": "string",
"description": "Free text; full-text-indexed resources only."
},
"include_archived": {
"type": "boolean",
"default": false
},
"filters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Filter"
}
},
"join": {
"type": "string",
"enum": [
"and",
"or"
],
"default": "and"
},
"model_id": {
"type": "string",
"format": "uuid",
"description": "Required for data_model_records only."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Top-level properties to return (`id` is always kept); a name the record does not have is skipped."
}
}
}ArchiveRequest
{
"type": "object",
"additionalProperties": false,
"properties": {
"reason": {
"type": "string",
"maxLength": 1000
}
}
}company_contacts_link
{
"type": "object",
"description": "A contact's current employment at a company. Removing it ends the employment (`ended_at` is set to today and `is_primary` cleared) rather than deleting it, as the app does; ended employments are not listed.",
"additionalProperties": false,
"required": [
"company_id",
"contact_id",
"job_title",
"department",
"role_label",
"role_description",
"decision_power",
"buying_role",
"is_primary",
"is_decision_maker",
"is_billing_contact",
"is_technical_contact",
"started_at",
"notes",
"ended_at",
"created_at",
"updated_at"
],
"properties": {
"company_id": {
"type": "string",
"format": "uuid",
"description": "The companies record's id."
},
"contact_id": {
"type": "string",
"format": "uuid",
"description": "The contacts record's id."
},
"job_title": {
"description": "The contact's job title at the company.",
"type": [
"string",
"null"
]
},
"department": {
"description": "Their department.",
"type": [
"string",
"null"
]
},
"role_label": {
"description": "A short label for their role (1 to 150 characters).",
"type": [
"string",
"null"
],
"maxLength": 150
},
"role_description": {
"description": "What the role covers.",
"type": [
"string",
"null"
]
},
"decision_power": {
"description": "How much weight they carry in a buying decision, 0 to 100.",
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 100
},
"buying_role": {
"description": "Their role on the buying committee.",
"type": [
"string",
"null"
],
"enum": [
"champion",
"economic_buyer",
"decision_maker",
"technical_evaluator",
"procurement",
"influencer",
"blocker",
"end_user",
null
]
},
"is_primary": {
"description": "The contact's primary company. Setting it demotes the contact's other primary link. Defaults to false on a new link; left as it is when omitted on an existing one.",
"type": [
"boolean",
"null"
]
},
"is_decision_maker": {
"description": "They take the decision.",
"type": [
"boolean",
"null"
]
},
"is_billing_contact": {
"description": "They receive the invoices.",
"type": [
"boolean",
"null"
]
},
"is_technical_contact": {
"description": "They are the technical contact.",
"type": [
"boolean",
"null"
]
},
"started_at": {
"description": "When the employment started (YYYY-MM-DD).",
"type": [
"string",
"null"
],
"format": "date"
},
"notes": {
"description": "Free-text notes about the relationship.",
"type": [
"string",
"null"
]
},
"ended_at": {
"type": [
"string",
"null"
],
"format": "date",
"description": "Set when the link was removed; always null on a listed link."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}LinkListMeta
{
"type": "object",
"required": [
"page",
"page_size",
"has_more"
],
"properties": {
"page": {
"type": "integer",
"minimum": 1
},
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"has_more": {
"type": "boolean"
}
}
}company_contacts_link_write
{
"type": "object",
"additionalProperties": false,
"description": "The link fields to set; each is optional and an omitted one is left as it is. An unknown field is refused (422).",
"properties": {
"job_title": {
"description": "The contact's job title at the company.",
"type": [
"string",
"null"
]
},
"department": {
"description": "Their department.",
"type": [
"string",
"null"
]
},
"role_label": {
"description": "A short label for their role (1 to 150 characters).",
"type": [
"string",
"null"
],
"maxLength": 150
},
"role_description": {
"description": "What the role covers.",
"type": [
"string",
"null"
]
},
"decision_power": {
"description": "How much weight they carry in a buying decision, 0 to 100.",
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 100
},
"buying_role": {
"description": "Their role on the buying committee.",
"type": [
"string",
"null"
],
"enum": [
"champion",
"economic_buyer",
"decision_maker",
"technical_evaluator",
"procurement",
"influencer",
"blocker",
"end_user",
null
]
},
"is_primary": {
"description": "The contact's primary company. Setting it demotes the contact's other primary link. Defaults to false on a new link; left as it is when omitted on an existing one.",
"type": "boolean"
},
"is_decision_maker": {
"description": "They take the decision.",
"type": "boolean"
},
"is_billing_contact": {
"description": "They receive the invoices.",
"type": "boolean"
},
"is_technical_contact": {
"description": "They are the technical contact.",
"type": "boolean"
},
"started_at": {
"description": "When the employment started (YYYY-MM-DD).",
"type": [
"string",
"null"
],
"format": "date"
},
"notes": {
"description": "Free-text notes about the relationship.",
"type": [
"string",
"null"
]
}
}
}company_tags_link
{
"type": "object",
"description": "A tag on one of companies. The tag must be active in the workspace.",
"additionalProperties": false,
"required": [
"company_id",
"tag_id",
"created_at"
],
"properties": {
"company_id": {
"type": "string",
"format": "uuid",
"description": "The companies record's id."
},
"tag_id": {
"type": "string",
"format": "uuid",
"description": "The tags record's id."
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}