Référence
deals · API
Endpoints, paramètres, corps de requête et schémas de réponse pour deals dans l’API v1 de Squario.
deals
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/deals
List deals
Opération list_deals
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/deals_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/deals
Create one of deals
Opération create_deals
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/deals_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/deals/query
List deals, parameters in the body
Opération query_deals
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/deals_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/deals/{id}
Get one of deals
Opération get_deals
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/deals_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/deals/{id}
Update one of deals
Opération update_deals
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/deals_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/deals/{id}
Archive one of deals
Opération archive_deals
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/deals_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/deals/{id}/restore
Restore an archived one of deals
Opération restore_deals
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/deals_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/deals/{id}/contacts
List the contacts linked to one of deals
Opération list_deals_contacts
A contact involved in a deal, with their role on it. A key with a resource list must cover contacts as well as deals.
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/deals/{id}/contacts/{target_id}
Link one of contacts to one of deals, or update the link
Opération link_deals_contacts
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 contacts as well as deals.
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/deals/{id}/contacts/{target_id}
Unlink one of contacts from one of deals
Opération unlink_deals_contacts
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 contacts as well as deals.
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/deals/{id}/projects
List the projects linked to one of deals
Opération list_deals_projects
A deal attached to a delivery project. The project's primary deal (its deal_id) is always linked and cannot be unlinked (409); point the project at another deal first. A key with a resource list must cover projects as well as deals.
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/project_deals_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/deals/{id}/projects/{target_id}
Link one of projects to one of deals, or update the link
Opération link_deals_projects
A deal attached to a delivery project. The project's primary deal (its deal_id) is always linked and cannot be unlinked (409); point the project at another deal first. Creates the link (201) or updates its fields (200); repeating it changes nothing. A key with a resource list must cover projects as well as deals.
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/project_deals_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/project_deals_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/deals/{id}/projects/{target_id}
Unlink one of projects from one of deals
Opération unlink_deals_projects
A deal attached to a delivery project. The project's primary deal (its deal_id) is always linked and cannot be unlinked (409); point the project at another deal first. Answers the removed link; 404 when the two are not linked. A key with a resource list must cover projects as well as deals.
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/project_deals_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/deals/{id}/tags
List the tags linked to one of deals
Opération list_deals_tags
A tag on one of deals. The tag must be active in the workspace. A key with a resource list must cover tags as well as deals.
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_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/deals/{id}/tags/{target_id}
Link one of tags to one of deals, or update the link
Opération link_deals_tags
A tag on one of deals. 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 deals.
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_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/deal_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/deals/{id}/tags/{target_id}
Unlink one of tags from one of deals
Opération unlink_deals_tags
A tag on one of deals. 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 deals.
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_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."
}
}
}deals_record
{
"type": "object",
"title": "Deal",
"description": "A Deal 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/deals describes this workspace's fields.",
"additionalProperties": true,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"title": {
"title": "Title",
"x-squario-kind": "text"
},
"description": {
"title": "Description",
"x-squario-kind": "text"
},
"amount": {
"title": "Amount",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"currency_code": {
"title": "Currency",
"x-squario-kind": "relation"
},
"probability_override": {
"title": "Probability override",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"stage_probability": {
"title": "Stage probability",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"effective_probability": {
"title": "Win probability",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"priority": {
"title": "Priority",
"x-squario-kind": "enum"
},
"status": {
"title": "Status",
"x-squario-kind": "enum"
},
"pipeline_id": {
"title": "Pipeline",
"x-squario-kind": "relation"
},
"pipeline_name": {
"title": "Pipeline",
"x-squario-kind": "text"
},
"stage_id": {
"title": "Stage",
"x-squario-kind": "relation"
},
"stage_entered_at": {
"title": "Stage entered at",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"stage_age_days": {
"title": "Time in stage",
"x-squario-kind": "text"
},
"stage_max_days": {
"title": "Stage rotting threshold",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"is_deal_rotting": {
"title": "Deal is rotting",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"is_overdue_close": {
"title": "Close date overdue",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"company_id": {
"title": "Company",
"x-squario-kind": "relation"
},
"contact_id": {
"title": "Contact",
"x-squario-kind": "relation"
},
"source_id": {
"title": "Source",
"x-squario-kind": "relation"
},
"forecast_category_id": {
"title": "Forecast category",
"x-squario-kind": "relation"
},
"competitor_search_text": {
"title": "Competitors",
"x-squario-kind": "text"
},
"lost_to_competitor_id": {
"title": "Lost to competitor",
"x-squario-kind": "relation"
},
"parent_deal_id": {
"title": "Parent Deal",
"x-squario-kind": "relation"
},
"owner_member_id": {
"title": "Owner",
"x-squario-kind": "relation"
},
"next_step": {
"title": "Next step",
"x-squario-kind": "text"
},
"next_step_owner_member_id": {
"title": "Next-step owner",
"x-squario-kind": "relation"
},
"next_step_due_at": {
"title": "Next-step deadline",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"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"
},
"has_no_next_activity": {
"title": "No next activity",
"x-squario-kind": "boolean",
"type": [
"boolean",
"null"
]
},
"inactivity_days": {
"title": "Inactivity",
"x-squario-kind": "text"
},
"expected_close_date": {
"title": "Expected Close",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date"
},
"created_at": {
"title": "Created",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"actual_close_date": {
"title": "Closed",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date"
},
"assigned_at": {
"title": "Assigned",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"won_at": {
"title": "Won",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"lost_at": {
"title": "Lost",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"closed_at": {
"title": "Outcome date",
"x-squario-kind": "date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"loss_reason_id": {
"title": "Loss reason",
"x-squario-kind": "relation"
},
"days_to_close": {
"title": "Days to close",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"win_rate_percent": {
"title": "Win rate",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"notes": {
"title": "Notes",
"x-squario-kind": "text"
},
"internal_notes": {
"title": "Internal Notes",
"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"
},
"qualification_assessment_count": {
"title": "Qualification assessments",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"qualification_completion_percent": {
"title": "Qualification completion",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"qualification_score_percent": {
"title": "Qualification score",
"x-squario-kind": "number",
"type": [
"number",
"null"
]
},
"qualification_template_names": {
"title": "Qualification frameworks",
"x-squario-kind": "text"
},
"qualification_last_assessed_at": {
"title": "Last qualified at",
"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
}
}
}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"
}
}
}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"
}
}
}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"
}
}
}project_deals_link
{
"type": "object",
"description": "A deal attached to a delivery project. The project's primary deal (its `deal_id`) is always linked and cannot be unlinked (409); point the project at another deal first.",
"additionalProperties": false,
"required": [
"project_id",
"deal_id",
"created_at"
],
"properties": {
"project_id": {
"type": "string",
"format": "uuid",
"description": "The projects record's id."
},
"deal_id": {
"type": "string",
"format": "uuid",
"description": "The deals record's id."
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}deal_tags_link
{
"type": "object",
"description": "A tag on one of deals. The tag must be active in the workspace.",
"additionalProperties": false,
"required": [
"deal_id",
"tag_id",
"created_at"
],
"properties": {
"deal_id": {
"type": "string",
"format": "uuid",
"description": "The deals record's id."
},
"tag_id": {
"type": "string",
"format": "uuid",
"description": "The tags record's id."
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}