Référence
contacts · API
Endpoints, paramètres, corps de requête et schémas de réponse pour contacts dans l’API v1 de Squario.
contacts
16 opérations documentées
Les descriptions du contrat et les schémas restent en anglais, tels que générés par l’API.
GET/v1/contacts
List contacts
Opération list_contacts
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
pageFacultatif | query | 1-based page number, for pages within the first 10,000 records (the last is floor(10000 / page_size) + 1). Deeper, walk with Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
cursorFacultatif | query | Keyset pagination: Afficher le schéma JSON{
"type": "string"
} |
page_sizeFacultatif | query | Records per page. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
} |
sortFacultatif | query | A sortable field key (GET /v1/resources/{resource} lists Afficher le schéma JSON{
"type": "string"
} |
orderFacultatif | query | Sort direction. Afficher le schéma JSON{
"type": "string",
"enum": [
"asc",
"desc"
],
"default": "desc"
} |
searchFacultatif | query | Free-text search. Afficher le schéma JSON{
"type": "string"
} |
include_archivedFacultatif | query | Include archived records. Afficher le schéma JSON{
"type": "boolean",
"default": false
} |
filterFacultatif | query | A URL-encoded JSON array of filters.
|
joinFacultatif | query | How filters combine. Afficher le schéma JSON{
"type": "string",
"enum": [
"and",
"or"
],
"default": "and"
} |
fieldsFacultatif | query | Comma-separated top-level properties to return ( Afficher le schéma JSON{
"type": "string"
} |
Réponses
200 One page of records.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contacts_record"
}
},
"meta": {
"$ref": "#/components/schemas/ListMeta"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
POST/v1/contacts
Create one of contacts
Opération create_contacts
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Corps de requête
Obligatoire
application/json · Afficher le schéma JSON
{
"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."
}Réponses
201 The created record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contacts_record"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
POST/v1/contacts/query
List contacts, parameters in the body
Opération query_contacts
The list endpoint with its parameters as JSON (filters as a real array). Counts as a read.
Authentification · Clé API de l’espace de travail
Paramètres
Cette opération n’a aucun paramètre.
Corps de requête
Facultatif
application/json · Afficher le schéma JSON
{
"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."
}
}
}Réponses
200 One page of records.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contacts_record"
}
},
"meta": {
"$ref": "#/components/schemas/ListMeta"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/contacts/{id}
Get one of contacts
Opération get_contacts
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
fieldsFacultatif | query | Comma-separated top-level properties to return ( Afficher le schéma JSON{
"type": "string"
} |
Réponses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contacts_record"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
PATCH/v1/contacts/{id}
Update one of contacts
Opération update_contacts
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Corps de requête
Obligatoire
application/json · Afficher le schéma JSON
{
"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."
}Réponses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contacts_record"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/contacts/{id}
Archive one of contacts
Opération archive_contacts
A soft delete: the record is archived and can be restored.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Corps de requête
Facultatif
application/json · Afficher le schéma JSON
{
"type": "object",
"additionalProperties": false,
"properties": {
"reason": {
"type": "string",
"maxLength": 1000
}
}
}Réponses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contacts_record"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
POST/v1/contacts/{id}/restore
Restore an archived one of contacts
Opération restore_contacts
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Réponses
200 The record.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contacts_record"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/contacts/{id}/companies
List the companies linked to one of contacts
Opération list_contacts_companies
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 companies as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
pageFacultatif | query | 1-based page of links. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
page_sizeFacultatif | query | Links per page. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
} |
Réponses
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"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
PUT/v1/contacts/{id}/companies/{target_id}
Link one of companies to one of contacts, or update the link
Opération link_contacts_companies
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 companies as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
target_idObligatoire | path | The UUID of the record on the other side of the link. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Corps de requête
Facultatif
application/json · Afficher le schéma JSON
{
"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"
]
}
}
}Réponses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_contacts_link"
}
}
}En-têtes de réponse
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"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/contacts/{id}/companies/{target_id}
Unlink one of companies from one of contacts
Opération unlink_contacts_companies
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 companies as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
target_idObligatoire | path | The UUID of the record on the other side of the link. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Réponses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/company_contacts_link"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/contacts/{id}/deals
List the deals linked to one of contacts
Opération list_contacts_deals
A contact involved in a deal, with their role on it. A key with a resource list must cover deals as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
pageFacultatif | query | 1-based page of links. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
page_sizeFacultatif | query | Links per page. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
} |
Réponses
200 One page of links, oldest first.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/deal_contacts_link"
}
},
"meta": {
"$ref": "#/components/schemas/LinkListMeta"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
PUT/v1/contacts/{id}/deals/{target_id}
Link one of deals to one of contacts, or update the link
Opération link_contacts_deals
A contact involved in a deal, with their role on it. Creates the link (201) or updates its fields (200); repeating it changes nothing. A key with a resource list must cover deals as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
target_idObligatoire | path | The UUID of the record on the other side of the link. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Corps de requête
Facultatif
application/json · Afficher le schéma JSON
{
"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": {
"role": {
"description": "The contact's role on the deal (e.g. decision maker, influencer).",
"type": [
"string",
"null"
]
},
"is_primary": {
"description": "The deal's main contact.",
"type": "boolean"
}
}
}Réponses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/deal_contacts_link"
}
}
}En-têtes de réponse
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/deal_contacts_link"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/contacts/{id}/deals/{target_id}
Unlink one of deals from one of contacts
Opération unlink_contacts_deals
A contact involved in a deal, with their role on it. Answers the removed link; 404 when the two are not linked. A key with a resource list must cover deals as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
target_idObligatoire | path | The UUID of the record on the other side of the link. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Réponses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/deal_contacts_link"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
GET/v1/contacts/{id}/tags
List the tags linked to one of contacts
Opération list_contacts_tags
A tag on one of contacts. The tag must be active in the workspace. A key with a resource list must cover tags as well as contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
pageFacultatif | query | 1-based page of links. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 10000,
"default": 1
} |
page_sizeFacultatif | query | Links per page. Afficher le schéma JSON{
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 100
} |
Réponses
200 One page of links, oldest first.
application/json
{
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact_tags_link"
}
},
"meta": {
"$ref": "#/components/schemas/LinkListMeta"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
PUT/v1/contacts/{id}/tags/{target_id}
Link one of tags to one of contacts, or update the link
Opération link_contacts_tags
A tag on one of contacts. 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 contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
target_idObligatoire | path | The UUID of the record on the other side of the link. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Réponses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contact_tags_link"
}
}
}En-têtes de réponse
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/contact_tags_link"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
DELETE/v1/contacts/{id}/tags/{target_id}
Unlink one of tags from one of contacts
Opération unlink_contacts_tags
A tag on one of contacts. 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 contacts.
Authentification · Clé API de l’espace de travail
Paramètres
| Paramètre | Emplacement | Contrat |
|---|---|---|
idObligatoire | path | The record's UUID. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
target_idObligatoire | path | The UUID of the record on the other side of the link. Afficher le schéma JSON{
"type": "string",
"format": "uuid"
} |
Idempotency-KeyFacultatif | 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 Afficher le schéma JSON{
"type": "string",
"minLength": 1,
"maxLength": 255
} |
Réponses
200 The link.
application/json
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/contact_tags_link"
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
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"
}
}
}
}
}En-têtes de réponse
X-Request-IdThis request's id; quote it when reporting a problem.
Définitions des schémas
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."
}
}
}contacts_record
{
"type": "object",
"title": "Contact",
"description": "A Contact 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/contacts describes this workspace's fields.",
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"prefix": {
"title": "Prefix",
"x-squario-kind": "text"
},
"first_name": {
"title": "First Name",
"x-squario-kind": "text"
},
"last_name": {
"title": "Last Name",
"x-squario-kind": "text"
},
"middle_name": {
"title": "Middle Name",
"x-squario-kind": "text"
},
"suffix": {
"title": "Suffix",
"x-squario-kind": "text"
},
"nickname": {
"title": "Nickname",
"x-squario-kind": "text"
},
"avatar_url": {
"title": "Avatar",
"x-squario-kind": "media"
},
"name": {
"title": "Name",
"x-squario-kind": "text"
},
"primary_company_id": {
"title": "Company",
"x-squario-kind": "relation"
},
"primary_email": {
"title": "Email",
"x-squario-kind": "text"
},
"email_state": {
"title": "Email state",
"x-squario-kind": "enum"
},
"primary_phone": {
"title": "Phone",
"x-squario-kind": "text"
},
"country_code": {
"title": "Country",
"x-squario-kind": "relation"
},
"locale_code": {
"title": "Locale",
"x-squario-kind": "relation"
},
"timezone_id": {
"title": "Timezone",
"x-squario-kind": "relation"
},
"preferred_language": {
"title": "Preferred Language",
"x-squario-kind": "text"
},
"preferred_channel": {
"title": "Preferred 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_sms": {
"title": "Do Not SMS",
"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"
},
"lifecycle": {
"title": "Lifecycle",
"x-squario-kind": "enum"
},
"source": {
"title": "Source",
"x-squario-kind": "enum"
},
"source_detail": {
"title": "Source Detail",
"x-squario-kind": "text"
},
"marketing_consent": {
"title": "Marketing Consent",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"marketing_consent_source": {
"title": "Consent Source",
"x-squario-kind": "text"
},
"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"
},
"referred_by_company_id": {
"title": "Referred By Company",
"x-squario-kind": "relation"
},
"referred_by_contact_id": {
"title": "Referred By Contact",
"x-squario-kind": "relation"
},
"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"
},
"full_name": {
"title": "Full name",
"x-squario-kind": "text"
},
"job_title": {
"title": "Job title",
"x-squario-kind": "text"
},
"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"
]
}
}
}deal_contacts_link
{
"type": "object",
"description": "A contact involved in a deal, with their role on it.",
"additionalProperties": false,
"required": [
"deal_id",
"contact_id",
"role",
"is_primary",
"created_at"
],
"properties": {
"deal_id": {
"type": "string",
"format": "uuid",
"description": "The deals record's id."
},
"contact_id": {
"type": "string",
"format": "uuid",
"description": "The contacts record's id."
},
"role": {
"description": "The contact's role on the deal (e.g. decision maker, influencer).",
"type": [
"string",
"null"
]
},
"is_primary": {
"description": "The deal's main contact.",
"type": [
"boolean",
"null"
]
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}deal_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": {
"role": {
"description": "The contact's role on the deal (e.g. decision maker, influencer).",
"type": [
"string",
"null"
]
},
"is_primary": {
"description": "The deal's main contact.",
"type": "boolean"
}
}
}contact_tags_link
{
"type": "object",
"description": "A tag on one of contacts. The tag must be active in the workspace.",
"additionalProperties": false,
"required": [
"contact_id",
"tag_id",
"created_at"
],
"properties": {
"contact_id": {
"type": "string",
"format": "uuid",
"description": "The contacts record's id."
},
"tag_id": {
"type": "string",
"format": "uuid",
"description": "The tags record's id."
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}