Справочник публичного API · v1

199 операций. Swagger UI · OpenAPI JSON. Параметры, обязательность, ограничения и схемы ниже взяты из runtime OpenAPI. Значения $ref раскрываются в разделе схем. JWT и admin API сюда не входят.

Скачать Postman: все операции · Окружение Postman. Замените ID и baseUrl на свой стенд, выберите файлы для multipart; apiToken заполните локально. Версии формы и согласия, ответы и свободное время берите из catalog/availability; согласие передавайте после подтверждения пользователем. Для нового действия меняйте idempotencyKey, для повтора сохраняйте его.

GET /api/v1/ai-agents/external/agents

AiAgentsExternalController_listAgents_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AiAgentPublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/ai-agents/external/agents

AiAgentsExternalController_createAgent_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateAiAgentPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiAgentPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/ai-agents/external/agents/{id}

AiAgentsExternalController_deleteAgent_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "confirmed",
      "required": false,
      "in": "query",
      "schema": {
        "type": "boolean"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/PublicOkV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/agents/{id}

AiAgentsExternalController_getAgent_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiAgentPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/ai-agents/external/agents/{id}

AiAgentsExternalController_updateAgent_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateAiAgentPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiAgentPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/agents/{id}/channels

AiAgentsExternalController_getChannelsUsingAgent_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AiAgentChannelRefPublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/api-integrations

AiAgentsExternalController_listApiIntegrations_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_api_integrations"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiIntegrationPublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/ai-agents/external/api-integrations

AiAgentsExternalController_createApiIntegration_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_api_integrations"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateApiIntegrationPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/ApiIntegrationPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/ai-agents/external/api-integrations/{id}

AiAgentsExternalController_deleteApiIntegration_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_api_integrations"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/PublicOkV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/api-integrations/{id}

AiAgentsExternalController_getApiIntegration_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_api_integrations"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/ApiIntegrationPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/ai-agents/external/api-integrations/{id}

AiAgentsExternalController_updateApiIntegration_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_api_integrations"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateApiIntegrationPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/ApiIntegrationPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/knowledge-bases

AiAgentsExternalController_listKnowledgeBases_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AiKnowledgeBasePublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/ai-agents/external/knowledge-bases

AiAgentsExternalController_createKnowledgeBase_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateAiKnowledgeBasePublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiKnowledgeBasePublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/ai-agents/external/knowledge-bases/{id}

AiAgentsExternalController_deleteKnowledgeBase_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "confirmed",
      "required": false,
      "in": "query",
      "schema": {
        "type": "boolean"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/PublicOkV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/knowledge-bases/{id}

AiAgentsExternalController_getKnowledgeBase_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiKnowledgeBasePublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/ai-agents/external/knowledge-bases/{id}

AiAgentsExternalController_updateKnowledgeBase_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateAiKnowledgeBasePublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiKnowledgeBasePublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/knowledge-bases/{kbId}/files

AiAgentsExternalController_listKnowledgeFiles_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "kbId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AiKnowledgeFilePublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/ai-agents/external/knowledge-bases/{kbId}/files/{fileId}

AiAgentsExternalController_deleteKnowledgeFile_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "kbId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "fileId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/KnowledgeFileDeleteAcceptedPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/ai-agents/external/knowledge-bases/{kbId}/files/{fileId}

AiAgentsExternalController_upsertKnowledgeFile_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_knowledge_bases"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "kbId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "fileId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "multipart/form-data": {
        "schema": {
          "type": "object",
          "required": [
            "file"
          ],
          "properties": {
            "file": {
              "type": "string",
              "format": "binary"
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiKnowledgeFileUpsertPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/products-sets

AiAgentsExternalController_listProductsSets_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "mode",
      "required": false,
      "in": "query",
      "schema": {
        "enum": [
          "with_links",
          "without_links"
        ],
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AiProductsSetPublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/ai-agents/external/products-sets

AiAgentsExternalController_createProductsSet_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateAiProductsSetPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiProductsSetPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/ai-agents/external/products-sets/{id}

AiAgentsExternalController_deleteProductsSet_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "confirmed",
      "required": false,
      "in": "query",
      "schema": {
        "type": "boolean"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/PublicOkV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/products-sets/{id}

AiAgentsExternalController_getProductsSet_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiProductsSetPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/ai-agents/external/products-sets/{id}

AiAgentsExternalController_updateProductsSet_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateAiProductsSetPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiProductsSetPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/ai-agents/external/products-sets/{setId}/products

AiAgentsExternalController_listProducts_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "setId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100,
        "default": 20
      }
    },
    {
      "name": "page",
      "required": false,
      "in": "query",
      "schema": {
        "type": "integer",
        "minimum": 1,
        "default": 1
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiProductsPagePublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/ai-agents/external/products-sets/{setId}/products

AiAgentsExternalController_createProduct_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "setId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AiProductPublicV1RequestDto"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiProductPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/ai-agents/external/products-sets/{setId}/products/{productId}

AiAgentsExternalController_deleteProduct_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "setId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "productId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/ProductDeleteAcceptedPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/ai-agents/external/products-sets/{setId}/products/{productId}

AiAgentsExternalController_updateProduct_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "ai_agents_products_sets"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "setId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "name": "productId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AiProductPublicV1RequestDto"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/AiProductPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/booking/appointments

BookingMachineController_appointments_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "from",
      "required": true,
      "in": "query",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "name": "until",
      "required": true,
      "in": "query",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "name": "branchId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "specialistId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "clientUuid",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "status",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "confirmed",
          "arrived",
          "completed",
          "cancelled",
          "no_show"
        ]
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "confirmed",
                            "arrived",
                            "completed",
                            "cancelled",
                            "no_show"
                          ]
                        },
                        "source": {
                          "type": "string",
                          "enum": [
                            "staff",
                            "api",
                            "public",
                            "widget",
                            "bot"
                          ]
                        },
                        "branchId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "specialistId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "startsAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "endsAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "timeZone": {
                          "type": "string"
                        },
                        "durationMinutes": {
                          "type": "integer"
                        },
                        "price": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "enum": [
                            "RUB"
                          ]
                        },
                        "branchName": {
                          "type": "string"
                        },
                        "branchKind": {
                          "type": "string",
                          "enum": [
                            "place",
                            "online"
                          ],
                          "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                        },
                        "serviceName": {
                          "type": "string"
                        },
                        "specialistName": {
                          "type": "string"
                        },
                        "bufferBeforeMinutes": {
                          "type": "integer"
                        },
                        "bufferAfterMinutes": {
                          "type": "integer"
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "updatedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "clientUuid": {
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "formVersion": {
                          "type": "integer"
                        },
                        "answers": {
                          "type": "object",
                          "additionalProperties": {
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          }
                        },
                        "notes": {
                          "type": "string"
                        },
                        "notificationPreferences": {
                          "type": "object",
                          "properties": {
                            "email": {
                              "type": "boolean"
                            },
                            "messenger": {
                              "type": "boolean"
                            },
                            "phoneMessenger": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "email",
                            "messenger"
                          ],
                          "additionalProperties": false
                        },
                        "formFields": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "name",
                                  "phone",
                                  "email",
                                  "string",
                                  "number"
                                ]
                              },
                              "label": {
                                "type": "string"
                              },
                              "required": {
                                "type": "boolean"
                              },
                              "visible": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "label",
                              "required",
                              "visible"
                            ],
                            "additionalProperties": false
                          }
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "status",
                        "source",
                        "branchId",
                        "serviceId",
                        "specialistId",
                        "startsAt",
                        "endsAt",
                        "timeZone",
                        "durationMinutes",
                        "price",
                        "currency",
                        "branchName",
                        "branchKind",
                        "serviceName",
                        "specialistName",
                        "bufferBeforeMinutes",
                        "bufferAfterMinutes",
                        "createdAt",
                        "updatedAt"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "items",
                  "nextCursor"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

POST /api/v1/booking/appointments

BookingMachineController_create_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingCreateDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "arrived",
                      "completed",
                      "cancelled",
                      "no_show"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "staff",
                      "api",
                      "public",
                      "widget",
                      "bot"
                    ]
                  },
                  "branchId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "serviceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "specialistId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "branchName": {
                    "type": "string"
                  },
                  "branchKind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                  },
                  "serviceName": {
                    "type": "string"
                  },
                  "specialistName": {
                    "type": "string"
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientUuid": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "formVersion": {
                    "type": "integer"
                  },
                  "answers": {
                    "type": "object",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "notificationPreferences": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "boolean"
                      },
                      "messenger": {
                        "type": "boolean"
                      },
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "email",
                      "messenger"
                    ],
                    "additionalProperties": false
                  },
                  "formFields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "name",
                            "phone",
                            "email",
                            "string",
                            "number"
                          ]
                        },
                        "label": {
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "visible": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "label",
                        "required",
                        "visible"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "version",
                  "status",
                  "source",
                  "branchId",
                  "serviceId",
                  "specialistId",
                  "startsAt",
                  "endsAt",
                  "timeZone",
                  "durationMinutes",
                  "price",
                  "currency",
                  "branchName",
                  "branchKind",
                  "serviceName",
                  "specialistName",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/appointments/{id}

BookingMachineController_appointment_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "arrived",
                      "completed",
                      "cancelled",
                      "no_show"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "staff",
                      "api",
                      "public",
                      "widget",
                      "bot"
                    ]
                  },
                  "branchId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "serviceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "specialistId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "branchName": {
                    "type": "string"
                  },
                  "branchKind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                  },
                  "serviceName": {
                    "type": "string"
                  },
                  "specialistName": {
                    "type": "string"
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientUuid": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "formVersion": {
                    "type": "integer"
                  },
                  "answers": {
                    "type": "object",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "notificationPreferences": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "boolean"
                      },
                      "messenger": {
                        "type": "boolean"
                      },
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "email",
                      "messenger"
                    ],
                    "additionalProperties": false
                  },
                  "formFields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "name",
                            "phone",
                            "email",
                            "string",
                            "number"
                          ]
                        },
                        "label": {
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "visible": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "label",
                        "required",
                        "visible"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "version",
                  "status",
                  "source",
                  "branchId",
                  "serviceId",
                  "specialistId",
                  "startsAt",
                  "endsAt",
                  "timeZone",
                  "durationMinutes",
                  "price",
                  "currency",
                  "branchName",
                  "branchKind",
                  "serviceName",
                  "specialistName",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

PATCH /api/v1/booking/appointments/{id}

BookingMachineController_update_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_write",
    "booking_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingUpdateDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "arrived",
                      "completed",
                      "cancelled",
                      "no_show"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "staff",
                      "api",
                      "public",
                      "widget",
                      "bot"
                    ]
                  },
                  "branchId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "serviceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "specialistId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "branchName": {
                    "type": "string"
                  },
                  "branchKind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                  },
                  "serviceName": {
                    "type": "string"
                  },
                  "specialistName": {
                    "type": "string"
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientUuid": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "formVersion": {
                    "type": "integer"
                  },
                  "answers": {
                    "type": "object",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "notificationPreferences": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "boolean"
                      },
                      "messenger": {
                        "type": "boolean"
                      },
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "email",
                      "messenger"
                    ],
                    "additionalProperties": false
                  },
                  "formFields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "name",
                            "phone",
                            "email",
                            "string",
                            "number"
                          ]
                        },
                        "label": {
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "visible": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "label",
                        "required",
                        "visible"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "version",
                  "status",
                  "source",
                  "branchId",
                  "serviceId",
                  "specialistId",
                  "startsAt",
                  "endsAt",
                  "timeZone",
                  "durationMinutes",
                  "price",
                  "currency",
                  "branchName",
                  "branchKind",
                  "serviceName",
                  "specialistName",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

POST /api/v1/booking/appointments/{id}/cancel

BookingMachineController_cancel_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingVersionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "arrived",
                      "completed",
                      "cancelled",
                      "no_show"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "staff",
                      "api",
                      "public",
                      "widget",
                      "bot"
                    ]
                  },
                  "branchId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "serviceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "specialistId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "branchName": {
                    "type": "string"
                  },
                  "branchKind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                  },
                  "serviceName": {
                    "type": "string"
                  },
                  "specialistName": {
                    "type": "string"
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientUuid": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "formVersion": {
                    "type": "integer"
                  },
                  "answers": {
                    "type": "object",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "notificationPreferences": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "boolean"
                      },
                      "messenger": {
                        "type": "boolean"
                      },
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "email",
                      "messenger"
                    ],
                    "additionalProperties": false
                  },
                  "formFields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "name",
                            "phone",
                            "email",
                            "string",
                            "number"
                          ]
                        },
                        "label": {
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "visible": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "label",
                        "required",
                        "visible"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "version",
                  "status",
                  "source",
                  "branchId",
                  "serviceId",
                  "specialistId",
                  "startsAt",
                  "endsAt",
                  "timeZone",
                  "durationMinutes",
                  "price",
                  "currency",
                  "branchName",
                  "branchKind",
                  "serviceName",
                  "specialistName",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/appointments/{id}/history

BookingMachineController_history_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "appointmentId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "eventType": {
                          "type": "string",
                          "enum": [
                            "created",
                            "updated",
                            "rescheduled",
                            "cancelled",
                            "status_changed",
                            "customer_confirmed"
                          ]
                        },
                        "actorType": {
                          "type": "string",
                          "enum": [
                            "staff",
                            "api",
                            "public",
                            "widget",
                            "bot"
                          ]
                        },
                        "changedFields": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "id",
                        "appointmentId",
                        "version",
                        "createdAt",
                        "eventType",
                        "actorType",
                        "changedFields"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "items",
                  "nextCursor"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

POST /api/v1/booking/appointments/{id}/reschedule

BookingMachineController_reschedule_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingRescheduleDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "arrived",
                      "completed",
                      "cancelled",
                      "no_show"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "staff",
                      "api",
                      "public",
                      "widget",
                      "bot"
                    ]
                  },
                  "branchId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "serviceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "specialistId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "branchName": {
                    "type": "string"
                  },
                  "branchKind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                  },
                  "serviceName": {
                    "type": "string"
                  },
                  "specialistName": {
                    "type": "string"
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientUuid": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "formVersion": {
                    "type": "integer"
                  },
                  "answers": {
                    "type": "object",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "notificationPreferences": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "boolean"
                      },
                      "messenger": {
                        "type": "boolean"
                      },
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "email",
                      "messenger"
                    ],
                    "additionalProperties": false
                  },
                  "formFields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "name",
                            "phone",
                            "email",
                            "string",
                            "number"
                          ]
                        },
                        "label": {
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "visible": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "label",
                        "required",
                        "visible"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "version",
                  "status",
                  "source",
                  "branchId",
                  "serviceId",
                  "specialistId",
                  "startsAt",
                  "endsAt",
                  "timeZone",
                  "durationMinutes",
                  "price",
                  "currency",
                  "branchName",
                  "branchKind",
                  "serviceName",
                  "specialistName",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

POST /api/v1/booking/appointments/{id}/status

BookingMachineController_status_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingStatusDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "arrived",
                      "completed",
                      "cancelled",
                      "no_show"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "staff",
                      "api",
                      "public",
                      "widget",
                      "bot"
                    ]
                  },
                  "branchId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "serviceId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "specialistId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "branchName": {
                    "type": "string"
                  },
                  "branchKind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "Вид филиала визита на момент ответа: online — вместо адреса «Онлайн». Филиал без поля — place."
                  },
                  "serviceName": {
                    "type": "string"
                  },
                  "specialistName": {
                    "type": "string"
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clientUuid": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "formVersion": {
                    "type": "integer"
                  },
                  "answers": {
                    "type": "object",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "notes": {
                    "type": "string"
                  },
                  "notificationPreferences": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "boolean"
                      },
                      "messenger": {
                        "type": "boolean"
                      },
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "email",
                      "messenger"
                    ],
                    "additionalProperties": false
                  },
                  "formFields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "name",
                            "phone",
                            "email",
                            "string",
                            "number"
                          ]
                        },
                        "label": {
                          "type": "string"
                        },
                        "required": {
                          "type": "boolean"
                        },
                        "visible": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "label",
                        "required",
                        "visible"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "id",
                  "version",
                  "status",
                  "source",
                  "branchId",
                  "serviceId",
                  "specialistId",
                  "startsAt",
                  "endsAt",
                  "timeZone",
                  "durationMinutes",
                  "price",
                  "currency",
                  "branchName",
                  "branchKind",
                  "serviceName",
                  "specialistName",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/availability

BookingMachineController_availability_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [],
  "anyScopes": [
    "booking_read",
    "booking_write"
  ],
  "parameters": [
    {
      "name": "dateFrom",
      "required": true,
      "in": "query",
      "schema": {
        "format": "date",
        "type": "string"
      }
    },
    {
      "name": "dateTo",
      "required": true,
      "in": "query",
      "schema": {
        "format": "date",
        "type": "string"
      }
    },
    {
      "name": "branchId",
      "required": true,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "serviceId",
      "required": true,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "specialistId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "slots": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "branchId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "serviceId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "specialistId": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "startsAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "endsAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "timeZone": {
                          "type": "string"
                        },
                        "durationMinutes": {
                          "type": "integer"
                        },
                        "price": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "enum": [
                            "RUB"
                          ]
                        },
                        "quoteVersion": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        }
                      },
                      "required": [
                        "branchId",
                        "serviceId",
                        "specialistId",
                        "startsAt",
                        "endsAt",
                        "timeZone",
                        "durationMinutes",
                        "price",
                        "currency",
                        "quoteVersion"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "slots",
                  "nextCursor"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/branches

BookingMachineController_branches_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [],
  "anyScopes": [
    "booking_read",
    "booking_write",
    "booking_catalog_write",
    "booking_settings_write"
  ],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "place",
                            "online"
                          ],
                          "description": "place — филиал по адресу; online — без адреса (address пустой, city/latitude/longitude null): клиенту вместо адреса показывается «Онлайн»."
                        },
                        "name": {
                          "type": "string"
                        },
                        "address": {
                          "type": "string"
                        },
                        "city": {
                          "type": "string",
                          "nullable": true,
                          "maxLength": 200
                        },
                        "latitude": {
                          "type": "number",
                          "nullable": true,
                          "minimum": -90,
                          "maximum": 90
                        },
                        "longitude": {
                          "type": "number",
                          "nullable": true,
                          "minimum": -180,
                          "maximum": 180
                        },
                        "timeZone": {
                          "type": "string",
                          "nullable": true
                        },
                        "effectiveTimeZone": {
                          "type": "string"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "responsible": {
                          "nullable": true,
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {
                                "mode": {
                                  "type": "string",
                                  "enum": [
                                    "employees"
                                  ]
                                },
                                "userUuids": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "minItems": 1,
                                  "maxItems": 50
                                }
                              },
                              "required": [
                                "mode",
                                "userUuids"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "mode": {
                                  "type": "string",
                                  "enum": [
                                    "department"
                                  ]
                                },
                                "departmentUuid": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "required": [
                                "mode",
                                "departmentUuid"
                              ],
                              "additionalProperties": false
                            }
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "kind",
                        "name",
                        "address",
                        "timeZone",
                        "effectiveTimeZone",
                        "active"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "items",
                  "nextCursor"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

POST /api/v1/booking/branches

BookingMachineController_createBranch_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_catalog_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingBranchDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "place — филиал по адресу; online — без адреса (address пустой, city/latitude/longitude null): клиенту вместо адреса показывается «Онлайн»."
                  },
                  "name": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string",
                    "nullable": true,
                    "maxLength": 200
                  },
                  "latitude": {
                    "type": "number",
                    "nullable": true,
                    "minimum": -90,
                    "maximum": 90
                  },
                  "longitude": {
                    "type": "number",
                    "nullable": true,
                    "minimum": -180,
                    "maximum": 180
                  },
                  "timeZone": {
                    "type": "string",
                    "nullable": true
                  },
                  "effectiveTimeZone": {
                    "type": "string"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "responsible": {
                    "nullable": true,
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "type": "string",
                            "enum": [
                              "employees"
                            ]
                          },
                          "userUuids": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "minItems": 1,
                            "maxItems": 50
                          }
                        },
                        "required": [
                          "mode",
                          "userUuids"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "type": "string",
                            "enum": [
                              "department"
                            ]
                          },
                          "departmentUuid": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "required": [
                          "mode",
                          "departmentUuid"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "version",
                  "kind",
                  "name",
                  "address",
                  "timeZone",
                  "effectiveTimeZone",
                  "active"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

PATCH /api/v1/booking/branches/{id}

BookingMachineController_patchBranch_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_catalog_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingBranchPatchDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "place",
                      "online"
                    ],
                    "description": "place — филиал по адресу; online — без адреса (address пустой, city/latitude/longitude null): клиенту вместо адреса показывается «Онлайн»."
                  },
                  "name": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string",
                    "nullable": true,
                    "maxLength": 200
                  },
                  "latitude": {
                    "type": "number",
                    "nullable": true,
                    "minimum": -90,
                    "maximum": 90
                  },
                  "longitude": {
                    "type": "number",
                    "nullable": true,
                    "minimum": -180,
                    "maximum": 180
                  },
                  "timeZone": {
                    "type": "string",
                    "nullable": true
                  },
                  "effectiveTimeZone": {
                    "type": "string"
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "responsible": {
                    "nullable": true,
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "type": "string",
                            "enum": [
                              "employees"
                            ]
                          },
                          "userUuids": {
                            "type": "array",
                            "items": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "minItems": 1,
                            "maxItems": 50
                          }
                        },
                        "required": [
                          "mode",
                          "userUuids"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "type": "string",
                            "enum": [
                              "department"
                            ]
                          },
                          "departmentUuid": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "required": [
                          "mode",
                          "departmentUuid"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "version",
                  "kind",
                  "name",
                  "address",
                  "timeZone",
                  "effectiveTimeZone",
                  "active"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/capabilities

BookingMachineController_capabilities_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "access": {
                    "type": "boolean"
                  },
                  "ownSpecialistId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "read": {
                    "type": "object",
                    "properties": {
                      "allowed": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "all",
                          "own"
                        ]
                      }
                    },
                    "required": [
                      "allowed",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "create": {
                    "type": "object",
                    "properties": {
                      "allowed": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "all",
                          "own"
                        ]
                      }
                    },
                    "required": [
                      "allowed",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "reschedule": {
                    "type": "object",
                    "properties": {
                      "allowed": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "all",
                          "own"
                        ]
                      }
                    },
                    "required": [
                      "allowed",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "cancel": {
                    "type": "object",
                    "properties": {
                      "allowed": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "all",
                          "own"
                        ]
                      }
                    },
                    "required": [
                      "allowed",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "status": {
                    "type": "object",
                    "properties": {
                      "allowed": {
                        "type": "boolean"
                      },
                      "scope": {
                        "type": "string",
                        "enum": [
                          "all",
                          "own"
                        ]
                      }
                    },
                    "required": [
                      "allowed",
                      "scope"
                    ],
                    "additionalProperties": false
                  },
                  "catalogWrite": {
                    "type": "boolean"
                  },
                  "settingsWrite": {
                    "type": "boolean"
                  },
                  "grantsWrite": {
                    "type": "boolean"
                  },
                  "contactsRead": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "access",
                  "ownSpecialistId",
                  "read",
                  "create",
                  "reschedule",
                  "cancel",
                  "status",
                  "catalogWrite",
                  "settingsWrite",
                  "grantsWrite",
                  "contactsRead"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/catalog

BookingMachineController_catalog_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [],
  "anyScopes": [
    "booking_read",
    "booking_write",
    "booking_catalog_write",
    "booking_settings_write"
  ],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "branches": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "kind": {
                          "type": "string",
                          "enum": [
                            "place",
                            "online"
                          ],
                          "description": "place — филиал по адресу; online — без адреса (address пустой, city/latitude/longitude null): клиенту вместо адреса показывается «Онлайн»."
                        },
                        "name": {
                          "type": "string"
                        },
                        "address": {
                          "type": "string"
                        },
                        "city": {
                          "type": "string",
                          "nullable": true,
                          "maxLength": 200
                        },
                        "latitude": {
                          "type": "number",
                          "nullable": true,
                          "minimum": -90,
                          "maximum": 90
                        },
                        "longitude": {
                          "type": "number",
                          "nullable": true,
                          "minimum": -180,
                          "maximum": 180
                        },
                        "timeZone": {
                          "type": "string",
                          "nullable": true
                        },
                        "effectiveTimeZone": {
                          "type": "string"
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "responsible": {
                          "nullable": true,
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {
                                "mode": {
                                  "type": "string",
                                  "enum": [
                                    "employees"
                                  ]
                                },
                                "userUuids": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "format": "uuid"
                                  },
                                  "minItems": 1,
                                  "maxItems": 50
                                }
                              },
                              "required": [
                                "mode",
                                "userUuids"
                              ],
                              "additionalProperties": false
                            },
                            {
                              "type": "object",
                              "properties": {
                                "mode": {
                                  "type": "string",
                                  "enum": [
                                    "department"
                                  ]
                                },
                                "departmentUuid": {
                                  "type": "string",
                                  "format": "uuid"
                                }
                              },
                              "required": [
                                "mode",
                                "departmentUuid"
                              ],
                              "additionalProperties": false
                            }
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "kind",
                        "name",
                        "address",
                        "timeZone",
                        "effectiveTimeZone",
                        "active"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "services": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "durationMinutes": {
                          "type": "integer"
                        },
                        "price": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "enum": [
                            "RUB"
                          ]
                        },
                        "bufferBeforeMinutes": {
                          "type": "integer"
                        },
                        "bufferAfterMinutes": {
                          "type": "integer"
                        },
                        "branchIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "staffMode": {
                          "type": "string",
                          "enum": [
                            "all",
                            "selected"
                          ],
                          "description": "«Кто оказывает»: all — все сотрудники филиалов услуги (связи в specialists[].services создаёт сервер); selected — выбранные. По умолчанию — all."
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "name",
                        "description",
                        "durationMinutes",
                        "price",
                        "currency",
                        "bufferBeforeMinutes",
                        "bufferAfterMinutes",
                        "branchIds",
                        "active",
                        "staffMode"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "specialists": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "branchIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "services": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "serviceId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "durationMinutes": {
                                "type": "integer",
                                "nullable": true
                              },
                              "price": {
                                "type": "string",
                                "nullable": true
                              },
                              "bufferBeforeMinutes": {
                                "type": "integer",
                                "nullable": true
                              },
                              "bufferAfterMinutes": {
                                "type": "integer",
                                "nullable": true
                              }
                            },
                            "required": [
                              "serviceId",
                              "durationMinutes",
                              "price",
                              "bufferBeforeMinutes",
                              "bufferAfterMinutes"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "active": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "name",
                        "branchIds",
                        "services",
                        "active"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "form": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer"
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "name",
                                "phone",
                                "email",
                                "string",
                                "number"
                              ]
                            },
                            "label": {
                              "type": "string"
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "visible": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "kind",
                            "label",
                            "required",
                            "visible"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "enabled",
                      "version",
                      "fields"
                    ],
                    "additionalProperties": false
                  },
                  "privacy": {
                    "type": "object",
                    "properties": {
                      "privacyUrl": {
                        "type": "string",
                        "nullable": true
                      },
                      "required": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "privacyUrl",
                      "required",
                      "version"
                    ],
                    "additionalProperties": false
                  },
                  "notifications": {
                    "type": "object",
                    "properties": {
                      "phoneMessenger": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "phoneMessenger"
                    ],
                    "additionalProperties": false
                  },
                  "policy": {
                    "type": "object",
                    "properties": {
                      "horizonDays": {
                        "type": "integer"
                      },
                      "leadMinutes": {
                        "type": "integer"
                      },
                      "stepMinutes": {
                        "type": "integer"
                      },
                      "customerCutoffMinutes": {
                        "type": "integer"
                      },
                      "specialistSelection": {
                        "type": "string",
                        "enum": [
                          "client",
                          "auto"
                        ],
                        "description": "client — клиент выбирает специалиста; auto — шаг выбора скрыт, специалиста назначает сервер при создании без specialistId."
                      }
                    },
                    "required": [
                      "horizonDays",
                      "leadMinutes",
                      "stepMinutes",
                      "customerCutoffMinutes",
                      "specialistSelection"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "branches",
                  "services",
                  "specialists",
                  "form",
                  "privacy",
                  "policy"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/services

BookingMachineController_services_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [],
  "anyScopes": [
    "booking_read",
    "booking_write",
    "booking_catalog_write",
    "booking_settings_write"
  ],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "durationMinutes": {
                          "type": "integer"
                        },
                        "price": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string",
                          "enum": [
                            "RUB"
                          ]
                        },
                        "bufferBeforeMinutes": {
                          "type": "integer"
                        },
                        "bufferAfterMinutes": {
                          "type": "integer"
                        },
                        "branchIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "staffMode": {
                          "type": "string",
                          "enum": [
                            "all",
                            "selected"
                          ],
                          "description": "«Кто оказывает»: all — все сотрудники филиалов услуги (связи в specialists[].services создаёт сервер); selected — выбранные. По умолчанию — all."
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "name",
                        "description",
                        "durationMinutes",
                        "price",
                        "currency",
                        "bufferBeforeMinutes",
                        "bufferAfterMinutes",
                        "branchIds",
                        "active",
                        "staffMode"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "items",
                  "nextCursor"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

POST /api/v1/booking/services

BookingMachineController_createService_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_catalog_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingServiceDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "branchIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "staffMode": {
                    "type": "string",
                    "enum": [
                      "all",
                      "selected"
                    ],
                    "description": "«Кто оказывает»: all — все сотрудники филиалов услуги (связи в specialists[].services создаёт сервер); selected — выбранные. По умолчанию — all."
                  }
                },
                "required": [
                  "id",
                  "version",
                  "name",
                  "description",
                  "durationMinutes",
                  "price",
                  "currency",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "branchIds",
                  "active",
                  "staffMode"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

PATCH /api/v1/booking/services/{id}

BookingMachineController_patchService_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_catalog_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingServicePatchDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "version": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "durationMinutes": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "RUB"
                    ]
                  },
                  "bufferBeforeMinutes": {
                    "type": "integer"
                  },
                  "bufferAfterMinutes": {
                    "type": "integer"
                  },
                  "branchIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uuid"
                    }
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "staffMode": {
                    "type": "string",
                    "enum": [
                      "all",
                      "selected"
                    ],
                    "description": "«Кто оказывает»: all — все сотрудники филиалов услуги (связи в specialists[].services создаёт сервер); selected — выбранные. По умолчанию — all."
                  }
                },
                "required": [
                  "id",
                  "version",
                  "name",
                  "description",
                  "durationMinutes",
                  "price",
                  "currency",
                  "bufferBeforeMinutes",
                  "bufferAfterMinutes",
                  "branchIds",
                  "active",
                  "staffMode"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/settings

BookingMachineController_settings_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_settings_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "privacy": {
                    "type": "object",
                    "properties": {
                      "privacyUrl": {
                        "type": "string",
                        "nullable": true
                      },
                      "required": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "privacyUrl",
                      "required",
                      "version"
                    ],
                    "additionalProperties": false
                  },
                  "publicPage": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string",
                        "nullable": true,
                        "maxLength": 80
                      },
                      "description": {
                        "type": "string",
                        "nullable": true,
                        "maxLength": 500
                      },
                      "logo": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "title",
                      "description",
                      "logo"
                    ],
                    "additionalProperties": false
                  },
                  "version": {
                    "type": "integer"
                  },
                  "publicEnabled": {
                    "type": "boolean"
                  },
                  "bookingKey": {
                    "type": "string"
                  },
                  "horizonDays": {
                    "type": "integer"
                  },
                  "leadMinutes": {
                    "type": "integer"
                  },
                  "stepMinutes": {
                    "type": "integer"
                  },
                  "customerCutoffMinutes": {
                    "type": "integer"
                  },
                  "specialistSelection": {
                    "type": "string",
                    "enum": [
                      "client",
                      "auto"
                    ],
                    "description": "client — клиент выбирает специалиста; auto — шаг выбора скрыт, специалиста назначает сервер при создании без specialistId."
                  },
                  "reminderMinutes": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "form": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer"
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "name",
                                "phone",
                                "email",
                                "string",
                                "number"
                              ]
                            },
                            "label": {
                              "type": "string"
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "visible": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "kind",
                            "label",
                            "required",
                            "visible"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "enabled",
                      "version",
                      "fields"
                    ],
                    "additionalProperties": false
                  },
                  "notifications": {
                    "type": "object",
                    "properties": {
                      "phoneMessenger": {
                        "type": "object",
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "maxChannelUuid": {
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "telegramChannelUuid": {
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "templates": {
                            "type": "object",
                            "properties": {
                              "confirmation": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "reminder": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "rescheduled": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "cancelled": {
                                "type": "string",
                                "maxLength": 1000
                              }
                            },
                            "required": [
                              "confirmation",
                              "reminder",
                              "rescheduled",
                              "cancelled"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "enabled",
                          "maxChannelUuid",
                          "telegramChannelUuid",
                          "templates"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "phoneMessenger"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "privacy",
                  "publicPage",
                  "version",
                  "publicEnabled",
                  "bookingKey",
                  "horizonDays",
                  "leadMinutes",
                  "stepMinutes",
                  "customerCutoffMinutes",
                  "specialistSelection",
                  "reminderMinutes",
                  "form",
                  "notifications"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

PATCH /api/v1/booking/settings

BookingMachineController_updateSettings_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "booking_settings_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/BookingSettingsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "privacy": {
                    "type": "object",
                    "properties": {
                      "privacyUrl": {
                        "type": "string",
                        "nullable": true
                      },
                      "required": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "privacyUrl",
                      "required",
                      "version"
                    ],
                    "additionalProperties": false
                  },
                  "publicPage": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string",
                        "nullable": true,
                        "maxLength": 80
                      },
                      "description": {
                        "type": "string",
                        "nullable": true,
                        "maxLength": 500
                      },
                      "logo": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "title",
                      "description",
                      "logo"
                    ],
                    "additionalProperties": false
                  },
                  "version": {
                    "type": "integer"
                  },
                  "publicEnabled": {
                    "type": "boolean"
                  },
                  "bookingKey": {
                    "type": "string"
                  },
                  "horizonDays": {
                    "type": "integer"
                  },
                  "leadMinutes": {
                    "type": "integer"
                  },
                  "stepMinutes": {
                    "type": "integer"
                  },
                  "customerCutoffMinutes": {
                    "type": "integer"
                  },
                  "specialistSelection": {
                    "type": "string",
                    "enum": [
                      "client",
                      "auto"
                    ],
                    "description": "client — клиент выбирает специалиста; auto — шаг выбора скрыт, специалиста назначает сервер при создании без specialistId."
                  },
                  "reminderMinutes": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  },
                  "form": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "version": {
                        "type": "integer"
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "name",
                                "phone",
                                "email",
                                "string",
                                "number"
                              ]
                            },
                            "label": {
                              "type": "string"
                            },
                            "required": {
                              "type": "boolean"
                            },
                            "visible": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "id",
                            "kind",
                            "label",
                            "required",
                            "visible"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "enabled",
                      "version",
                      "fields"
                    ],
                    "additionalProperties": false
                  },
                  "notifications": {
                    "type": "object",
                    "properties": {
                      "phoneMessenger": {
                        "type": "object",
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "maxChannelUuid": {
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "telegramChannelUuid": {
                            "type": "string",
                            "format": "uuid",
                            "nullable": true
                          },
                          "templates": {
                            "type": "object",
                            "properties": {
                              "confirmation": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "reminder": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "rescheduled": {
                                "type": "string",
                                "maxLength": 1000
                              },
                              "cancelled": {
                                "type": "string",
                                "maxLength": 1000
                              }
                            },
                            "required": [
                              "confirmation",
                              "reminder",
                              "rescheduled",
                              "cancelled"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "enabled",
                          "maxChannelUuid",
                          "telegramChannelUuid",
                          "templates"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "phoneMessenger"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "privacy",
                  "publicPage",
                  "version",
                  "publicEnabled",
                  "bookingKey",
                  "horizonDays",
                  "leadMinutes",
                  "stepMinutes",
                  "customerCutoffMinutes",
                  "specialistSelection",
                  "reminderMinutes",
                  "form",
                  "notifications"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/booking/specialists

BookingMachineController_specialists_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [],
  "anyScopes": [
    "booking_read",
    "booking_write",
    "booking_catalog_write",
    "booking_settings_write"
  ],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Конверт APX. Поля контактов/ответов/заметок возвращаются только с booking_contacts_read. Повтор Idempotency-Key проверяет текущие права и возвращает исходный результат с актуальной проекцией.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "version": {
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        },
                        "branchIds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uuid"
                          }
                        },
                        "services": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "serviceId": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "durationMinutes": {
                                "type": "integer",
                                "nullable": true
                              },
                              "price": {
                                "type": "string",
                                "nullable": true
                              },
                              "bufferBeforeMinutes": {
                                "type": "integer",
                                "nullable": true
                              },
                              "bufferAfterMinutes": {
                                "type": "integer",
                                "nullable": true
                              }
                            },
                            "required": [
                              "serviceId",
                              "durationMinutes",
                              "price",
                              "bufferBeforeMinutes",
                              "bufferAfterMinutes"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "active": {
                          "type": "boolean"
                        },
                        "userUuid": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "publicName": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "id",
                        "version",
                        "name",
                        "branchIds",
                        "services",
                        "active"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "items",
                  "nextCursor"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "status",
              "data"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "400": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "401": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "403": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "404": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "409": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "422": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "429": {
      "description": "BOOKING_VALIDATION / SESSION_REQUIRED / FORBIDDEN / NOT_FOUND / SLOT_TAKEN / VERSION_CONFLICT / FORM_CHANGED / QUOTE_CHANGED / IDEMPOTENCY_CONFLICT / INVALID_STATUS / SCHEDULE_CONFLICT / OUTSIDE_AVAILABILITY / CUTOFF / RATE_LIMITED. QUOTE_CHANGED — показанные условия времени изменились, требуется свежий выбор и подтверждение; визит не изменён. SCHEDULE_CONFLICT — время визита на пересекающихся сменах специалиста или архив филиала с будущими визитами (details.reason: future_appointment). При 429 передаётся Retry-After.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "additionalProperties": true
              },
              "timestamp": {
                "type": "string",
                "format": "date-time"
              },
              "path": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "code",
              "message",
              "timestamp",
              "path"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}

GET /api/v1/crm/analytics/summary

Сводная аналитика встроенной CRM · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_analytics_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "startDate",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "endDate",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "pipelineId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "ownerId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "contactId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "tagId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmAnalyticsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/audit

Журнал изменений CRM · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_audit_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceType",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 64,
        "type": "string"
      }
    },
    {
      "name": "action",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 128,
        "type": "string"
      }
    },
    {
      "name": "applicationId",
      "required": false,
      "in": "query",
      "description": "Фильтр по API-приложению",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmAuditListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/bulk-jobs

Массовые операции организации · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_bulk_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "entityType",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "contact",
          "company",
          "deal",
          "task"
        ]
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmBulkJobListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/bulk-jobs

Поставить массовую операцию · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_bulk_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiBulkJobDtoV1"
        }
      }
    }
  },
  "responses": {
    "202": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmBulkJobCreatedResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/bulk-jobs/{id}

Статус массовой операции и ошибки по целям · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_bulk_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmBulkJobResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/capabilities

Возможности CRM API для текущей организации · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_settings_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCapabilitiesResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/changes

Инкрементальная лента изменений CRM · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_changes_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "after",
      "required": false,
      "in": "query",
      "description": "Cursor из /changes/cursor",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "resourceTypes",
      "required": false,
      "in": "query",
      "description": "Типы ресурсов через запятую",
      "schema": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChangeEventListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/changes/cursor

Текущая позиция ленты изменений · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_changes_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceTypes",
      "required": false,
      "in": "query",
      "description": "Типы ресурсов через запятую",
      "schema": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChangeCursorResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/companies

CrmPublicCompaniesController_list_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "search",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "ownerId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies

CrmPublicCompaniesController_create_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiCompanyDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/companies/{id}

CrmPublicCompaniesController_get_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/companies/{id}

CrmPublicCompaniesController_update_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiCompanyDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/companies/{id}/contacts

Контакты компании · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read",
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyContactsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/crm/companies/{id}/contacts

Атомарно заменить контакты компании · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write",
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ReplaceCrmApiCompanyContactsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyContactsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies/{id}/delete/commit

CrmPublicCompaniesController_deleteCommit_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_delete"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCompanyDeleteCommitDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/companies/{id}/delete/preview

CrmPublicCompaniesController_deletePreview_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyDeletePreviewResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/companies/{resourceId}/tags

Теги компании · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/crm/companies/{resourceId}/tags

Заменить набор тегов компании · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ReplaceCrmApiResourceTagsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies/batch/get

CrmPublicCompaniesController_batchGet_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCompanyBatchGetDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies/batch/upsert

CrmPublicCompaniesController_batchUpsert_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCompanyBatchUpsertDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies/merge/commit

CrmPublicCompaniesController_mergeCommit_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write",
    "crm_companies_delete"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCompanyMergeCommitDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyMergeResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies/merge/preview

CrmPublicCompaniesController_mergePreview_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCompanyMergePreviewDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyMergePreviewResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/companies/upsert

CrmPublicCompaniesController_upsert_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_companies_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpsertCrmApiCompanyDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCompanyUpsertResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/contacts

CrmPublicClientsController_list_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "search",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts

CrmPublicClientsController_create_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiClientDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/contacts/{id}

CrmPublicClientsController_remove_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_delete"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientRemoveResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/contacts/{id}

CrmPublicClientsController_get_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/contacts/{id}

CrmPublicClientsController_update_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiClientDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts/{id}/delete/commit

CrmPublicClientsController_deleteCommit_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_delete"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiClientDeleteCommitDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientDeleteCommitResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/contacts/{id}/delete/preview

CrmPublicClientsController_deletePreview_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientDeletePreviewResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/contacts/{resourceId}/tags

Теги клиента · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_read",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/crm/contacts/{resourceId}/tags

Заменить набор тегов клиента · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_write",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ReplaceCrmApiResourceTagsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts/batch/get

CrmPublicClientsController_batchGet_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiClientBatchGetDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientBatchReadResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts/batch/upsert

CrmPublicClientsController_batchUpsert_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiClientBatchUpsertDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts/merge/commit

CrmPublicClientsController_mergeCommit_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_write",
    "crm_contacts_delete"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiClientMergeCommitDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientMergedResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts/merge/preview

CrmPublicClientsController_mergePreview_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiClientMergePreviewDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientMergePreviewResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/contacts/upsert

CrmPublicClientsController_upsert_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_contacts_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpsertCrmApiClientDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmClientUpsertResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/custom-fields/assignments/{entityType}

Получить явные назначения кастомных полей · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "entityType",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldAssignmentsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/custom-fields/assignments/{entityType}

Явно назначить значения с CAS набора полей · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "entityType",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PatchCrmApiCustomFieldAssignmentsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldAssignmentsPatchedResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/custom-fields/definitions

Список определений кастомных полей · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "entityType",
      "required": true,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "client",
          "deal",
          "company"
        ]
      }
    },
    {
      "name": "includeArchived",
      "required": false,
      "in": "query",
      "schema": {
        "default": false,
        "type": "boolean"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "pipelineUuid",
      "required": false,
      "in": "query",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldDefinitionListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/custom-fields/definitions

Создать определение кастомного поля · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiCustomFieldDefinitionDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldDefinitionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/custom-fields/definitions/{definitionUuid}

Получить определение кастомного поля · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldDefinitionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/custom-fields/definitions/{definitionUuid}

Обновить определение с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiCustomFieldDefinitionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldDefinitionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/custom-fields/definitions/{definitionUuid}/archive

Архивировать определение с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCustomFieldVersionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldDefinitionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/custom-fields/definitions/{definitionUuid}/options

Добавить вариант с CAS определения · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiCustomFieldOptionRequestDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldOptionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/custom-fields/definitions/{definitionUuid}/options/{optionUuid}

Обновить вариант с CAS варианта и определения · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "optionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiCustomFieldOptionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldOptionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/custom-fields/definitions/{definitionUuid}/options/{optionUuid}/archive

Архивировать вариант с CAS · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "optionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCustomFieldOptionVersionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldOptionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/custom-fields/definitions/{definitionUuid}/options/{optionUuid}/restore

Восстановить вариант с CAS · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "optionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCustomFieldOptionVersionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldOptionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/custom-fields/definitions/{definitionUuid}/restore

Восстановить определение с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_custom_fields_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "definitionUuid",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiCustomFieldVersionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmCustomFieldDefinitionResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals

Список сделок · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "pipelineId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "stageId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "companyId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "contactId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "ownerId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals

Создать сделку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiDealDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals/{dealId}/activities

Активности сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealActivityListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals/{dealId}/activities

Добавить активность к сделке · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiDealActivityDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealActivityResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/deals/{dealId}/activities/{id}

Удалить активность с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/deals/{dealId}/activities/{id}

Обновить активность с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiDealActivityDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealActivityResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals/{dealId}/events

Лента событий сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "type",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 64,
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealEventListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals/{dealId}/items

Позиции сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read",
    "crm_amounts_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealItemListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals/{dealId}/items

Добавить позицию в сделку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write",
    "crm_amounts_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiDealItemDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealItemResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/deals/{dealId}/items/{id}

Удалить позицию с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write",
    "crm_amounts_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/deals/{dealId}/items/{id}

Обновить позицию с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write",
    "crm_amounts_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "dealId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiDealItemDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealItemResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/deals/{id}

Удалить сделку с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_delete"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals/{id}

Получить сделку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/deals/{id}

Обновить сделку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiDealDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/deals/{id}/move

Переместить сделку на стадию · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MoveCrmApiDealDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals/{ownerId}/files

Вложения сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read",
    "crm_files_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "ownerId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmFileListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals/{ownerId}/files

Прикрепить файлы к сделке · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write",
    "crm_files_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "ownerId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmFileUploadResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/deals/{ownerId}/files/{fileId}

Открепить файл от сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write",
    "crm_files_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "ownerId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "fileId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmFileDetachResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/deals/{resourceId}/tags

Теги сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/crm/deals/{resourceId}/tags

Заменить набор тегов сделки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ReplaceCrmApiResourceTagsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals/batch/get

Пакетное чтение сделок · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmBatchGetDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals/batch/upsert

Пакетное создание или обновление сделок · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiDealBatchUpsertDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/deals/upsert

Создать или обновить сделку по externalId · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_deals_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpsertCrmApiDealDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDealResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/exports

Задания выгрузки организации · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_export_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmExportListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/exports

Запросить выгрузку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_export_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiExportDtoV1"
        }
      }
    }
  },
  "responses": {
    "202": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmExportCreatedResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/exports/{id}

Статус выгрузки и ссылка на файл · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_export_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmExportResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/imports

Импорты организации · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_import_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmImportListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/imports

Загрузить файл импорта · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_import_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "multipart/form-data": {
        "schema": {
          "type": "object",
          "required": [
            "file",
            "entityType"
          ],
          "properties": {
            "file": {
              "type": "string",
              "format": "binary"
            },
            "entityType": {
              "type": "string",
              "enum": [
                "provider_bundle",
                "contacts",
                "companies",
                "company_contacts",
                "deal_contacts",
                "deal_companies"
              ]
            }
          }
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmImportResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/imports/{id}

Состояние импорта · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_import_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmImportResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/imports/{id}/cancel

Отменить импорт · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_import_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmImportResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/imports/{id}/preview

Предпросмотр: колонки файла и доступные поля CRM · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_import_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmImportPreviewResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/imports/{id}/start

Запустить импорт с заданным маппингом колонок · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_import_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/StartCrmApiImportDtoV1"
        }
      }
    }
  },
  "responses": {
    "202": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmImportStartResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/operators

Список операторов организации · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_operators_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmOperatorListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/operators/{id}

CrmPublicOperatorsController_get_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_operators_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmOperatorResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/pipelines

CrmPublicPipelinesController_list_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/pipelines

CrmPublicPipelinesController_create_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiPipelineDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/pipelines/{id}

CrmPublicPipelinesController_remove_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/pipelines/{id}

CrmPublicPipelinesController_get_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/pipelines/{id}

CrmPublicPipelinesController_update_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiPipelineDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/pipelines/{id}/impact

Что затрагивает удаление воронки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineImpactResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/pipelines/{pipelineId}/lost-reasons

Причины потери воронки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmLostReasonListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/pipelines/{pipelineId}/lost-reasons

CrmPublicPipelinesController_createLostReason_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiLostReasonDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmLostReasonResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/pipelines/{pipelineId}/lost-reasons/{id}

CrmPublicPipelinesController_deleteLostReason_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/pipelines/{pipelineId}/lost-reasons/{id}

CrmPublicPipelinesController_updateLostReason_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiLostReasonDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmLostReasonResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/pipelines/{pipelineId}/lost-reasons/reorder

Полная перестановка порядка причин потери · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiReorderDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmLostReasonArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/pipelines/{pipelineId}/stages

CrmPublicPipelinesController_createStage_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiStageDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineStageResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/pipelines/{pipelineId}/stages/{id}

CrmPublicPipelinesController_deleteStage_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/pipelines/{pipelineId}/stages/{id}

CrmPublicPipelinesController_updateStage_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiStageDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineStageResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/pipelines/{pipelineId}/stages/{id}/impact

Что затрагивает удаление стадии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmStageImpactResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/pipelines/{pipelineId}/stages/reorder

Полная перестановка порядка стадий · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "pipelineId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiReorderDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineStageArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/pipelines/reorder

Полная перестановка порядка воронок · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_pipelines_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiPipelineReorderDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPipelineArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/settings

Получить настройки CRM · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_settings_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmSettingsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/settings

Обновить настройки CRM с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_settings_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiSettingsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmSettingsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/settings/notifications

Политика уведомлений CRM · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_settings_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmNotificationSettingsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/settings/notifications

Обновить политику уведомлений с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_settings_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiNotificationSettingsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmNotificationSettingsResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tags

CrmPublicTagsController_list_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "type",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "client",
          "company",
          "deal",
          "universal"
        ]
      }
    },
    {
      "name": "category",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "crm",
          "image",
          "bot"
        ]
      }
    },
    {
      "name": "active",
      "required": false,
      "in": "query",
      "schema": {
        "type": "boolean"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tags

CrmPublicTagsController_create_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tags_manage"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiTagDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/tags/{id}

CrmPublicTagsController_remove_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tags_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tags/{id}

CrmPublicTagsController_get_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/tags/{id}

CrmPublicTagsController_update_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tags_manage"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiTagDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tasks

Список задач · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "maximum": 100,
        "default": 50,
        "type": "number"
      }
    },
    {
      "name": "externalId",
      "required": false,
      "in": "query",
      "schema": {
        "maxLength": 200,
        "type": "string"
      }
    },
    {
      "name": "status",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "new",
          "in_progress",
          "waiting",
          "done",
          "cancelled"
        ]
      }
    },
    {
      "name": "assigneeId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "contactId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "companyId",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks

Создать задачу · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiTaskDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/tasks/{id}

Удалить задачу с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_delete"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tasks/{id}

Получить задачу · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/tasks/{id}

Обновить задачу · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiTaskDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tasks/{ownerId}/files

Вложения задачи · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_read",
    "crm_files_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "ownerId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmFileListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/{ownerId}/files

Прикрепить файлы к задаче · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write",
    "crm_files_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "ownerId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmFileUploadResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/tasks/{ownerId}/files/{fileId}

Открепить файл от задачи · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write",
    "crm_files_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "ownerId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "fileId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmFileDetachResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tasks/{resourceId}/tags

Теги задачи · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_read",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PUT /api/v1/crm/tasks/{resourceId}/tags

Заменить набор тегов задачи · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write",
    "crm_tags_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "resourceId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ReplaceCrmApiResourceTagsDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTagArrayResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/crm/tasks/{taskId}/checklists

Чек-листы задачи с пунктами · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChecklistListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/{taskId}/checklists

Создать чек-лист · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiChecklistDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChecklistResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/tasks/{taskId}/checklists/{checklistId}

Удалить чек-лист с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "checklistId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/tasks/{taskId}/checklists/{checklistId}

Обновить чек-лист с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "checklistId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiChecklistDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChecklistResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/{taskId}/checklists/{checklistId}/items

Добавить пункт в чек-лист · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "checklistId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateCrmApiChecklistItemDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChecklistItemResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

DELETE /api/v1/crm/tasks/{taskId}/checklists/{checklistId}/items/{itemId}

Удалить пункт с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "checklistId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "itemId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "expectedVersion",
      "required": true,
      "in": "query",
      "schema": {
        "minimum": 1,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmDeleteResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/crm/tasks/{taskId}/checklists/{checklistId}/items/{itemId}

Обновить пункт с проверкой версии · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "checklistId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "itemId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateCrmApiChecklistItemDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChecklistItemResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/{taskId}/checklists/{checklistId}/items/reorder

Полная перестановка порядка пунктов · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "taskId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "checklistId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiChecklistReorderDtoV1"
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmChecklistItemListResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/batch/get

Пакетное чтение задач · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmBatchGetDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/batch/upsert

Пакетное создание или обновление задач · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CrmApiTaskBatchUpsertDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskBatchResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

POST /api/v1/crm/tasks/upsert

Создать или обновить задачу по externalId · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "crm_tasks_write"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpsertCrmApiTaskDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Успешный ответ публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmTaskResponseV1Dto"
          }
        }
      }
    },
    "400": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "410": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "428": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "Ошибка публичного CRM API v1",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CrmPublicErrorResponseV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/external/channels

ChannelExternalController_listChannels_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "channel_ai_agent"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ChannelPublicV1Dto"
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/external/channels/{channelId}/ai-operator

ChannelExternalController_getAiOperator_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "channel_ai_agent"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "channelId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/ChannelAiOperatorPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

PATCH /api/v1/external/channels/{channelId}/ai-operator

ChannelExternalController_updateAiOperator_V1 · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "channel_ai_agent"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "channelId",
      "required": true,
      "in": "path",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/UpdateChannelAiOperatorPublicV1Dto"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "status",
              "data"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "OK"
                ]
              },
              "data": {
                "$ref": "#/components/schemas/ChannelAiOperatorPublicV1Dto"
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "413": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "422": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiErrorV1Dto"
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/capabilities

Возможности Messaging API текущего приложения · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/channels

Доступные приложению каналы · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "active": {
                      "type": "boolean"
                    },
                    "operational": {
                      "type": "object",
                      "properties": {
                        "state": {
                          "type": "string",
                          "enum": [
                            "unbound",
                            "connecting",
                            "online",
                            "suspect",
                            "offline",
                            "recovering",
                            "reauth_required",
                            "degraded",
                            "disabled"
                          ]
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    },
                    "mediaKinds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "image",
                          "video",
                          "audio",
                          "document",
                          "voice"
                        ]
                      }
                    },
                    "mediaFormats": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "only": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "except": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "writeFirst": {
                      "type": "boolean"
                    },
                    "capabilities": {
                      "type": "object",
                      "properties": {
                        "version": {
                          "type": "integer",
                          "enum": [
                            1
                          ]
                        },
                        "mediaKinds": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "image",
                              "video",
                              "audio",
                              "document",
                              "voice"
                            ]
                          }
                        },
                        "mediaFormats": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "only": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "except": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "reactionEmojis": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "editWindowSeconds": {
                          "type": "integer",
                          "nullable": true
                        },
                        "deleteWindowSeconds": {
                          "type": "integer",
                          "nullable": true
                        },
                        "sendText": {
                          "type": "boolean"
                        },
                        "textFormatting": {
                          "type": "boolean"
                        },
                        "nativeMedia": {
                          "type": "boolean"
                        },
                        "reply": {
                          "type": "boolean"
                        },
                        "edit": {
                          "type": "boolean"
                        },
                        "delete": {
                          "type": "boolean"
                        },
                        "reactions": {
                          "type": "boolean"
                        },
                        "receipts": {
                          "type": "boolean"
                        },
                        "deliveryReceipts": {
                          "type": "boolean"
                        },
                        "readReceipts": {
                          "type": "boolean"
                        },
                        "writeFirst": {
                          "type": "boolean"
                        },
                        "albums": {
                          "type": "boolean"
                        },
                        "topics": {
                          "type": "boolean"
                        },
                        "polls": {
                          "type": "boolean"
                        },
                        "historyImport": {
                          "type": "boolean"
                        },
                        "aiInGroups": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/dialogs

Диалоги разрешённых каналов · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "minimum": 1,
        "maximum": 100,
        "default": 30,
        "type": "number"
      }
    },
    {
      "name": "queue",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string",
        "enum": [
          "manual"
        ]
      }
    },
    {
      "name": "channelId",
      "required": false,
      "in": "query",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "channelId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "clientId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "operatorId": {
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "departmentId": {
                      "type": "string",
                      "format": "uuid",
                      "nullable": true
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "closed"
                      ]
                    },
                    "responseState": {
                      "type": "string",
                      "enum": [
                        "none",
                        "required",
                        "answered",
                        "not_required"
                      ]
                    },
                    "responseRequired": {
                      "type": "boolean"
                    },
                    "responseRequiredSince": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "responseVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "automationPaused": {
                      "type": "boolean"
                    },
                    "automationControlVersion": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "handoffStatus": {
                      "type": "string",
                      "enum": [
                        "pending",
                        "assigned"
                      ],
                      "nullable": true
                    },
                    "handoffRequestedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "requiresAcceptance": {
                      "type": "boolean"
                    }
                  }
                }
              },
              "meta": {
                "type": "object",
                "properties": {
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  },
                  "hasMore": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/dialogs/{id}

Диалог и состояние передачи человеку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "channelId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "clientId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "operatorId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "departmentId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "closed"
                    ]
                  },
                  "responseState": {
                    "type": "string",
                    "enum": [
                      "none",
                      "required",
                      "answered",
                      "not_required"
                    ]
                  },
                  "responseRequired": {
                    "type": "boolean"
                  },
                  "responseRequiredSince": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "responseVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "automationPaused": {
                    "type": "boolean"
                  },
                  "automationControlVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "handoffStatus": {
                    "type": "string",
                    "enum": [
                      "pending",
                      "assigned"
                    ],
                    "nullable": true
                  },
                  "handoffRequestedAt": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "requiresAcceptance": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/dialogs/{id}/actions

Действия сотрудника и кандидаты назначения без приватных полей · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "authorUserId",
      "required": true,
      "in": "query",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "authorUserId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "automationControlVersion": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "actions": {
                    "type": "object",
                    "properties": {
                      "claim": {
                        "type": "object",
                        "properties": {
                          "allowed": {
                            "type": "boolean"
                          },
                          "reason": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      },
                      "assignment": {
                        "type": "object",
                        "properties": {
                          "allowed": {
                            "type": "boolean"
                          },
                          "reason": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      },
                      "close": {
                        "type": "object",
                        "properties": {
                          "allowed": {
                            "type": "boolean"
                          },
                          "reason": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      },
                      "reopen": {
                        "type": "object",
                        "properties": {
                          "allowed": {
                            "type": "boolean"
                          },
                          "reason": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      }
                    }
                  },
                  "operators": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "name": {
                          "type": "string"
                        },
                        "available": {
                          "type": "boolean"
                        },
                        "reason": {
                          "type": "string",
                          "nullable": true
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/dialogs/{id}/assignment

Операторское действие: assignment; обязательный CAS и actor · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_assign"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "pattern": "^[!-~]+$"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessagingAssignmentDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "dialogId",
                  "action",
                  "status",
                  "automationControlVersion"
                ],
                "properties": {
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "assignment"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "applied"
                    ]
                  },
                  "automationControlVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/dialogs/{id}/claim

Операторское действие: claim; обязательный CAS и actor · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_claim"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "pattern": "^[!-~]+$"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessagingOperatorActionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "dialogId",
                  "action",
                  "status",
                  "automationControlVersion"
                ],
                "properties": {
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "claim"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "applied"
                    ]
                  },
                  "automationControlVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/dialogs/{id}/close

Операторское действие: close; обязательный CAS и actor · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_close"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "pattern": "^[!-~]+$"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessagingOperatorActionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "dialogId",
                  "action",
                  "status",
                  "automationControlVersion"
                ],
                "properties": {
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "close"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "applied"
                    ]
                  },
                  "automationControlVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/dialogs/{id}/handoff

Остановить автоматизацию и запросить человека · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_handoff"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "pattern": "^[!-~]+$"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessagingHandoffDtoV1"
        }
      }
    }
  },
  "responses": {
    "202": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/dialogs/{id}/messages

Публичная история диалога · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "minimum": 1,
        "maximum": 100,
        "default": 30,
        "type": "number"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "dialogId",
                    "text",
                    "attribution",
                    "deliveryStatus"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "dialogId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "channelId": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "text": {
                      "type": "string",
                      "nullable": true
                    },
                    "senderType": {
                      "type": "string",
                      "enum": [
                        "client",
                        "operator"
                      ]
                    },
                    "attribution": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "kind": {
                          "type": "string"
                        },
                        "actorUuid": {
                          "type": "string",
                          "format": "uuid",
                          "nullable": true
                        },
                        "actorName": {
                          "type": "string",
                          "nullable": true
                        },
                        "sourceId": {
                          "type": "string",
                          "nullable": true
                        },
                        "sourceName": {
                          "type": "string",
                          "nullable": true
                        }
                      }
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "deletedAt": {
                      "type": "string",
                      "format": "date-time",
                      "nullable": true
                    },
                    "deliveryStatus": {
                      "type": "string",
                      "nullable": true,
                      "enum": [
                        "pending",
                        "processing",
                        "sent",
                        "delivered",
                        "read",
                        "partial",
                        "failed",
                        "unknown"
                      ]
                    },
                    "deliveryError": {
                      "type": "string",
                      "nullable": true
                    },
                    "delivery": {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string"
                        },
                        "error": {
                          "type": "string",
                          "nullable": true
                        },
                        "parts": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "index": {
                                "type": "integer"
                              },
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "text",
                                  "media"
                                ]
                              },
                              "fileUuid": {
                                "type": "string",
                                "format": "uuid"
                              },
                              "status": {
                                "type": "string"
                              },
                              "error": {
                                "type": "string"
                              },
                              "sentAt": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "deliveredAt": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "readAt": {
                                "type": "string",
                                "format": "date-time"
                              }
                            }
                          }
                        }
                      }
                    },
                    "quote": {
                      "type": "object",
                      "nullable": true,
                      "additionalProperties": true
                    },
                    "attachments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "name": {
                            "type": "string"
                          },
                          "mimeType": {
                            "type": "string"
                          },
                          "size": {
                            "type": "integer",
                            "nullable": true
                          },
                          "width": {
                            "type": "integer",
                            "nullable": true
                          },
                          "height": {
                            "type": "integer",
                            "nullable": true
                          },
                          "downloadUrl": {
                            "type": "string",
                            "description": "Относительный защищённый URL; передавайте тот же Bearer token"
                          }
                        }
                      }
                    }
                  }
                }
              },
              "meta": {
                "type": "object",
                "properties": {
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  },
                  "hasMore": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/dialogs/{id}/reopen

Операторское действие: reopen; обязательный CAS и actor · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_reopen"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "pattern": "^[!-~]+$"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/MessagingOperatorActionDtoV1"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "dialogId",
                  "action",
                  "status",
                  "automationControlVersion"
                ],
                "properties": {
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "reopen"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "applied"
                    ]
                  },
                  "automationControlVersion": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/events

Восстановить события после cursor; срок хранения 90 дней · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read",
    "messaging_events_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "cursor",
      "required": false,
      "in": "query",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "limit",
      "required": false,
      "in": "query",
      "schema": {
        "minimum": 1,
        "maximum": 100,
        "default": 30,
        "type": "number"
      }
    },
    {
      "name": "includeChannelEvents",
      "required": false,
      "in": "query",
      "schema": {
        "default": false,
        "type": "boolean"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "type": {
                      "type": "string"
                    },
                    "apiVersion": {
                      "type": "string",
                      "enum": [
                        "v1"
                      ]
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              },
              "meta": {
                "type": "object",
                "properties": {
                  "nextCursor": {
                    "type": "string",
                    "nullable": true
                  },
                  "hasMore": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/events/cursor

Текущая позиция событий для начала синхронизации · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read",
    "messaging_events_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "includeChannelEvents",
      "required": false,
      "in": "query",
      "schema": {
        "default": false,
        "type": "boolean"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "cursor"
                ],
                "properties": {
                  "cursor": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/messages

Ответ или первый контакт; 202 означает сохранение команды, не доставку · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_send"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "idempotency-key",
      "required": true,
      "in": "header",
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "pattern": "^[!-~]+$"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SendMessagingMessageDtoV1"
        }
      }
    }
  },
  "responses": {
    "202": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "messageId",
                  "dialogId",
                  "externalMessageId",
                  "status"
                ],
                "properties": {
                  "messageId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "externalMessageId": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "accepted"
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/messages/{id}

Сообщение и состояние доставки · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "id",
                  "dialogId",
                  "text",
                  "attribution",
                  "deliveryStatus"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "dialogId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "channelId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "text": {
                    "type": "string",
                    "nullable": true
                  },
                  "senderType": {
                    "type": "string",
                    "enum": [
                      "client",
                      "operator"
                    ]
                  },
                  "attribution": {
                    "type": "object",
                    "nullable": true,
                    "properties": {
                      "kind": {
                        "type": "string"
                      },
                      "actorUuid": {
                        "type": "string",
                        "format": "uuid",
                        "nullable": true
                      },
                      "actorName": {
                        "type": "string",
                        "nullable": true
                      },
                      "sourceId": {
                        "type": "string",
                        "nullable": true
                      },
                      "sourceName": {
                        "type": "string",
                        "nullable": true
                      }
                    }
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "deletedAt": {
                    "type": "string",
                    "format": "date-time",
                    "nullable": true
                  },
                  "deliveryStatus": {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      "pending",
                      "processing",
                      "sent",
                      "delivered",
                      "read",
                      "partial",
                      "failed",
                      "unknown"
                    ]
                  },
                  "deliveryError": {
                    "type": "string",
                    "nullable": true
                  },
                  "delivery": {
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string"
                      },
                      "error": {
                        "type": "string",
                        "nullable": true
                      },
                      "parts": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "index": {
                              "type": "integer"
                            },
                            "kind": {
                              "type": "string",
                              "enum": [
                                "text",
                                "media"
                              ]
                            },
                            "fileUuid": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "status": {
                              "type": "string"
                            },
                            "error": {
                              "type": "string"
                            },
                            "sentAt": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "deliveredAt": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "readAt": {
                              "type": "string",
                              "format": "date-time"
                            }
                          }
                        }
                      }
                    }
                  },
                  "quote": {
                    "type": "object",
                    "nullable": true,
                    "additionalProperties": true
                  },
                  "attachments": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "name": {
                          "type": "string"
                        },
                        "mimeType": {
                          "type": "string"
                        },
                        "size": {
                          "type": "integer",
                          "nullable": true
                        },
                        "width": {
                          "type": "integer",
                          "nullable": true
                        },
                        "height": {
                          "type": "integer",
                          "nullable": true
                        },
                        "downloadUrl": {
                          "type": "string",
                          "description": "Относительный защищённый URL; передавайте тот же Bearer token"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

GET /api/v1/messaging/messages/{id}/attachments/{fileId}

Скачать публичное вложение с повторной проверкой доступа приложения · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_read"
  ],
  "anyScopes": [],
  "parameters": [
    {
      "name": "id",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "fileId",
      "required": true,
      "in": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "content": {
        "application/octet-stream": {
          "schema": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "description": ""
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

POST /api/v1/messaging/uploads

Загрузить вложения приложения на 24 часа · Руководство

Scopes, параметры, тело запроса и ответы
{
  "scopes": [
    "messaging_upload"
  ],
  "anyScopes": [],
  "parameters": [],
  "requestBody": {
    "required": true,
    "content": {
      "multipart/form-data": {
        "schema": {
          "type": "object",
          "required": [
            "files"
          ],
          "properties": {
            "authorUserId": {
              "type": "string",
              "format": "uuid"
            },
            "files": {
              "type": "array",
              "maxItems": 10,
              "items": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        }
      }
    }
  },
  "responses": {
    "201": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "401": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "403": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "404": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "409": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "429": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "500": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "503": {
      "description": "",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "error"
            ],
            "properties": {
              "error": {
                "type": "object",
                "required": [
                  "code",
                  "message"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "details": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "requestId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Схемы OpenAPI

CrmPublicErrorBodyV1Dto
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "example": "validation_error"
    },
    "message": {
      "type": "string",
      "example": "Запрос не прошёл проверку"
    },
    "details": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ]
    },
    "requestId": {
      "type": "string",
      "example": "5f23d5ee-a0fd-4d8f-b5f8-71bcab433637"
    }
  },
  "required": [
    "code",
    "message"
  ]
}
CrmPublicErrorResponseV1Dto
{
  "type": "object",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/CrmPublicErrorBodyV1Dto"
    }
  },
  "required": [
    "error"
  ]
}
CrmApiVersioningCapabilitiesV1Dto
{
  "type": "object",
  "properties": {
    "current": {
      "type": "string",
      "example": "v1",
      "pattern": "^v\\d+$"
    },
    "supported": {
      "example": [
        "v1"
      ],
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "deprecated": {
      "example": [],
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "current",
    "supported",
    "deprecated"
  ]
}
CrmWebhookPayloadVersionsV1Dto
{
  "type": "object",
  "properties": {
    "current": {
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "example": "1"
    },
    "supported": {
      "type": "array",
      "example": [
        "1",
        "2"
      ],
      "items": {
        "type": "string",
        "enum": [
          "1",
          "2"
        ]
      }
    },
    "deprecated": {
      "type": "array",
      "example": [],
      "items": {
        "type": "string",
        "enum": [
          "1",
          "2"
        ]
      }
    }
  },
  "required": [
    "current",
    "supported",
    "deprecated"
  ]
}
CrmCapabilitiesFeaturesV1Dto
{
  "type": "object",
  "properties": {
    "externalIds": {
      "type": "boolean"
    },
    "optimisticConcurrency": {
      "type": "boolean"
    },
    "idempotency": {
      "type": "boolean"
    },
    "referenceManagement": {
      "type": "boolean"
    },
    "operatorsRead": {
      "type": "boolean"
    },
    "customFieldAssignments": {
      "type": "boolean"
    },
    "webhooks": {
      "type": "boolean"
    }
  },
  "required": [
    "externalIds",
    "optimisticConcurrency",
    "idempotency",
    "referenceManagement",
    "operatorsRead",
    "customFieldAssignments",
    "webhooks"
  ]
}
CrmCapabilitiesPerMinuteRateLimitsV1Dto
{
  "type": "object",
  "properties": {
    "read": {
      "type": "number",
      "example": 600
    },
    "write": {
      "type": "number",
      "example": 120
    },
    "heavy": {
      "type": "number",
      "example": 10
    }
  },
  "required": [
    "read",
    "write",
    "heavy"
  ]
}
CrmCapabilitiesRateLimitsV1Dto
{
  "type": "object",
  "properties": {
    "perMinute": {
      "$ref": "#/components/schemas/CrmCapabilitiesPerMinuteRateLimitsV1Dto"
    },
    "heavyConcurrency": {
      "type": "number",
      "example": 2
    },
    "invalidTokenPerMinutePerIp": {
      "type": "number",
      "example": 30
    }
  },
  "required": [
    "perMinute",
    "heavyConcurrency",
    "invalidTokenPerMinutePerIp"
  ]
}
CrmCapabilitiesLimitsV1Dto
{
  "type": "object",
  "properties": {
    "batch": {
      "type": "number",
      "example": 100
    },
    "bulkTargets": {
      "type": "number",
      "example": 10000
    },
    "uploadBytes": {
      "type": "number",
      "example": 1048576
    },
    "pageSizeDefault": {
      "type": "number",
      "example": 50
    },
    "pageSizeMax": {
      "type": "number",
      "example": 100
    },
    "idempotencyTtlHours": {
      "type": "number",
      "example": 24
    },
    "changeFeedRetentionDays": {
      "type": "number",
      "example": 90
    }
  },
  "required": [
    "batch",
    "bulkTargets",
    "uploadBytes",
    "pageSizeDefault",
    "pageSizeMax",
    "idempotencyTtlHours",
    "changeFeedRetentionDays"
  ]
}
CrmCapabilitiesDataV1Dto
{
  "type": "object",
  "properties": {
    "apiVersion": {
      "type": "string",
      "example": "v1",
      "pattern": "^v\\d+$"
    },
    "versioning": {
      "$ref": "#/components/schemas/CrmApiVersioningCapabilitiesV1Dto"
    },
    "webhookPayloadVersions": {
      "$ref": "#/components/schemas/CrmWebhookPayloadVersionsV1Dto"
    },
    "provider": {
      "type": "string",
      "enum": [
        "internal",
        "bitrix24",
        "amocrm"
      ]
    },
    "supported": {
      "type": "boolean"
    },
    "resources": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "grantedScopes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "features": {
      "$ref": "#/components/schemas/CrmCapabilitiesFeaturesV1Dto"
    },
    "rateLimits": {
      "$ref": "#/components/schemas/CrmCapabilitiesRateLimitsV1Dto"
    },
    "limits": {
      "$ref": "#/components/schemas/CrmCapabilitiesLimitsV1Dto"
    }
  },
  "required": [
    "apiVersion",
    "versioning",
    "webhookPayloadVersions",
    "provider",
    "supported",
    "resources",
    "grantedScopes",
    "features",
    "rateLimits",
    "limits"
  ]
}
CrmCapabilitiesResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCapabilitiesDataV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmOperatorSummaryV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ]
}
CrmClientV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "type": {
      "type": "string"
    },
    "name": {
      "type": "string",
      "nullable": true
    },
    "lastName": {
      "type": "string",
      "nullable": true
    },
    "avatarUrl": {
      "type": "string",
      "nullable": true
    },
    "ownerId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "owner": {
      "$ref": "#/components/schemas/CrmOperatorSummaryV1Dto"
    },
    "emails": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phones": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "customFields": {
      "type": "object",
      "additionalProperties": true
    },
    "mergedIntoId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "anonymizedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "type",
    "name",
    "lastName",
    "avatarUrl",
    "ownerId",
    "mergedIntoId",
    "anonymizedAt",
    "createdAt",
    "updatedAt"
  ]
}
CrmClientResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmRedactedCursorMetaV1Dto
{
  "type": "object",
  "properties": {
    "hasMore": {
      "type": "boolean"
    },
    "nextCursor": {
      "type": "string",
      "nullable": true
    },
    "redacted": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "hasMore",
    "nextCursor",
    "redacted"
  ]
}
CrmClientListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmClientV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCreatedMetaV1Dto
{
  "type": "object",
  "properties": {
    "created": {
      "type": "boolean"
    }
  },
  "required": [
    "created"
  ]
}
CrmClientUpsertResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCreatedMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmMergedMetaV1Dto
{
  "type": "object",
  "properties": {
    "mergedFromId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "mergedFromId"
  ]
}
CrmClientMergedResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "meta": {
      "$ref": "#/components/schemas/CrmMergedMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmBatchErrorV1Dto
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "details": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ]
    }
  },
  "required": [
    "code",
    "message"
  ]
}
CrmClientBatchItemV1Dto
{
  "type": "object",
  "properties": {
    "index": {
      "type": "number"
    },
    "status": {
      "type": "number"
    },
    "data": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "error": {
      "$ref": "#/components/schemas/CrmBatchErrorV1Dto"
    }
  },
  "required": [
    "index",
    "status"
  ]
}
CrmClientBatchResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmClientBatchItemV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmRedactedMetaV1Dto
{
  "type": "object",
  "properties": {
    "redacted": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "redacted"
  ]
}
CrmClientBatchReadResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmClientBatchItemV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCompanyV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "legalName": {
      "type": "string",
      "nullable": true
    },
    "website": {
      "type": "string",
      "nullable": true
    },
    "domain": {
      "type": "string",
      "nullable": true
    },
    "phones": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "emails": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "string",
      "nullable": true
    },
    "inn": {
      "type": "string",
      "nullable": true
    },
    "kpp": {
      "type": "string",
      "nullable": true
    },
    "ogrn": {
      "type": "string",
      "nullable": true
    },
    "ownerId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "owner": {
      "$ref": "#/components/schemas/CrmOperatorSummaryV1Dto"
    },
    "customFields": {
      "type": "object",
      "additionalProperties": true
    },
    "mergedIntoId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "mergedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "name",
    "legalName",
    "website",
    "domain",
    "address",
    "inn",
    "kpp",
    "ogrn",
    "ownerId",
    "mergedIntoId",
    "mergedAt",
    "createdAt",
    "updatedAt"
  ]
}
CrmCompanyResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCompanyV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCreatedRedactedMetaV1Dto
{
  "type": "object",
  "properties": {
    "created": {
      "type": "boolean"
    },
    "redacted": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "created",
    "redacted"
  ]
}
CrmCompanyUpsertResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCompanyV1Dto"
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCreatedRedactedMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCompanyListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCompanyV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCompanyBatchItemV1Dto
{
  "type": "object",
  "properties": {
    "index": {
      "type": "number"
    },
    "status": {
      "type": "number"
    },
    "data": {
      "$ref": "#/components/schemas/CrmCompanyV1Dto"
    },
    "error": {
      "$ref": "#/components/schemas/CrmBatchErrorV1Dto"
    }
  },
  "required": [
    "index",
    "status"
  ]
}
CrmCompanyBatchResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCompanyBatchItemV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCompanyContactV1Dto
{
  "type": "object",
  "properties": {
    "contact": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "position": {
      "type": "string",
      "nullable": true
    },
    "isPrimary": {
      "type": "boolean"
    }
  },
  "required": [
    "contact",
    "position",
    "isPrimary"
  ]
}
CrmCompanyContactsV1Dto
{
  "type": "object",
  "properties": {
    "companyId": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "contacts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCompanyContactV1Dto"
      }
    }
  },
  "required": [
    "companyId",
    "version",
    "contacts"
  ]
}
CrmCompanyContactsResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCompanyContactsV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCompanyMergePreviewV1Dto
{
  "type": "object",
  "properties": {
    "sourceId": {
      "type": "string",
      "format": "uuid"
    },
    "targetId": {
      "type": "string",
      "format": "uuid"
    },
    "sourceVersion": {
      "type": "number"
    },
    "targetVersion": {
      "type": "number"
    }
  },
  "required": [
    "sourceId",
    "targetId",
    "sourceVersion",
    "targetVersion"
  ]
}
CrmCompanyMergePreviewResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCompanyMergePreviewV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCompanyMergeResultV1Dto
{
  "type": "object",
  "properties": {
    "sourceId": {
      "type": "string",
      "format": "uuid"
    },
    "targetId": {
      "type": "string",
      "format": "uuid"
    },
    "merged": {
      "type": "boolean"
    }
  },
  "required": [
    "sourceId",
    "targetId",
    "merged"
  ]
}
CrmCompanyMergeResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCompanyMergeResultV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCompanyDependencyCountsV1Dto
{
  "type": "object",
  "properties": {
    "contacts": {
      "type": "number"
    },
    "deals": {
      "type": "number"
    },
    "tasks": {
      "type": "number"
    },
    "tags": {
      "type": "number"
    },
    "references": {
      "type": "number"
    }
  },
  "required": [
    "contacts",
    "deals",
    "tasks",
    "tags",
    "references"
  ]
}
CrmCompanyDeletePreviewV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "dependencies": {
      "$ref": "#/components/schemas/CrmCompanyDependencyCountsV1Dto"
    }
  },
  "required": [
    "id",
    "version",
    "dependencies"
  ]
}
CrmCompanyDeletePreviewResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCompanyDeletePreviewV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmDealCompanyV1Dto
{
  "type": "object",
  "properties": {
    "companyId": {
      "type": "string",
      "format": "uuid"
    },
    "isPrimary": {
      "type": "boolean"
    }
  },
  "required": [
    "companyId",
    "isPrimary"
  ]
}
CrmDealContactV1Dto
{
  "type": "object",
  "properties": {
    "contactId": {
      "type": "string",
      "format": "uuid"
    },
    "isPrimary": {
      "type": "boolean"
    },
    "role": {
      "type": "string",
      "nullable": true
    }
  },
  "required": [
    "contactId",
    "isPrimary",
    "role"
  ]
}
CrmDealV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "companyIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealCompanyV1Dto"
      }
    },
    "primaryContactId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "contacts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealContactV1Dto"
      }
    },
    "ownerId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "owner": {
      "$ref": "#/components/schemas/CrmOperatorSummaryV1Dto"
    },
    "pipelineId": {
      "type": "string",
      "format": "uuid"
    },
    "stageId": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "type": "string"
    },
    "priority": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "amount": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "amountMode": {
      "type": "string"
    },
    "contactPhone": {
      "type": "string",
      "nullable": true
    },
    "contactEmail": {
      "type": "string",
      "nullable": true
    },
    "contactTelegram": {
      "type": "string",
      "nullable": true
    },
    "contactWhatsapp": {
      "type": "string",
      "nullable": true
    },
    "customFields": {
      "type": "object",
      "additionalProperties": true
    },
    "expectedCloseAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "closedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "lostReasonId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "title",
    "description",
    "companyIds",
    "companies",
    "primaryContactId",
    "contacts",
    "ownerId",
    "pipelineId",
    "stageId",
    "status",
    "priority",
    "source",
    "expectedCloseAt",
    "closedAt",
    "lostReasonId",
    "createdAt",
    "updatedAt"
  ]
}
CrmDealResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmDealV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmDealListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmDealBatchItemV1Dto
{
  "type": "object",
  "properties": {
    "index": {
      "type": "number"
    },
    "status": {
      "type": "number"
    },
    "data": {
      "$ref": "#/components/schemas/CrmDealV1Dto"
    },
    "error": {
      "$ref": "#/components/schemas/CrmBatchErrorV1Dto"
    }
  },
  "required": [
    "index",
    "status"
  ]
}
CrmDealBatchResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealBatchItemV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmTaskV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "status": {
      "type": "string"
    },
    "priority": {
      "type": "string"
    },
    "authorId": {
      "type": "string",
      "format": "uuid"
    },
    "assigneeId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "author": {
      "$ref": "#/components/schemas/CrmOperatorSummaryV1Dto"
    },
    "assignee": {
      "$ref": "#/components/schemas/CrmOperatorSummaryV1Dto"
    },
    "contactId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "companyId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "dealId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "startAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "dueAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "title",
    "description",
    "status",
    "priority",
    "authorId",
    "assigneeId",
    "contactId",
    "companyId",
    "dealId",
    "startAt",
    "dueAt",
    "completedAt",
    "createdAt",
    "updatedAt"
  ]
}
CrmTaskResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmTaskV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmTaskListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTaskV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmTaskBatchItemV1Dto
{
  "type": "object",
  "properties": {
    "index": {
      "type": "number"
    },
    "status": {
      "type": "number"
    },
    "data": {
      "$ref": "#/components/schemas/CrmTaskV1Dto"
    },
    "error": {
      "$ref": "#/components/schemas/CrmBatchErrorV1Dto"
    }
  },
  "required": [
    "index",
    "status"
  ]
}
CrmTaskBatchResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTaskBatchItemV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmDeleteResultV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "deleted": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "deleted"
  ]
}
CrmDeleteResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmDeleteResultV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmClientRemoveResultV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "deleted": {
      "type": "boolean"
    },
    "version": {
      "type": "number"
    }
  },
  "required": [
    "id",
    "deleted",
    "version"
  ]
}
CrmClientRemoveResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientRemoveResultV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmClientDeleteCommitResultV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "mode": {
      "type": "string"
    },
    "deleted": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "mode",
    "deleted"
  ]
}
CrmClientDeleteCommitResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientDeleteCommitResultV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmTagV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "type": {
      "type": "string"
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "active": {
      "type": "boolean"
    },
    "usageCount": {
      "type": "number"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "name",
    "color",
    "description",
    "type",
    "categories",
    "active",
    "usageCount",
    "createdAt",
    "updatedAt"
  ]
}
CrmTagArrayResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTagV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmTagResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmTagV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCursorMetaV1Dto
{
  "type": "object",
  "properties": {
    "hasMore": {
      "type": "boolean"
    },
    "nextCursor": {
      "type": "string",
      "nullable": true
    }
  },
  "required": [
    "hasMore",
    "nextCursor"
  ]
}
CrmTagListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTagV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmPipelineStageV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "pipelineId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "type": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "sortOrder": {
      "type": "number"
    },
    "active": {
      "type": "boolean"
    },
    "final": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "pipelineId",
    "name",
    "description",
    "type",
    "color",
    "sortOrder",
    "active",
    "final",
    "createdAt",
    "updatedAt"
  ]
}
CrmLostReasonV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "pipelineId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "text": {
      "type": "string"
    },
    "sortOrder": {
      "type": "number"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "pipelineId",
    "text",
    "sortOrder",
    "createdAt",
    "updatedAt"
  ]
}
CrmPipelineV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "color": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "default": {
      "type": "boolean"
    },
    "sortOrder": {
      "type": "number"
    },
    "stages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineStageV1Dto"
      }
    },
    "lostReasons": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmLostReasonV1Dto"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "name",
    "description",
    "color",
    "active",
    "default",
    "sortOrder",
    "stages",
    "lostReasons",
    "createdAt",
    "updatedAt"
  ]
}
CrmPipelineResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmPipelineV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmPipelineListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmPipelineArrayResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmPipelineStageArrayResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineStageV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmPipelineStageResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmPipelineStageV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmLostReasonResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmLostReasonV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmLostReasonListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmLostReasonV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmLostReasonArrayResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmLostReasonV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmOperatorV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "role": {
      "type": "string"
    },
    "operatorType": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "online": {
      "type": "boolean"
    },
    "avatarUrl": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "role",
    "operatorType",
    "status",
    "online",
    "avatarUrl",
    "createdAt",
    "updatedAt"
  ]
}
CrmOperatorListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmOperatorV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmOperatorResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmOperatorV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmDealEventV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "dealId": {
      "type": "string",
      "format": "uuid"
    },
    "type": {
      "type": "string"
    },
    "payload": {
      "type": "object",
      "additionalProperties": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "dealId",
    "type",
    "payload",
    "createdAt"
  ]
}
CrmDealEventListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealEventV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmDealActivityV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "dealId": {
      "type": "string",
      "format": "uuid"
    },
    "type": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "scheduledAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "version",
    "dealId",
    "type",
    "subject",
    "description",
    "scheduledAt",
    "completedAt",
    "createdAt",
    "updatedAt"
  ]
}
CrmDealActivityListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealActivityV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmDealActivityResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmDealActivityV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmDealItemV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "dealId": {
      "type": "string",
      "format": "uuid"
    },
    "productId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "productName": {
      "type": "string"
    },
    "sku": {
      "type": "string",
      "nullable": true
    },
    "quantity": {
      "type": "string"
    },
    "unitPrice": {
      "type": "string"
    },
    "discount": {
      "type": "number"
    },
    "total": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "version",
    "dealId",
    "productId",
    "productName",
    "sku",
    "quantity",
    "unitPrice",
    "discount",
    "total",
    "createdAt",
    "updatedAt"
  ]
}
CrmDealItemListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmDealItemV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmDealItemResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmDealItemV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmChecklistItemV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "checklistId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string"
    },
    "completed": {
      "type": "boolean"
    },
    "important": {
      "type": "boolean"
    },
    "assigneeId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "position": {
      "type": "number"
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "version",
    "taskId",
    "checklistId",
    "title",
    "completed",
    "important",
    "assigneeId",
    "position",
    "completedAt",
    "createdAt",
    "updatedAt"
  ]
}
CrmChecklistV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "taskId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string"
    },
    "position": {
      "type": "number"
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmChecklistItemV1Dto"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "version",
    "taskId",
    "title",
    "position",
    "items",
    "createdAt",
    "updatedAt"
  ]
}
CrmChecklistListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmChecklistV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmChecklistResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmChecklistV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmChecklistItemListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmChecklistItemV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmChecklistItemResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmChecklistItemV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmFileV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "size": {
      "type": "number",
      "nullable": true
    },
    "mimeType": {
      "type": "string"
    },
    "width": {
      "type": "number",
      "nullable": true
    },
    "height": {
      "type": "number",
      "nullable": true
    },
    "url": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "size",
    "mimeType",
    "url",
    "createdAt"
  ]
}
CrmFileListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmFileV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmFileFailureV1Dto
{
  "type": "object",
  "properties": {
    "originalName": {
      "type": "string",
      "nullable": true
    },
    "error": {
      "type": "string",
      "nullable": true
    }
  },
  "required": [
    "originalName",
    "error"
  ]
}
CrmFileUploadMetaV1Dto
{
  "type": "object",
  "properties": {
    "version": {
      "type": "number"
    },
    "failed": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmFileFailureV1Dto"
      }
    }
  },
  "required": [
    "version",
    "failed"
  ]
}
CrmFileUploadResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmFileV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmFileUploadMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmFileDetachResultV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "detached": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "detached"
  ]
}
CrmFileDetachResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmFileDetachResultV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCustomFieldOptionV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "label": {
      "type": "string"
    },
    "color": {
      "type": "string",
      "nullable": true
    },
    "position": {
      "type": "number"
    },
    "status": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "version",
    "label",
    "color",
    "position",
    "status",
    "createdAt",
    "updatedAt"
  ]
}
CrmCustomFieldDefinitionV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "version": {
      "type": "number"
    },
    "entityType": {
      "type": "string"
    },
    "key": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "type": {
      "type": "string"
    },
    "position": {
      "type": "number"
    },
    "defaultValue": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    },
    "settings": {
      "type": "object",
      "additionalProperties": true
    },
    "pipelineIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "status": {
      "type": "string"
    },
    "options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCustomFieldOptionV1Dto"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "externalId",
    "version",
    "entityType",
    "key",
    "name",
    "description",
    "type",
    "position",
    "settings",
    "pipelineIds",
    "status",
    "options",
    "createdAt",
    "updatedAt"
  ]
}
CrmCustomFieldDefinitionResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCustomFieldDefinitionV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmCustomFieldDefinitionListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCustomFieldDefinitionV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCustomFieldOptionMutationV1Dto
{
  "type": "object",
  "properties": {
    "definitionId": {
      "type": "string",
      "format": "uuid"
    },
    "definitionVersion": {
      "type": "number"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "label": {
      "type": "string"
    },
    "color": {
      "type": "string",
      "nullable": true
    },
    "position": {
      "type": "number"
    },
    "status": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "definitionId",
    "definitionVersion",
    "id",
    "version",
    "label",
    "color",
    "position",
    "status",
    "createdAt",
    "updatedAt"
  ]
}
CrmCustomFieldOptionResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCustomFieldOptionMutationV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmEntityReferenceV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    }
  },
  "required": [
    "id",
    "externalId"
  ]
}
CrmAssignmentFieldV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string",
      "nullable": true
    }
  },
  "required": [
    "id",
    "externalId"
  ]
}
CrmCustomFieldAssignmentReadV1Dto
{
  "type": "object",
  "properties": {
    "field": {
      "$ref": "#/components/schemas/CrmAssignmentFieldV1Dto"
    },
    "key": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "value": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    }
  },
  "required": [
    "field",
    "key",
    "type",
    "value"
  ]
}
CrmCustomFieldAssignmentsReadV1Dto
{
  "type": "object",
  "properties": {
    "entity": {
      "$ref": "#/components/schemas/CrmEntityReferenceV1Dto"
    },
    "entityType": {
      "type": "string"
    },
    "version": {
      "type": "number"
    },
    "assignments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCustomFieldAssignmentReadV1Dto"
      }
    }
  },
  "required": [
    "entity",
    "entityType",
    "version",
    "assignments"
  ]
}
CrmAssignmentsMetaV1Dto
{
  "type": "object",
  "properties": {
    "redacted": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "unmappedKeys": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "redacted",
    "unmappedKeys"
  ]
}
CrmCustomFieldAssignmentsResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCustomFieldAssignmentsReadV1Dto"
    },
    "meta": {
      "$ref": "#/components/schemas/CrmAssignmentsMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmCustomFieldAssignmentPatchedV1Dto
{
  "type": "object",
  "properties": {
    "field": {
      "$ref": "#/components/schemas/CrmAssignmentFieldV1Dto"
    },
    "key": {
      "type": "string"
    },
    "value": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    }
  },
  "required": [
    "field",
    "key",
    "value"
  ]
}
CrmCustomFieldAssignmentsPatchedV1Dto
{
  "type": "object",
  "properties": {
    "entity": {
      "$ref": "#/components/schemas/CrmEntityReferenceV1Dto"
    },
    "entityType": {
      "type": "string"
    },
    "version": {
      "type": "number"
    },
    "assignments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCustomFieldAssignmentPatchedV1Dto"
      }
    }
  },
  "required": [
    "entity",
    "entityType",
    "version",
    "assignments"
  ]
}
CrmCustomFieldAssignmentsPatchedResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmCustomFieldAssignmentsPatchedV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmChangeCursorV1Dto
{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string"
    }
  },
  "required": [
    "cursor"
  ]
}
CrmChangeCursorResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmChangeCursorV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmChangeEventV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "sequence": {
      "type": "string"
    },
    "resourceType": {
      "type": "string"
    },
    "resourceId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "externalId": {
      "type": "string"
    },
    "action": {
      "type": "string"
    },
    "version": {
      "type": "number",
      "nullable": true
    },
    "changedFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "occurredAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "sequence",
    "resourceType",
    "resourceId",
    "action",
    "version",
    "changedFields",
    "occurredAt"
  ]
}
CrmChangeEventListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmChangeEventV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmAuditActorV1Dto
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "applicationId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "userId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    }
  },
  "required": [
    "type"
  ]
}
CrmAuditEntryV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "action": {
      "type": "string"
    },
    "resourceType": {
      "type": "string"
    },
    "resourceId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "actor": {
      "$ref": "#/components/schemas/CrmAuditActorV1Dto"
    },
    "requestId": {
      "type": "string",
      "nullable": true
    },
    "changes": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    },
    "occurredAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "action",
    "resourceType",
    "resourceId",
    "actor",
    "requestId",
    "changes",
    "occurredAt"
  ]
}
CrmAuditListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmAuditEntryV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmBulkJobCreateV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "entityType": {
      "type": "string"
    },
    "action": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "id",
    "status",
    "entityType",
    "action",
    "total",
    "createdAt"
  ]
}
CrmBulkJobCreatedResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmBulkJobCreateV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmBulkJobV1Dto
{
  "type": "object",
  "properties": {
    "jobUuid": {
      "type": "string"
    },
    "operation": {
      "type": "string",
      "nullable": true
    },
    "status": {
      "type": "string"
    },
    "progress": {
      "type": "number"
    },
    "result": {
      "type": "object",
      "additionalProperties": true,
      "nullable": true
    },
    "error": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "jobUuid",
    "operation",
    "status",
    "progress",
    "result",
    "error",
    "createdAt",
    "startedAt",
    "completedAt"
  ]
}
CrmBulkJobListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmBulkJobV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmBulkJobFailureV1Dto
{
  "type": "object",
  "properties": {
    "targetUuid": {
      "type": "string",
      "format": "uuid"
    },
    "targetType": {
      "type": "string"
    },
    "operation": {
      "type": "string"
    },
    "attempts": {
      "type": "number"
    },
    "error": {
      "type": "string",
      "nullable": true
    }
  },
  "required": [
    "targetUuid",
    "targetType",
    "operation",
    "attempts",
    "error"
  ]
}
CrmBulkJobDetailsV1Dto
{
  "type": "object",
  "properties": {
    "jobUuid": {
      "type": "string"
    },
    "operation": {
      "type": "string",
      "nullable": true
    },
    "status": {
      "type": "string"
    },
    "progress": {
      "type": "number"
    },
    "result": {
      "type": "object",
      "additionalProperties": true,
      "nullable": true
    },
    "error": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "startedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "targets": {
      "type": "object",
      "additionalProperties": {
        "type": "number"
      }
    },
    "failures": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmBulkJobFailureV1Dto"
      }
    }
  },
  "required": [
    "jobUuid",
    "operation",
    "status",
    "progress",
    "result",
    "error",
    "createdAt",
    "startedAt",
    "completedAt",
    "targets",
    "failures"
  ]
}
CrmBulkJobResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmBulkJobDetailsV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmExportCreateV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "artifactId": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "format": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "id",
    "artifactId",
    "status",
    "type",
    "format",
    "createdAt"
  ]
}
CrmExportCreatedResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmExportCreateV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmExportListItemV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "progress": {
      "type": "number"
    },
    "error": {
      "type": "string",
      "nullable": true
    },
    "expiresAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "id",
    "status",
    "progress",
    "error",
    "expiresAt",
    "createdAt",
    "completedAt"
  ]
}
CrmExportListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmExportListItemV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmExportDetailsV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "progress": {
      "type": "number"
    },
    "downloadUrl": {
      "type": "string",
      "nullable": true
    },
    "downloadUrlExpiresInSeconds": {
      "type": "number",
      "nullable": true
    },
    "artifactId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "expiresAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "error": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "completedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "id",
    "status",
    "progress",
    "downloadUrl",
    "downloadUrlExpiresInSeconds",
    "artifactId",
    "expiresAt",
    "error",
    "createdAt",
    "completedAt"
  ]
}
CrmExportResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmExportDetailsV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmImportV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "entityType": {
      "type": "string"
    },
    "sourceType": {
      "type": "string"
    },
    "fileName": {
      "type": "string",
      "nullable": true
    },
    "fileType": {
      "type": "string",
      "nullable": true
    },
    "fileSize": {
      "type": "number",
      "nullable": true
    },
    "status": {
      "type": "string"
    },
    "preview": {
      "type": "object",
      "additionalProperties": true,
      "nullable": true
    },
    "mapping": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "nullable": true
    },
    "dedupPolicy": {
      "type": "string",
      "nullable": true
    },
    "jobId": {
      "type": "string",
      "nullable": true
    },
    "checkpoint": {
      "type": "object",
      "additionalProperties": true,
      "nullable": true
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    },
    "error": {
      "type": "string",
      "nullable": true
    },
    "errorReportUrl": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "entityType",
    "sourceType",
    "fileName",
    "fileType",
    "fileSize",
    "status",
    "preview",
    "mapping",
    "dedupPolicy",
    "jobId",
    "checkpoint",
    "result",
    "error",
    "errorReportUrl",
    "createdAt",
    "updatedAt"
  ]
}
CrmImportListResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmImportV1Dto"
      }
    }
  },
  "required": [
    "data"
  ]
}
CrmImportResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmImportV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmImportPreviewV1Dto
{
  "type": "object",
  "properties": {
    "importUuid": {
      "type": "string",
      "format": "uuid"
    },
    "entityType": {
      "type": "string"
    },
    "fileName": {
      "type": "string",
      "nullable": true
    },
    "fileType": {
      "type": "string",
      "nullable": true
    },
    "headers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sampleRows": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "delimiter": {
      "type": "string"
    },
    "worksheet": {
      "type": "string"
    },
    "estimatedRows": {
      "type": "number"
    },
    "allowedFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dedupPolicies": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "importUuid",
    "entityType",
    "fileName",
    "fileType",
    "headers",
    "sampleRows",
    "allowedFields",
    "dedupPolicies"
  ]
}
CrmImportPreviewResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmImportPreviewV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmImportStartV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "jobId": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "jobId"
  ]
}
CrmImportStartResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmImportStartV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmMergeConflictV1Dto
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string"
    },
    "primary": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    },
    "secondary": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {}
        },
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        }
      ],
      "nullable": true
    }
  },
  "required": [
    "field",
    "primary",
    "secondary"
  ]
}
CrmDependencyCountsV1Dto
{
  "type": "object",
  "properties": {
    "chats": {
      "type": "number"
    },
    "deals": {
      "type": "number"
    },
    "tasks": {
      "type": "number"
    },
    "companies": {
      "type": "number"
    },
    "tags": {
      "type": "number"
    },
    "game_scores": {
      "type": "number"
    },
    "automation_enrollments": {
      "type": "number"
    },
    "broadcast_recipients": {
      "type": "number"
    },
    "loyalty_transactions": {
      "type": "number"
    },
    "total": {
      "type": "number"
    }
  },
  "required": [
    "chats",
    "deals",
    "tasks",
    "companies",
    "tags",
    "game_scores",
    "automation_enrollments",
    "broadcast_recipients",
    "loyalty_transactions",
    "total"
  ]
}
CrmExternalIdConflictV1Dto
{
  "type": "object",
  "properties": {
    "primaryExternalId": {
      "type": "string"
    },
    "secondaryExternalId": {
      "type": "string"
    }
  },
  "required": [
    "primaryExternalId",
    "secondaryExternalId"
  ]
}
CrmClientMergePreviewV1Dto
{
  "type": "object",
  "properties": {
    "primary": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "secondary": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "conflicts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmMergeConflictV1Dto"
      }
    },
    "requiredResolutions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dependencies": {
      "$ref": "#/components/schemas/CrmDependencyCountsV1Dto"
    },
    "externalIdConflict": {
      "nullable": true,
      "type": "object",
      "allOf": [
        {
          "$ref": "#/components/schemas/CrmExternalIdConflictV1Dto"
        }
      ]
    }
  },
  "required": [
    "primary",
    "secondary",
    "conflicts",
    "requiredResolutions",
    "dependencies",
    "externalIdConflict"
  ]
}
CrmClientMergePreviewResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientMergePreviewV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmClientDeletePreviewV1Dto
{
  "type": "object",
  "properties": {
    "client": {
      "$ref": "#/components/schemas/CrmClientV1Dto"
    },
    "dependencies": {
      "$ref": "#/components/schemas/CrmDependencyCountsV1Dto"
    },
    "defaultMode": {
      "type": "string"
    },
    "modes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "client",
    "dependencies",
    "defaultMode",
    "modes"
  ]
}
CrmClientDeletePreviewResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmClientDeletePreviewV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmPipelineImpactV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "default": {
      "type": "boolean"
    },
    "stages": {
      "type": "number"
    },
    "lostReasons": {
      "type": "number"
    },
    "deals": {
      "type": "number"
    },
    "activeDeals": {
      "type": "number"
    },
    "deletable": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "version",
    "default",
    "stages",
    "lostReasons",
    "deals",
    "activeDeals",
    "deletable"
  ]
}
CrmPipelineImpactResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmPipelineImpactV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmStageImpactV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "pipelineId": {
      "type": "string",
      "format": "uuid"
    },
    "version": {
      "type": "number"
    },
    "deals": {
      "type": "number"
    },
    "activeDeals": {
      "type": "number"
    },
    "deletable": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "pipelineId",
    "version",
    "deals",
    "activeDeals",
    "deletable"
  ]
}
CrmStageImpactResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmStageImpactV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmSearchResultV1Dto
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "contact",
        "company",
        "deal",
        "task"
      ]
    },
    "score": {
      "type": "string"
    },
    "resource": {
      "additionalProperties": false,
      "oneOf": [
        {
          "$ref": "#/components/schemas/CrmClientV1Dto"
        },
        {
          "$ref": "#/components/schemas/CrmCompanyV1Dto"
        },
        {
          "$ref": "#/components/schemas/CrmDealV1Dto"
        },
        {
          "$ref": "#/components/schemas/CrmTaskV1Dto"
        }
      ]
    }
  },
  "required": [
    "type",
    "score",
    "resource"
  ]
}
CrmSearchResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmSearchResultV1Dto"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/CrmCursorMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmAnalyticsFiltersV1Dto
{
  "type": "object",
  "properties": {
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "pipelineUuid": {
      "type": "string",
      "format": "uuid"
    },
    "ownerUuid": {
      "type": "string",
      "format": "uuid"
    },
    "contactUuid": {
      "type": "string",
      "format": "uuid"
    },
    "tagUuid": {
      "type": "string",
      "format": "uuid"
    }
  }
}
CrmAnalyticsMetaV1Dto
{
  "type": "object",
  "properties": {
    "periodStart": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "periodEnd": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "empty": {
      "type": "boolean"
    },
    "periodDays": {
      "type": "number",
      "nullable": true
    }
  },
  "required": [
    "periodStart",
    "periodEnd",
    "empty",
    "periodDays"
  ]
}
CrmAnalyticsMetricV1Dto
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "value": {
      "type": "number"
    },
    "format": {
      "type": "string"
    },
    "helper": {
      "type": "string"
    },
    "tone": {
      "type": "string"
    }
  },
  "required": [
    "key",
    "title",
    "value",
    "format",
    "helper",
    "tone"
  ]
}
CrmAnalyticsInsightV1Dto
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "tone": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "description": {
      "type": "string"
    }
  },
  "required": [
    "key",
    "title",
    "tone",
    "value",
    "description"
  ]
}
CrmDealAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "lostDeals": {
      "type": "number"
    },
    "lostAmount": {
      "type": "number"
    },
    "activeDeals": {
      "type": "number"
    },
    "activeAmount": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    },
    "winRate": {
      "type": "number"
    },
    "conversionRate": {
      "type": "number"
    },
    "averageDealDuration": {
      "type": "number"
    }
  },
  "required": [
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "lostDeals",
    "lostAmount",
    "activeDeals",
    "activeAmount",
    "averageDealSize",
    "winRate",
    "conversionRate",
    "averageDealDuration"
  ]
}
CrmAnalyticsSnapshotV1Dto
{
  "type": "object",
  "properties": {
    "dealAnalytics": {
      "$ref": "#/components/schemas/CrmDealAnalyticsV1Dto"
    }
  },
  "required": [
    "dealAnalytics"
  ]
}
CrmTimeSeriesV1Dto
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string"
    },
    "deals": {
      "type": "number"
    },
    "amount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "lostDeals": {
      "type": "number"
    },
    "lostAmount": {
      "type": "number"
    }
  },
  "required": [
    "date",
    "deals",
    "amount",
    "wonDeals",
    "wonAmount",
    "lostDeals",
    "lostAmount"
  ]
}
CrmStageAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "stageId": {
      "type": "string",
      "format": "uuid"
    },
    "stageName": {
      "type": "string"
    },
    "stageType": {
      "type": "string"
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    },
    "conversionRate": {
      "type": "number"
    },
    "averageTimeInStage": {
      "type": "number"
    }
  },
  "required": [
    "stageId",
    "stageName",
    "stageType",
    "totalDeals",
    "totalAmount",
    "averageDealSize",
    "conversionRate",
    "averageTimeInStage"
  ]
}
CrmPipelineAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "pipelineId": {
      "type": "string",
      "format": "uuid"
    },
    "pipelineName": {
      "type": "string"
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "lostDeals": {
      "type": "number"
    },
    "lostAmount": {
      "type": "number"
    },
    "activeDeals": {
      "type": "number"
    },
    "activeAmount": {
      "type": "number"
    },
    "stages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmStageAnalyticsV1Dto"
      }
    }
  },
  "required": [
    "pipelineId",
    "pipelineName",
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "lostDeals",
    "lostAmount",
    "activeDeals",
    "activeAmount",
    "stages"
  ]
}
CrmStageHealthV1Dto
{
  "type": "object",
  "properties": {
    "pipelineId": {
      "type": "string",
      "format": "uuid"
    },
    "pipelineName": {
      "type": "string"
    },
    "stageId": {
      "type": "string",
      "format": "uuid"
    },
    "stageName": {
      "type": "string"
    },
    "stageType": {
      "type": "string"
    },
    "totalDeals": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    },
    "conversionRate": {
      "type": "number"
    },
    "averageTimeInStage": {
      "type": "number"
    }
  },
  "required": [
    "pipelineId",
    "pipelineName",
    "stageId",
    "stageName",
    "stageType",
    "totalDeals",
    "averageDealSize",
    "conversionRate",
    "averageTimeInStage"
  ]
}
CrmSourceAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "source": {
      "type": "string"
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "winRate": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    }
  },
  "required": [
    "source",
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "winRate",
    "averageDealSize"
  ]
}
CrmCampaignAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "utmSource": {
      "type": "string",
      "nullable": true
    },
    "utmMedium": {
      "type": "string",
      "nullable": true
    },
    "utmCampaign": {
      "type": "string",
      "nullable": true
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "winRate": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    }
  },
  "required": [
    "utmSource",
    "utmMedium",
    "utmCampaign",
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "winRate",
    "averageDealSize"
  ]
}
CrmPriorityAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "priority": {
      "type": "string"
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "winRate": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    }
  },
  "required": [
    "priority",
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "winRate",
    "averageDealSize"
  ]
}
CrmTagAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "tagId": {
      "type": "string",
      "format": "uuid"
    },
    "tagName": {
      "type": "string"
    },
    "tagType": {
      "type": "string"
    },
    "totalAssignments": {
      "type": "number"
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "winRate": {
      "type": "number"
    }
  },
  "required": [
    "tagId",
    "tagName",
    "tagType",
    "totalAssignments",
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "winRate"
  ]
}
CrmLostReasonAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "reasonId": {
      "type": "string",
      "format": "uuid"
    },
    "reasonText": {
      "type": "string"
    },
    "totalOccurrences": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "percentageOfTotal": {
      "type": "number"
    }
  },
  "required": [
    "reasonId",
    "reasonText",
    "totalOccurrences",
    "totalAmount",
    "percentageOfTotal"
  ]
}
CrmManagerAnalyticsV1Dto
{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "format": "uuid"
    },
    "userName": {
      "type": "string"
    },
    "totalDeals": {
      "type": "number"
    },
    "totalAmount": {
      "type": "number"
    },
    "wonDeals": {
      "type": "number"
    },
    "wonAmount": {
      "type": "number"
    },
    "lostDeals": {
      "type": "number"
    },
    "lostAmount": {
      "type": "number"
    },
    "winRate": {
      "type": "number"
    },
    "averageDealSize": {
      "type": "number"
    },
    "averageDealDuration": {
      "type": "number"
    }
  },
  "required": [
    "userId",
    "userName",
    "totalDeals",
    "totalAmount",
    "wonDeals",
    "wonAmount",
    "lostDeals",
    "lostAmount",
    "winRate",
    "averageDealSize",
    "averageDealDuration"
  ]
}
CrmAnalyticsChartsV1Dto
{
  "type": "object",
  "properties": {
    "trend": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTimeSeriesV1Dto"
      }
    },
    "pipelines": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineAnalyticsV1Dto"
      }
    },
    "stageHealth": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmStageHealthV1Dto"
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmSourceAnalyticsV1Dto"
      }
    },
    "campaigns": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCampaignAnalyticsV1Dto"
      }
    },
    "priorities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPriorityAnalyticsV1Dto"
      }
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTagAnalyticsV1Dto"
      }
    },
    "lostReasons": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmLostReasonAnalyticsV1Dto"
      }
    },
    "managers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmManagerAnalyticsV1Dto"
      }
    }
  },
  "required": [
    "trend",
    "pipelines",
    "stageHealth",
    "sources",
    "campaigns",
    "priorities",
    "tags",
    "lostReasons",
    "managers"
  ]
}
CrmAnalyticsLeaderboardsV1Dto
{
  "type": "object",
  "properties": {
    "pipelines": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineAnalyticsV1Dto"
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmSourceAnalyticsV1Dto"
      }
    },
    "campaigns": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCampaignAnalyticsV1Dto"
      }
    },
    "managers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmManagerAnalyticsV1Dto"
      }
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTagAnalyticsV1Dto"
      }
    }
  },
  "required": [
    "pipelines",
    "sources",
    "campaigns",
    "managers",
    "tags"
  ]
}
CrmAnalyticsTablesV1Dto
{
  "type": "object",
  "properties": {
    "pipelines": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPipelineAnalyticsV1Dto"
      }
    },
    "stageHealth": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmStageHealthV1Dto"
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmSourceAnalyticsV1Dto"
      }
    },
    "campaigns": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmCampaignAnalyticsV1Dto"
      }
    },
    "priorities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmPriorityAnalyticsV1Dto"
      }
    },
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmTagAnalyticsV1Dto"
      }
    },
    "lostReasons": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmLostReasonAnalyticsV1Dto"
      }
    },
    "managers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmManagerAnalyticsV1Dto"
      }
    }
  },
  "required": [
    "pipelines",
    "stageHealth",
    "sources",
    "campaigns",
    "priorities",
    "tags",
    "lostReasons",
    "managers"
  ]
}
CrmAnalyticsSummaryV1Dto
{
  "type": "object",
  "properties": {
    "amountsMasked": {
      "type": "boolean"
    },
    "filters": {
      "$ref": "#/components/schemas/CrmAnalyticsFiltersV1Dto"
    },
    "meta": {
      "$ref": "#/components/schemas/CrmAnalyticsMetaV1Dto"
    },
    "heroMetrics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmAnalyticsMetricV1Dto"
      }
    },
    "insights": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmAnalyticsInsightV1Dto"
      }
    },
    "snapshot": {
      "$ref": "#/components/schemas/CrmAnalyticsSnapshotV1Dto"
    },
    "charts": {
      "$ref": "#/components/schemas/CrmAnalyticsChartsV1Dto"
    },
    "leaderboards": {
      "$ref": "#/components/schemas/CrmAnalyticsLeaderboardsV1Dto"
    },
    "tables": {
      "$ref": "#/components/schemas/CrmAnalyticsTablesV1Dto"
    }
  },
  "required": [
    "filters",
    "meta",
    "heroMetrics",
    "insights",
    "snapshot",
    "charts",
    "leaderboards",
    "tables"
  ]
}
CrmAnalyticsResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmAnalyticsSummaryV1Dto"
    },
    "meta": {
      "$ref": "#/components/schemas/CrmRedactedMetaV1Dto"
    }
  },
  "required": [
    "data",
    "meta"
  ]
}
CrmSettingsV1Dto
{
  "type": "object",
  "properties": {
    "version": {
      "type": "number"
    },
    "autoCreateDealsFromChats": {
      "type": "boolean"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "version",
    "autoCreateDealsFromChats",
    "createdAt",
    "updatedAt"
  ]
}
CrmSettingsResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmSettingsV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CrmNotificationSettingsV1Dto
{
  "type": "object",
  "properties": {
    "version": {
      "type": "number"
    },
    "timezone": {
      "type": "string"
    },
    "quietHoursStart": {
      "type": "string",
      "nullable": true
    },
    "quietHoursEnd": {
      "type": "string",
      "nullable": true
    },
    "digestPolicy": {
      "type": "string"
    },
    "digestTime": {
      "type": "string"
    },
    "taskReminderOffsetsMinutes": {
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "taskOverdueEnabled": {
      "type": "boolean"
    },
    "categoryOverrides": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "required": [
    "version",
    "timezone",
    "quietHoursStart",
    "quietHoursEnd",
    "digestPolicy",
    "digestTime",
    "taskReminderOffsetsMinutes",
    "taskOverdueEnabled",
    "categoryOverrides"
  ]
}
CrmNotificationSettingsResponseV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CrmNotificationSettingsV1Dto"
    }
  },
  "required": [
    "data"
  ]
}
CreateCrmApiBulkJobDtoV1
{
  "type": "object",
  "properties": {
    "entityType": {
      "type": "string",
      "enum": [
        "contact",
        "company",
        "deal",
        "task"
      ]
    },
    "action": {
      "type": "string",
      "enum": [
        "update",
        "move",
        "delete"
      ]
    },
    "targetIds": {
      "minItems": 1,
      "maxItems": 10000,
      "description": "UUID объектов операции",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "changes": {
      "type": "object",
      "description": "Изменяемые поля. Набор ограничен: см. ошибку validation_error со списком допустимых."
    }
  },
  "required": [
    "entityType",
    "action",
    "targetIds"
  ]
}
CreateCrmApiExportDtoV1
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "contacts",
        "companies",
        "company_contacts",
        "deal_contacts",
        "deal_companies",
        "deals"
      ]
    },
    "format": {
      "type": "string",
      "enum": [
        "excel",
        "csv"
      ]
    },
    "filters": {
      "type": "object",
      "description": "Фильтры выборки в том же виде, что и в кабинете"
    }
  },
  "required": [
    "type",
    "format"
  ]
}
StartCrmApiImportDtoV1
{
  "type": "object",
  "properties": {
    "mapping": {
      "type": "object",
      "description": "Соответствие полей CRM колонкам файла: { \"поле\": \"Колонка файла\" }. Допустимые поля возвращает POST /imports/:id/preview."
    },
    "dedupPolicy": {
      "type": "string",
      "enum": [
        "skip",
        "update"
      ],
      "description": "Что делать с уже существующей сущностью или связью"
    }
  },
  "required": [
    "mapping",
    "dedupPolicy"
  ]
}
CrmApiBatchGetItemDtoV1
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    }
  }
}
CrmApiClientBatchGetDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiBatchGetItemDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
UpsertCrmApiClientDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "object",
      "maxLength": 100
    },
    "lastName": {
      "type": "object",
      "maxLength": 100
    },
    "emails": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phones": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "ownerId": {
      "type": "object"
    },
    "avatarUrl": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    },
    "externalId": {
      "type": "string"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "externalId"
  ]
}
CrmApiClientBatchUpsertDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UpsertCrmApiClientDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
CrmEntityReferenceDtoV1
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    }
  }
}
CrmApiClientMergePreviewDtoV1
{
  "type": "object",
  "properties": {
    "primary": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "secondary": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    }
  },
  "required": [
    "primary",
    "secondary"
  ]
}
CrmApiClientMergeCommitDtoV1
{
  "type": "object",
  "properties": {
    "primary": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "secondary": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "expectedPrimaryVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Версия основного клиента"
    },
    "expectedSecondaryVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Версия присоединяемого клиента"
    },
    "fieldResolutions": {
      "type": "object",
      "description": "Для каждого конфликтного поля: primary или secondary. Обязательно для всех полей из preview."
    },
    "externalIdConflictResolution": {
      "type": "string",
      "description": "Что делать с externalId присоединяемого клиента при конфликте с основным",
      "enum": [
        "keep_primary",
        "fail"
      ]
    }
  },
  "required": [
    "primary",
    "secondary",
    "expectedPrimaryVersion",
    "expectedSecondaryVersion"
  ]
}
CrmApiClientDeleteCommitDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "mode": {
      "type": "string",
      "enum": [
        "anonymize",
        "full"
      ],
      "description": "anonymize стирает персональные данные, full удаляет клиента целиком"
    }
  },
  "required": [
    "expectedVersion",
    "mode"
  ]
}
CreateCrmApiClientDtoV1
{
  "type": "object",
  "properties": {
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "name": {
      "type": "object",
      "maxLength": 100
    },
    "lastName": {
      "type": "object",
      "maxLength": 100
    },
    "emails": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phones": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "ownerId": {
      "type": "object"
    },
    "avatarUrl": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    }
  }
}
UpdateCrmApiClientDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "object",
      "maxLength": 100
    },
    "lastName": {
      "type": "object",
      "maxLength": 100
    },
    "emails": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phones": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "ownerId": {
      "type": "object"
    },
    "avatarUrl": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CreateCrmApiCompanyDtoV1
{
  "type": "object",
  "properties": {
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "legalName": {
      "type": "object"
    },
    "website": {
      "type": "object"
    },
    "phones": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "emails": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "object"
    },
    "inn": {
      "type": "object"
    },
    "kpp": {
      "type": "object"
    },
    "ogrn": {
      "type": "object"
    },
    "ownerId": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    }
  },
  "required": [
    "name"
  ]
}
UpsertCrmApiCompanyDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "legalName": {
      "type": "object"
    },
    "website": {
      "type": "object"
    },
    "phones": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "emails": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "object"
    },
    "inn": {
      "type": "object"
    },
    "kpp": {
      "type": "object"
    },
    "ogrn": {
      "type": "object"
    },
    "ownerId": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    },
    "externalId": {
      "type": "string"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "name",
    "externalId"
  ]
}
CrmApiCompanyBatchUpsertDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UpsertCrmApiCompanyDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
CrmApiCompanyBatchGetItemDtoV1
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    }
  }
}
CrmApiCompanyBatchGetDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiCompanyBatchGetItemDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
CrmApiCompanyMergePreviewDtoV1
{
  "type": "object",
  "properties": {}
}
CrmApiCompanyMergeCommitDtoV1
{
  "type": "object",
  "properties": {}
}
CrmApiCompanyDeleteCommitDtoV1
{
  "type": "object",
  "properties": {}
}
CrmApiCompanyContactDtoV1
{
  "type": "object",
  "properties": {
    "contact": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "position": {
      "type": "object"
    },
    "isPrimary": {
      "type": "boolean"
    }
  },
  "required": [
    "contact"
  ]
}
ReplaceCrmApiCompanyContactsDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "contacts": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiCompanyContactDtoV1"
      }
    }
  },
  "required": [
    "expectedVersion",
    "contacts"
  ]
}
UpdateCrmApiCompanyDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "legalName": {
      "type": "object"
    },
    "website": {
      "type": "object"
    },
    "phones": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "emails": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "object"
    },
    "inn": {
      "type": "object"
    },
    "kpp": {
      "type": "object"
    },
    "ogrn": {
      "type": "object"
    },
    "ownerId": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
ReplaceCrmApiResourceTagsDtoV1
{
  "type": "object",
  "properties": {
    "tags": {
      "maxItems": 50,
      "description": "Теги по UUID либо по externalId текущего приложения",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
      }
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Текущая версия ресурса"
    }
  },
  "required": [
    "tags",
    "expectedVersion"
  ]
}
CreateCrmApiCustomFieldOptionDtoV1
{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "maxLength": 100
    },
    "color": {
      "type": "object",
      "example": "#3498DB",
      "nullable": true
    },
    "position": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "required": [
    "label"
  ]
}
CreateCrmApiCustomFieldDefinitionDtoV1
{
  "type": "object",
  "properties": {
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "entityType": {
      "type": "string",
      "enum": [
        "client",
        "deal",
        "company"
      ]
    },
    "key": {
      "type": "string",
      "maxLength": 64,
      "pattern": "^[a-z][a-z0-9_]{0,63}$"
    },
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "object",
      "maxLength": 1000,
      "nullable": true
    },
    "type": {
      "type": "string",
      "enum": [
        "text",
        "textarea",
        "number",
        "money",
        "boolean",
        "date",
        "datetime",
        "select",
        "multiselect",
        "phone",
        "email",
        "url"
      ]
    },
    "position": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "defaultValue": {
      "type": "object",
      "nullable": true
    },
    "settings": {
      "type": "object"
    },
    "options": {
      "maxItems": 200,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCrmApiCustomFieldOptionDtoV1"
      }
    },
    "pipelineIds": {
      "maxItems": 100,
      "description": "Воронки, в которых показывается поле сделки. Пустой список — во всех.",
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "required": [
    "entityType",
    "key",
    "name",
    "type"
  ]
}
UpdateCrmApiCustomFieldDefinitionDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "object",
      "maxLength": 1000,
      "nullable": true
    },
    "type": {
      "type": "string",
      "enum": [
        "text",
        "textarea",
        "number",
        "money",
        "boolean",
        "date",
        "datetime",
        "select",
        "multiselect",
        "phone",
        "email",
        "url"
      ]
    },
    "position": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "defaultValue": {
      "type": "object",
      "nullable": true
    },
    "settings": {
      "type": "object"
    },
    "pipelineIds": {
      "maxItems": 100,
      "description": "Воронки, в которых показывается поле сделки. Пустой список — во всех.",
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CrmApiCustomFieldVersionDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CreateCrmApiCustomFieldOptionRequestDtoV1
{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "maxLength": 100
    },
    "color": {
      "type": "object",
      "example": "#3498DB",
      "nullable": true
    },
    "position": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Ожидаемая версия определения поля."
    }
  },
  "required": [
    "label",
    "expectedVersion"
  ]
}
UpdateCrmApiCustomFieldOptionDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Ожидаемая версия варианта."
    },
    "expectedDefinitionVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Ожидаемая версия определения поля."
    },
    "label": {
      "type": "string",
      "maxLength": 100
    },
    "color": {
      "type": "object",
      "example": "#3498DB",
      "nullable": true
    },
    "position": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "required": [
    "expectedVersion",
    "expectedDefinitionVersion"
  ]
}
CrmApiCustomFieldOptionVersionDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Ожидаемая версия варианта."
    },
    "expectedDefinitionVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Ожидаемая версия определения поля."
    }
  },
  "required": [
    "expectedVersion",
    "expectedDefinitionVersion"
  ]
}
CrmApiCustomFieldAssignmentDtoV1
{
  "type": "object",
  "properties": {
    "field": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "value": {
      "type": "object",
      "nullable": true
    }
  },
  "required": [
    "field",
    "value"
  ]
}
PatchCrmApiCustomFieldAssignmentsDtoV1
{
  "type": "object",
  "properties": {
    "entity": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 0,
      "description": "Версия набора значений полей."
    },
    "assignments": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiCustomFieldAssignmentDtoV1"
      }
    }
  },
  "required": [
    "entity",
    "expectedVersion",
    "assignments"
  ]
}
CrmBatchGetDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
CrmApiDealContactDtoV1
{
  "type": "object",
  "properties": {
    "contact": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "isPrimary": {
      "type": "boolean"
    },
    "role": {
      "type": "object",
      "maxLength": 100
    }
  },
  "required": [
    "contact"
  ]
}
UpsertCrmApiDealDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "object"
    },
    "amount": {
      "type": "string",
      "example": "1250.00"
    },
    "currency": {
      "type": "string",
      "example": "RUB"
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "urgent"
      ]
    },
    "source": {
      "type": "string",
      "enum": [
        "website",
        "telegram",
        "VK",
        "whatsapp",
        "avito",
        "phone",
        "email",
        "social_media",
        "referral",
        "advertising",
        "cold_call",
        "exhibition",
        "popup",
        "other"
      ]
    },
    "pipelineId": {
      "type": "string"
    },
    "stageId": {
      "type": "string"
    },
    "companies": {
      "maxItems": 100,
      "nullable": true,
      "description": "Упорядоченный список компаний сделки; первая компания является основной",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
      }
    },
    "contacts": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiDealContactDtoV1"
      }
    },
    "ownerId": {
      "type": "object"
    },
    "expectedCloseAt": {
      "type": "object"
    },
    "contactPhone": {
      "type": "object"
    },
    "contactEmail": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    },
    "externalId": {
      "type": "string"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "title",
    "pipelineId",
    "externalId"
  ]
}
CrmApiDealBatchUpsertDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UpsertCrmApiDealDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
CreateCrmApiDealDtoV1
{
  "type": "object",
  "properties": {
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "object"
    },
    "amount": {
      "type": "string",
      "example": "1250.00"
    },
    "currency": {
      "type": "string",
      "example": "RUB"
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "urgent"
      ]
    },
    "source": {
      "type": "string",
      "enum": [
        "website",
        "telegram",
        "VK",
        "whatsapp",
        "avito",
        "phone",
        "email",
        "social_media",
        "referral",
        "advertising",
        "cold_call",
        "exhibition",
        "popup",
        "other"
      ]
    },
    "pipelineId": {
      "type": "string"
    },
    "stageId": {
      "type": "string"
    },
    "companies": {
      "maxItems": 100,
      "nullable": true,
      "description": "Упорядоченный список компаний сделки; первая компания является основной",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
      }
    },
    "contacts": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiDealContactDtoV1"
      }
    },
    "ownerId": {
      "type": "object"
    },
    "expectedCloseAt": {
      "type": "object"
    },
    "contactPhone": {
      "type": "object"
    },
    "contactEmail": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    }
  },
  "required": [
    "title",
    "pipelineId"
  ]
}
UpdateCrmApiDealDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "object"
    },
    "amount": {
      "type": "string",
      "example": "1250.00"
    },
    "currency": {
      "type": "string",
      "example": "RUB"
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "urgent"
      ]
    },
    "source": {
      "type": "string",
      "enum": [
        "website",
        "telegram",
        "VK",
        "whatsapp",
        "avito",
        "phone",
        "email",
        "social_media",
        "referral",
        "advertising",
        "cold_call",
        "exhibition",
        "popup",
        "other"
      ]
    },
    "companies": {
      "maxItems": 100,
      "nullable": true,
      "description": "Упорядоченный список компаний сделки; первая компания является основной",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
      }
    },
    "contacts": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiDealContactDtoV1"
      }
    },
    "ownerId": {
      "type": "object"
    },
    "expectedCloseAt": {
      "type": "object"
    },
    "contactPhone": {
      "type": "object"
    },
    "contactEmail": {
      "type": "object"
    },
    "customFields": {
      "type": "object"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
MoveCrmApiDealDtoV1
{
  "type": "object",
  "properties": {
    "stageId": {
      "type": "string"
    },
    "lostReasonId": {
      "type": "object"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "stageId",
    "expectedVersion"
  ]
}
CreateCrmApiDealActivityDtoV1
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "note",
        "call",
        "meeting",
        "email",
        "other"
      ]
    },
    "subject": {
      "type": "string",
      "maxLength": 255
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "scheduledAt": {
      "type": "object"
    },
    "completedAt": {
      "type": "object"
    }
  },
  "required": [
    "type",
    "subject"
  ]
}
UpdateCrmApiDealActivityDtoV1
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "note",
        "call",
        "meeting",
        "email",
        "other"
      ]
    },
    "subject": {
      "type": "string",
      "maxLength": 255
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "scheduledAt": {
      "type": "object"
    },
    "completedAt": {
      "type": "object"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CreateCrmApiDealItemDtoV1
{
  "type": "object",
  "properties": {
    "productName": {
      "type": "string",
      "maxLength": 255
    },
    "productId": {
      "type": "object"
    },
    "sku": {
      "type": "object",
      "maxLength": 100
    },
    "quantity": {
      "type": "string",
      "example": "2.000",
      "description": "Количество, decimal-строка"
    },
    "unitPrice": {
      "type": "string",
      "example": "1250.00",
      "description": "Цена за единицу"
    },
    "discount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100,
      "description": "Скидка, %"
    }
  },
  "required": [
    "productName",
    "quantity",
    "unitPrice"
  ]
}
UpdateCrmApiDealItemDtoV1
{
  "type": "object",
  "properties": {
    "productName": {
      "type": "string",
      "maxLength": 255
    },
    "productId": {
      "type": "object"
    },
    "sku": {
      "type": "object",
      "maxLength": 100
    },
    "quantity": {
      "type": "string",
      "example": "2.000",
      "description": "Количество, decimal-строка"
    },
    "unitPrice": {
      "type": "string",
      "example": "1250.00",
      "description": "Цена за единицу"
    },
    "discount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100,
      "description": "Скидка, %"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CreateCrmApiStageDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "type": {
      "type": "string",
      "enum": [
        "lead",
        "opportunity",
        "proposal",
        "negotiation",
        "closed_won",
        "closed_lost",
        "custom"
      ]
    },
    "color": {
      "type": "string"
    },
    "sortOrder": {
      "type": "integer",
      "minimum": 0
    },
    "active": {
      "type": "boolean"
    },
    "final": {
      "type": "boolean"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "name"
  ]
}
CreateCrmApiLostReasonDtoV1
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 255
    },
    "sortOrder": {
      "type": "integer",
      "minimum": 0
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "text"
  ]
}
CreateCrmApiPipelineDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "color": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "default": {
      "type": "boolean"
    },
    "sortOrder": {
      "type": "integer",
      "minimum": 0
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "stages": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCrmApiStageDtoV1"
      }
    },
    "lostReasons": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCrmApiLostReasonDtoV1"
      }
    }
  },
  "required": [
    "name"
  ]
}
UpdateCrmApiPipelineDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "color": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "default": {
      "type": "boolean"
    },
    "sortOrder": {
      "type": "integer",
      "minimum": 0
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "stages": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCrmApiStageDtoV1"
      }
    },
    "lostReasons": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateCrmApiLostReasonDtoV1"
      }
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CrmApiPipelineReorderItemDtoV1
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "id",
    "expectedVersion"
  ]
}
CrmApiPipelineReorderDtoV1
{
  "type": "object",
  "properties": {
    "order": {
      "maxItems": 200,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CrmApiPipelineReorderItemDtoV1"
      }
    }
  },
  "required": [
    "order"
  ]
}
CrmApiReorderDtoV1
{
  "type": "object",
  "properties": {
    "order": {
      "maxItems": 200,
      "description": "Все идентификаторы в требуемом порядке",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Версия родительской воронки"
    }
  },
  "required": [
    "order",
    "expectedVersion"
  ]
}
UpdateCrmApiStageDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "type": {
      "type": "string",
      "enum": [
        "lead",
        "opportunity",
        "proposal",
        "negotiation",
        "closed_won",
        "closed_lost",
        "custom"
      ]
    },
    "color": {
      "type": "string"
    },
    "sortOrder": {
      "type": "integer",
      "minimum": 0
    },
    "active": {
      "type": "boolean"
    },
    "final": {
      "type": "boolean"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
UpdateCrmApiLostReasonDtoV1
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 255
    },
    "sortOrder": {
      "type": "integer",
      "minimum": 0
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
UpdateCrmApiNotificationSettingsDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "timezone": {
      "type": "string",
      "maxLength": 64,
      "example": "Europe/Moscow"
    },
    "quietHoursStart": {
      "type": "object",
      "example": "22:00"
    },
    "quietHoursEnd": {
      "type": "object",
      "example": "08:00"
    },
    "digestPolicy": {
      "type": "string",
      "enum": [
        "instant",
        "daily",
        "off"
      ]
    },
    "digestTime": {
      "type": "string",
      "example": "09:00"
    },
    "taskReminderOffsetsMinutes": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "taskOverdueEnabled": {
      "type": "boolean"
    },
    "categoryOverrides": {
      "type": "object"
    }
  },
  "required": [
    "expectedVersion"
  ]
}
UpdateCrmApiSettingsDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 0,
      "description": "Текущая версия настроек. Для ещё не созданных настроек передайте 0."
    },
    "autoCreateDealsFromChats": {
      "type": "boolean"
    }
  },
  "required": [
    "expectedVersion",
    "autoCreateDealsFromChats"
  ]
}
CreateCrmApiTagDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "color": {
      "type": "string"
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "type": {
      "type": "string",
      "enum": [
        "client",
        "company",
        "deal",
        "universal"
      ]
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "crm",
          "image",
          "bot"
        ]
      }
    },
    "active": {
      "type": "boolean"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "name"
  ]
}
UpdateCrmApiTagDtoV1
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "color": {
      "type": "string"
    },
    "description": {
      "type": "object",
      "maxLength": 10000
    },
    "type": {
      "type": "string",
      "enum": [
        "client",
        "company",
        "deal",
        "universal"
      ]
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "crm",
          "image",
          "bot"
        ]
      }
    },
    "active": {
      "type": "boolean"
    },
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
UpsertCrmApiTaskDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 50
    },
    "description": {
      "type": "object"
    },
    "authorId": {
      "type": "string",
      "format": "uuid",
      "description": "Бизнес-автор задачи; actor в audit остаётся API application"
    },
    "assigneeId": {
      "type": "object"
    },
    "status": {
      "type": "string",
      "enum": [
        "new",
        "in_progress",
        "waiting",
        "done",
        "cancelled"
      ]
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "normal",
        "high",
        "urgent"
      ]
    },
    "startAt": {
      "type": "object"
    },
    "dueAt": {
      "type": "object"
    },
    "contact": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "company": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "deal": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "externalId": {
      "type": "string"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "title",
    "authorId",
    "externalId"
  ]
}
CrmApiTaskBatchUpsertDtoV1
{
  "type": "object",
  "properties": {
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UpsertCrmApiTaskDtoV1"
      }
    }
  },
  "required": [
    "items"
  ]
}
CreateCrmApiTaskDtoV1
{
  "type": "object",
  "properties": {
    "externalId": {
      "type": "string",
      "maxLength": 200
    },
    "title": {
      "type": "string",
      "maxLength": 50
    },
    "description": {
      "type": "object"
    },
    "authorId": {
      "type": "string",
      "format": "uuid",
      "description": "Бизнес-автор задачи; actor в audit остаётся API application"
    },
    "assigneeId": {
      "type": "object"
    },
    "status": {
      "type": "string",
      "enum": [
        "new",
        "in_progress",
        "waiting",
        "done",
        "cancelled"
      ]
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "normal",
        "high",
        "urgent"
      ]
    },
    "startAt": {
      "type": "object"
    },
    "dueAt": {
      "type": "object"
    },
    "contact": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "company": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "deal": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    }
  },
  "required": [
    "title",
    "authorId"
  ]
}
UpdateCrmApiTaskDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 50
    },
    "description": {
      "type": "object"
    },
    "assigneeId": {
      "type": "object"
    },
    "status": {
      "type": "string",
      "enum": [
        "new",
        "in_progress",
        "waiting",
        "done",
        "cancelled"
      ]
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "normal",
        "high",
        "urgent"
      ]
    },
    "startAt": {
      "type": "object"
    },
    "dueAt": {
      "type": "object"
    },
    "contact": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "company": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "deal": {
      "$ref": "#/components/schemas/CrmEntityReferenceDtoV1"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CreateCrmApiChecklistDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "position": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "title"
  ]
}
UpdateCrmApiChecklistDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "position": {
      "type": "integer",
      "minimum": 0
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
CreateCrmApiChecklistItemDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 500
    },
    "completed": {
      "type": "boolean"
    },
    "important": {
      "type": "boolean"
    },
    "assigneeId": {
      "type": "object"
    },
    "position": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "title"
  ]
}
CrmApiChecklistReorderDtoV1
{
  "type": "object",
  "properties": {
    "order": {
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Версия чек-листа"
    }
  },
  "required": [
    "order",
    "expectedVersion"
  ]
}
UpdateCrmApiChecklistItemDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 500
    },
    "completed": {
      "type": "boolean"
    },
    "important": {
      "type": "boolean"
    },
    "assigneeId": {
      "type": "object"
    },
    "position": {
      "type": "integer",
      "minimum": 0
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
AiResponseSettingsDtoV1
{
  "type": "object",
  "properties": {
    "reasoningMode": {
      "type": "string",
      "enum": [
        "auto",
        "off"
      ],
      "description": "При подтверждённой поддержке встроенной моделью APX или BYOK DeepSeek V4 режим off отключает рассуждения. auto сохраняет прежнее поведение. Для остальных моделей переключение применяется только при подтверждённой поддержке."
    },
    "temperature": {
      "type": "number",
      "minimum": 0,
      "maximum": 1,
      "description": "Применяется только при подтверждённой поддержке выбранной моделью. Встроенные модели APX и BYOK DeepSeek V4 используют сохранённую температуру при reasoningMode off; auto сохраняет прежнее значение 0.3. Другие провайдеры используют собственные правила адаптера."
    },
    "tone": {
      "type": "string",
      "enum": [
        "prompt",
        "neutral",
        "business",
        "friendly"
      ]
    },
    "verbosity": {
      "type": "string",
      "enum": [
        "prompt",
        "brief",
        "normal",
        "detailed"
      ]
    }
  }
}
AgentCapabilitiesPublicV1Dto
{
  "type": "object",
  "properties": {
    "version": {
      "type": "number",
      "enum": [
        1
      ]
    },
    "profile": {
      "type": "boolean"
    },
    "handoff": {
      "type": "boolean"
    },
    "memory": {
      "type": "boolean"
    },
    "memoryRetentionDays": {
      "type": "number"
    },
    "close": {
      "type": "boolean"
    },
    "createDeal": {
      "type": "boolean"
    },
    "tagIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "clientCustomFieldIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "dealCustomFieldIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "apiEndpointIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  },
  "required": [
    "version",
    "profile",
    "handoff",
    "memory",
    "memoryRetentionDays",
    "close",
    "createDeal",
    "tagIds",
    "clientCustomFieldIds",
    "dealCustomFieldIds",
    "apiEndpointIds"
  ]
}
AiAgentPublicV1Dto
{
  "type": "object",
  "properties": {
    "responseSettings": {
      "description": "Только сохранённые поля без вычисляемых defaults. Новый агент без явных настроек получает общий стартовый объект; {} после явного сброса означает legacy-поведение.",
      "example": {
        "temperature": 0.3,
        "reasoningMode": "auto",
        "tone": "prompt",
        "verbosity": "prompt"
      },
      "allOf": [
        {
          "$ref": "#/components/schemas/AiResponseSettingsDtoV1"
        }
      ]
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "context": {
      "type": "string",
      "nullable": true
    },
    "prompt": {
      "type": "string",
      "nullable": true
    },
    "productsSetId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "knowledgeBaseId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "apiIntegrationId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "capabilities": {
      "$ref": "#/components/schemas/AgentCapabilitiesPublicV1Dto"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "responseSettings",
    "id",
    "name",
    "context",
    "prompt",
    "productsSetId",
    "knowledgeBaseId",
    "apiIntegrationId",
    "capabilities",
    "createdAt",
    "updatedAt"
  ]
}
PublicApiErrorV1Dto
{
  "type": "object",
  "properties": {
    "status": {
      "type": "number",
      "example": 400
    },
    "message": {
      "type": "string"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "path": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "details": {
      "type": "object"
    }
  },
  "required": [
    "status",
    "message",
    "timestamp",
    "path"
  ]
}
AgentCapabilitiesPublicV1RequestDto
{
  "type": "object",
  "properties": {
    "profile": {
      "type": "boolean"
    },
    "handoff": {
      "type": "boolean"
    },
    "memory": {
      "type": "boolean"
    },
    "memoryRetentionDays": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "close": {
      "type": "boolean"
    },
    "createDeal": {
      "type": "boolean"
    },
    "tagIds": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "clientCustomFieldIds": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "dealCustomFieldIds": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "apiEndpointIds": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  }
}
CreateAiAgentPublicV1Dto
{
  "type": "object",
  "properties": {
    "responseSettings": {
      "description": "Если поле отсутствует при создании, сохраняются общие настройки: temperature 0.3, reasoningMode auto, tone prompt, verbosity prompt. Явный объект сохраняется целиком без дополнения defaults; {} включает legacy-поведение.",
      "default": {
        "temperature": 0.3,
        "reasoningMode": "auto",
        "tone": "prompt",
        "verbosity": "prompt"
      },
      "example": {
        "temperature": 0.3,
        "reasoningMode": "auto",
        "tone": "prompt",
        "verbosity": "prompt"
      },
      "allOf": [
        {
          "$ref": "#/components/schemas/AiResponseSettingsDtoV1"
        }
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "context": {
      "type": "string",
      "nullable": true
    },
    "prompt": {
      "type": "string",
      "nullable": true
    },
    "capabilities": {
      "$ref": "#/components/schemas/AgentCapabilitiesPublicV1RequestDto"
    }
  },
  "required": [
    "name"
  ]
}
AiAgentChannelRefPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "name"
  ]
}
UpdateAiAgentPublicV1Dto
{
  "type": "object",
  "properties": {
    "responseSettings": {
      "description": "Отсутствие поля сохраняет настройки без изменений. Явный объект заменяет их целиком без дополнения defaults; {} сбрасывает настройки и включает legacy-поведение.",
      "example": {
        "temperature": 0
      },
      "allOf": [
        {
          "$ref": "#/components/schemas/AiResponseSettingsDtoV1"
        }
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "context": {
      "type": "string",
      "nullable": true
    },
    "prompt": {
      "type": "string",
      "nullable": true
    },
    "capabilities": {
      "$ref": "#/components/schemas/AgentCapabilitiesPublicV1RequestDto"
    }
  }
}
PublicOkV1Dto
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "example": true
    }
  },
  "required": [
    "ok"
  ]
}
AiProductsSetPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "aiAgentId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "name": {
      "type": "string"
    },
    "mode": {
      "type": "string",
      "enum": [
        "with_links",
        "without_links"
      ]
    },
    "productsFileUrl": {
      "type": "string",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "aiAgentId",
    "name",
    "mode",
    "productsFileUrl",
    "createdAt",
    "updatedAt"
  ]
}
CreateAiProductsSetPublicV1Dto
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "mode": {
      "type": "string",
      "enum": [
        "with_links",
        "without_links"
      ]
    },
    "agentId": {
      "type": "string",
      "format": "uuid"
    },
    "preUploadId": {
      "type": "string",
      "nullable": true,
      "maxLength": 64
    },
    "productsFileUrl": {
      "type": "string",
      "nullable": true,
      "maxLength": 512
    }
  },
  "required": [
    "name"
  ]
}
UpdateAiProductsSetPublicV1Dto
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "mode": {
      "type": "string",
      "enum": [
        "with_links",
        "without_links"
      ]
    },
    "productsFileUrl": {
      "type": "string",
      "nullable": true,
      "maxLength": 512
    }
  }
}
AiProductPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "channelId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "aiProductsSetId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "aiKnowledgeBaseId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "productId": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "sourceType": {
      "type": "string"
    },
    "uploadId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "error": {
      "type": "object",
      "nullable": true
    },
    "metadata": {
      "type": "object",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "channelId",
    "aiProductsSetId",
    "aiKnowledgeBaseId",
    "productId",
    "status",
    "sourceType",
    "uploadId",
    "error",
    "createdAt",
    "updatedAt"
  ]
}
AiProductsPagePublicV1Dto
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AiProductPublicV1Dto"
      }
    },
    "total": {
      "type": "number"
    },
    "page": {
      "type": "number"
    },
    "limit": {
      "type": "number"
    }
  },
  "required": [
    "data",
    "total",
    "page",
    "limit"
  ]
}
AiProductPublicV1RequestDto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "href": {
      "type": "string",
      "format": "uri"
    },
    "title": {
      "type": "string",
      "maxLength": 512
    },
    "description": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "priceOld": {
      "type": "number"
    },
    "images": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "payload": {
      "type": "object"
    }
  },
  "required": [
    "id",
    "href"
  ]
}
ProductDeleteAcceptedPublicV1Dto
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "example": true
    },
    "productId": {
      "type": "string"
    },
    "jobId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "success",
    "productId",
    "jobId"
  ]
}
AiKnowledgeBasePublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "aiAgentId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "name": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "aiAgentId",
    "name",
    "createdAt",
    "updatedAt"
  ]
}
CreateAiKnowledgeBasePublicV1Dto
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "agentId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "name"
  ]
}
UpdateAiKnowledgeBasePublicV1Dto
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255
    }
  }
}
AiKnowledgeFilePublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "channelId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "aiProductsSetId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "aiKnowledgeBaseId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "externalId": {
      "type": "string",
      "nullable": true
    },
    "type": {
      "type": "string"
    },
    "originalName": {
      "type": "string",
      "nullable": true
    },
    "mimeType": {
      "type": "string",
      "nullable": true
    },
    "sizeBytes": {
      "type": "number",
      "nullable": true
    },
    "status": {
      "type": "string"
    },
    "error": {
      "type": "string",
      "nullable": true
    },
    "chunksCount": {
      "type": "number",
      "nullable": true
    },
    "processedAt": {
      "type": "string",
      "format": "date-time",
      "nullable": true
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "channelId",
    "aiProductsSetId",
    "aiKnowledgeBaseId",
    "externalId",
    "type",
    "originalName",
    "mimeType",
    "sizeBytes",
    "status",
    "error",
    "chunksCount",
    "processedAt",
    "createdAt",
    "updatedAt"
  ]
}
AiKnowledgeFileUpsertPublicV1Dto
{
  "type": "object",
  "properties": {
    "updated": {
      "type": "boolean"
    },
    "upload": {
      "$ref": "#/components/schemas/AiKnowledgeFilePublicV1Dto"
    }
  },
  "required": [
    "updated",
    "upload"
  ]
}
KnowledgeFileDeleteAcceptedPublicV1Dto
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "example": true
    },
    "fileId": {
      "type": "string"
    },
    "jobId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "success",
    "fileId",
    "jobId"
  ]
}
ApiIntegrationEndpointPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "folderId": {
      "type": "string",
      "format": "uuid"
    },
    "method": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "responseExample": {
      "type": "string",
      "nullable": true
    },
    "enabled": {
      "type": "boolean"
    },
    "useUserToken": {
      "type": "boolean"
    },
    "availableToAiOperator": {
      "type": "boolean"
    },
    "operationKind": {
      "type": "string",
      "enum": [
        "read",
        "write"
      ]
    },
    "allowedPathFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "allowedQueryFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "allowedBodyFields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "order": {
      "type": "number"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "folderId",
    "method",
    "url",
    "description",
    "responseExample",
    "enabled",
    "useUserToken",
    "availableToAiOperator",
    "operationKind",
    "allowedPathFields",
    "allowedQueryFields",
    "allowedBodyFields",
    "order",
    "createdAt",
    "updatedAt"
  ]
}
ApiIntegrationFolderPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "integrationId": {
      "type": "string",
      "format": "uuid"
    },
    "parentId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "name": {
      "type": "string"
    },
    "order": {
      "type": "number"
    },
    "children": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationFolderPublicV1Dto"
      }
    },
    "endpoints": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationEndpointPublicV1Dto"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "integrationId",
    "parentId",
    "name",
    "order",
    "createdAt",
    "updatedAt"
  ]
}
ApiIntegrationPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "aiAgentId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "name": {
      "type": "string"
    },
    "authPrefix": {
      "type": "string",
      "nullable": true
    },
    "authMode": {
      "type": "string",
      "enum": [
        "user_token",
        "signed_identity"
      ]
    },
    "hasSigningSecret": {
      "type": "boolean"
    },
    "folders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationFolderPublicV1Dto"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "aiAgentId",
    "name",
    "authPrefix",
    "authMode",
    "hasSigningSecret",
    "createdAt",
    "updatedAt"
  ]
}
ApiIntegrationEndpointPublicV1RequestDto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "method": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "responseExample": {
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    },
    "useUserToken": {
      "type": "boolean"
    },
    "availableToAiOperator": {
      "type": "boolean"
    },
    "operationKind": {
      "type": "string",
      "enum": [
        "read",
        "write"
      ]
    },
    "allowedPathFields": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "allowedQueryFields": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "allowedBodyFields": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "method",
    "url",
    "description"
  ]
}
ApiIntegrationFolderPublicV1RequestDto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "endpoints": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationEndpointPublicV1RequestDto"
      }
    },
    "children": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationFolderPublicV1RequestDto"
      }
    }
  },
  "required": [
    "name",
    "endpoints"
  ]
}
CreateApiIntegrationPublicV1Dto
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "authPrefix": {
      "type": "string"
    },
    "authMode": {
      "type": "string",
      "enum": [
        "user_token",
        "signed_identity"
      ]
    },
    "agentId": {
      "type": "string",
      "format": "uuid"
    },
    "folders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationFolderPublicV1RequestDto"
      }
    }
  },
  "required": [
    "name",
    "folders"
  ]
}
UpdateApiIntegrationPublicV1Dto
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "authPrefix": {
      "type": "string"
    },
    "authMode": {
      "type": "string",
      "enum": [
        "user_token",
        "signed_identity"
      ]
    },
    "folders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ApiIntegrationFolderPublicV1RequestDto"
      }
    }
  }
}
ChannelPublicV1Dto
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "type": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "type",
    "name"
  ]
}
ChannelAiOperatorPublicV1Dto
{
  "type": "object",
  "properties": {
    "status": {
      "type": "boolean"
    },
    "allowGroups": {
      "type": "boolean"
    },
    "agentId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    }
  },
  "required": [
    "status",
    "allowGroups",
    "agentId"
  ]
}
UpdateChannelAiOperatorPublicV1Dto
{
  "type": "object",
  "properties": {
    "status": {
      "type": "boolean"
    },
    "allowGroups": {
      "type": "boolean",
      "description": "Явное разрешение AI-ответов в групповых диалогах",
      "default": false
    },
    "agentId": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    }
  }
}
MessagingRecipientDtoV1
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "email",
        "phone",
        "provider_user_id"
      ],
      "description": "Mail: email; WhatsApp Personal и MAX Personal: phone; Telegram Personal и MAX Personal: прежний provider_user_id."
    },
    "value": {
      "type": "string",
      "maxLength": 200,
      "description": "Для phone — международный номер из 7–15 цифр с необязательным + (например, +79990001122). MAX Personal разрешает номер через подключённый аккаунт; номер не является MAX ID."
    }
  },
  "required": [
    "type",
    "value"
  ]
}
SendMessagingMessageDtoV1
{
  "type": "object",
  "properties": {
    "externalMessageId": {
      "type": "string",
      "maxLength": 200
    },
    "authorUserId": {
      "type": "string",
      "format": "uuid",
      "description": "Требует messaging_send_as_employee. Обязателен для операторского приложения."
    },
    "dialogId": {
      "type": "string",
      "format": "uuid"
    },
    "channelId": {
      "type": "string",
      "format": "uuid"
    },
    "recipient": {
      "$ref": "#/components/schemas/MessagingRecipientDtoV1"
    },
    "text": {
      "type": "string",
      "maxLength": 20000
    },
    "uploadIds": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "quoteMessageId": {
      "type": "string",
      "format": "uuid"
    },
    "responseEffect": {
      "type": "string",
      "enum": [
        "preserve",
        "resolve"
      ],
      "default": "preserve"
    },
    "expectedResponseVersion": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "externalMessageId"
  ]
}
MessagingHandoffDtoV1
{
  "type": "object",
  "properties": {
    "authorUserId": {
      "type": "string",
      "format": "uuid"
    },
    "departmentId": {
      "type": "string",
      "format": "uuid"
    },
    "operatorId": {
      "type": "string",
      "format": "uuid"
    },
    "reason": {
      "type": "string",
      "maxLength": 1000
    }
  }
}
MessagingOperatorActionDtoV1
{
  "type": "object",
  "properties": {
    "authorUserId": {
      "type": "string",
      "format": "uuid"
    },
    "expectedControlVersion": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "authorUserId",
    "expectedControlVersion"
  ]
}
MessagingAssignmentDtoV1
{
  "type": "object",
  "properties": {
    "authorUserId": {
      "type": "string",
      "format": "uuid"
    },
    "expectedControlVersion": {
      "type": "integer",
      "minimum": 0
    },
    "targetOperatorId": {
      "type": "string",
      "format": "uuid"
    },
    "participation": {
      "type": "string",
      "enum": [
        "retain",
        "leave"
      ]
    },
    "departmentId": {
      "type": "object",
      "format": "uuid",
      "nullable": true
    }
  },
  "required": [
    "authorUserId",
    "expectedControlVersion",
    "targetOperatorId",
    "participation"
  ]
}
BookingFormFieldDtoV1
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "kind": {
      "type": "string",
      "enum": [
        "name",
        "phone",
        "email",
        "string",
        "number"
      ]
    },
    "label": {
      "type": "string",
      "maxLength": 120
    },
    "required": {
      "type": "boolean"
    },
    "visible": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "kind",
    "label",
    "required",
    "visible"
  ]
}
BookingFormDtoV1
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "fields": {
      "maxItems": 5,
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BookingFormFieldDtoV1"
      }
    }
  },
  "required": [
    "enabled",
    "fields"
  ]
}
BookingPrivacyDtoV1
{
  "type": "object",
  "properties": {
    "privacyUrl": {
      "type": "string",
      "maxLength": 2048,
      "nullable": true
    },
    "required": {
      "type": "boolean"
    }
  },
  "required": [
    "privacyUrl",
    "required"
  ]
}
BookingPublicPageDtoV1
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "nullable": true,
      "maxLength": 80
    },
    "description": {
      "type": "string",
      "nullable": true,
      "maxLength": 500
    }
  }
}
BookingPhoneMessengerTemplatesDtoV1
{
  "type": "object",
  "properties": {
    "confirmation": {
      "type": "string",
      "nullable": true,
      "maxLength": 1000
    },
    "reminder": {
      "type": "string",
      "nullable": true,
      "maxLength": 1000
    },
    "rescheduled": {
      "type": "string",
      "nullable": true,
      "maxLength": 1000
    },
    "cancelled": {
      "type": "string",
      "nullable": true,
      "maxLength": 1000
    }
  }
}
BookingPhoneMessengerDtoV1
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "maxChannelUuid": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "telegramChannelUuid": {
      "type": "string",
      "format": "uuid",
      "nullable": true
    },
    "templates": {
      "$ref": "#/components/schemas/BookingPhoneMessengerTemplatesDtoV1"
    }
  }
}
BookingNotificationsDtoV1
{
  "type": "object",
  "properties": {
    "phoneMessenger": {
      "$ref": "#/components/schemas/BookingPhoneMessengerDtoV1"
    }
  }
}
BookingSettingsDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "reminderMinutes": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "publicEnabled": {
      "type": "boolean"
    },
    "horizonDays": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365
    },
    "leadMinutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 525600
    },
    "stepMinutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440
    },
    "customerCutoffMinutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 525600
    },
    "specialistSelection": {
      "type": "string",
      "enum": [
        "client",
        "auto"
      ],
      "description": "Выбор специалиста в онлайн-записи (виджет, /book, бот): client — клиент выбирает сам; auto — шаг выбора скрыт, специалиста назначает сервер."
    },
    "form": {
      "$ref": "#/components/schemas/BookingFormDtoV1"
    },
    "privacy": {
      "$ref": "#/components/schemas/BookingPrivacyDtoV1"
    },
    "publicPage": {
      "$ref": "#/components/schemas/BookingPublicPageDtoV1"
    },
    "notifications": {
      "$ref": "#/components/schemas/BookingNotificationsDtoV1"
    }
  },
  "required": [
    "expectedVersion"
  ]
}
BookingBranchDtoV1
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "place",
        "online"
      ],
      "description": "place — филиал по адресу (по умолчанию у нового филиала; у филиалов без поля); online — без адреса: сервер сохраняет address пустым, city/latitude/longitude — null, название по умолчанию «Онлайн». Без поля при изменении вид не меняется."
    },
    "name": {
      "type": "string",
      "maxLength": 200,
      "description": "Обязательно для kind=place (по умолчанию). У kind=online можно не передавать — «Онлайн»."
    },
    "address": {
      "type": "string",
      "maxLength": 1000,
      "description": "Обязательно для kind=place (по умолчанию): непустой адрес при создании и изменении адреса. У kind=online не передаётся — сервер сохраняет пустую строку."
    },
    "city": {
      "type": "string",
      "nullable": true,
      "maxLength": 200
    },
    "latitude": {
      "type": "number",
      "nullable": true,
      "minimum": -90,
      "maximum": 90,
      "description": "Широта WGS84. Задайте обе координаты или обе null."
    },
    "longitude": {
      "type": "number",
      "nullable": true,
      "minimum": -180,
      "maximum": 180,
      "description": "Долгота WGS84. Задайте обе координаты или обе null."
    },
    "timeZone": {
      "type": "string",
      "maxLength": 100,
      "nullable": true
    },
    "active": {
      "type": "boolean"
    },
    "responsible": {
      "type": "object",
      "nullable": true
    }
  },
  "required": [
    "active"
  ]
}
BookingBranchPatchDtoV1
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "place",
        "online"
      ],
      "description": "place — филиал по адресу (по умолчанию у нового филиала; у филиалов без поля); online — без адреса: сервер сохраняет address пустым, city/latitude/longitude — null, название по умолчанию «Онлайн». Без поля при изменении вид не меняется."
    },
    "name": {
      "type": "string",
      "maxLength": 200,
      "description": "Обязательно для kind=place (по умолчанию). У kind=online можно не передавать — «Онлайн»."
    },
    "address": {
      "type": "string",
      "maxLength": 1000,
      "description": "Обязательно для kind=place (по умолчанию): непустой адрес при создании и изменении адреса. У kind=online не передаётся — сервер сохраняет пустую строку."
    },
    "city": {
      "type": "string",
      "nullable": true,
      "maxLength": 200
    },
    "latitude": {
      "type": "number",
      "nullable": true,
      "minimum": -90,
      "maximum": 90,
      "description": "Широта WGS84. Задайте обе координаты или обе null."
    },
    "longitude": {
      "type": "number",
      "nullable": true,
      "minimum": -180,
      "maximum": 180,
      "description": "Долгота WGS84. Задайте обе координаты или обе null."
    },
    "timeZone": {
      "type": "string",
      "maxLength": 100,
      "nullable": true
    },
    "active": {
      "type": "boolean"
    },
    "responsible": {
      "type": "object",
      "nullable": true
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
BookingServiceDtoV1
{
  "type": "object",
  "properties": {
    "branchIds": {
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "maxLength": 4000
    },
    "durationMinutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440
    },
    "price": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "enum": [
        "RUB"
      ]
    },
    "bufferBeforeMinutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1440
    },
    "bufferAfterMinutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1440
    },
    "active": {
      "type": "boolean"
    },
    "staffMode": {
      "type": "string",
      "enum": [
        "all",
        "selected"
      ],
      "description": "«Кто оказывает»: all — все сотрудники филиалов услуги (сервер сам создаёт связи специалист ↔ услуга без переопределений цены и длительности, когда сохраняют активную услугу, состав филиала или профиль сотрудника с новым филиалом); selected — выбранные специалисты (связи ведут в профилях). По умолчанию all: без поля новая услуга — all, изменение режим не меняет."
    }
  },
  "required": [
    "branchIds",
    "name",
    "description",
    "durationMinutes",
    "price",
    "currency",
    "bufferBeforeMinutes",
    "bufferAfterMinutes",
    "active"
  ]
}
BookingServicePatchDtoV1
{
  "type": "object",
  "properties": {
    "branchIds": {
      "maxItems": 1000,
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "maxLength": 4000
    },
    "durationMinutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440
    },
    "price": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "enum": [
        "RUB"
      ]
    },
    "bufferBeforeMinutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1440
    },
    "bufferAfterMinutes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1440
    },
    "active": {
      "type": "boolean"
    },
    "staffMode": {
      "type": "string",
      "enum": [
        "all",
        "selected"
      ],
      "description": "«Кто оказывает»: all — все сотрудники филиалов услуги (сервер сам создаёт связи специалист ↔ услуга без переопределений цены и длительности, когда сохраняют активную услугу, состав филиала или профиль сотрудника с новым филиалом); selected — выбранные специалисты (связи ведут в профилях). По умолчанию all: без поля новая услуга — all, изменение режим не меняет."
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
BookingPreferencesDtoV1
{
  "type": "object",
  "properties": {
    "email": {
      "type": "boolean"
    },
    "messenger": {
      "type": "boolean"
    },
    "phoneMessenger": {
      "type": "boolean"
    }
  },
  "required": [
    "email",
    "messenger"
  ]
}
BookingConsentDtoV1
{
  "type": "object",
  "properties": {
    "accepted": {
      "type": "boolean"
    },
    "version": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "accepted",
    "version"
  ]
}
BookingCreateDtoV1
{
  "type": "object",
  "properties": {
    "expectedQuoteVersions": {
      "type": "array",
      "minItems": 1,
      "maxItems": 200,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[a-f0-9]{64}$"
      },
      "description": "Необязательный снимок показанных условий из availability. До 200 допустимых кандидатов одного времени; при изменении условий — 409 BOOKING_QUOTE_CHANGED. Без поля действует прежний контракт создания по текущим условиям."
    },
    "startsAt": {
      "type": "string",
      "format": "date-time"
    },
    "branchId": {
      "type": "string",
      "format": "uuid"
    },
    "serviceId": {
      "type": "string",
      "format": "uuid"
    },
    "specialistId": {
      "type": "string",
      "format": "uuid",
      "description": "Необязателен. Без него специалиста назначает сервер: из тех, у кого это время свободно, — у кого меньше записей в этот день (по часам филиала, во всех филиалах, кроме отменённых), при равенстве — кому дольше всего не назначали, затем по id."
    },
    "notificationPreferences": {
      "$ref": "#/components/schemas/BookingPreferencesDtoV1"
    },
    "privacyConsent": {
      "nullable": true,
      "type": "object",
      "allOf": [
        {
          "$ref": "#/components/schemas/BookingConsentDtoV1"
        }
      ]
    },
    "formVersion": {
      "type": "integer",
      "minimum": 1
    },
    "answers": {
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          }
        ]
      }
    },
    "clientUuid": {
      "type": "string",
      "format": "uuid"
    },
    "notes": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "startsAt",
    "branchId",
    "serviceId",
    "notificationPreferences",
    "privacyConsent",
    "formVersion",
    "answers"
  ]
}
BookingUpdateDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "formVersion": {
      "type": "integer",
      "minimum": 1
    },
    "answers": {
      "type": "object",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          }
        ]
      }
    },
    "notes": {
      "type": "string",
      "maxLength": 2000
    },
    "notificationPreferences": {
      "$ref": "#/components/schemas/BookingPreferencesDtoV1"
    }
  },
  "required": [
    "expectedVersion",
    "formVersion",
    "answers"
  ]
}
BookingRescheduleDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "expectedQuoteVersions": {
      "type": "array",
      "minItems": 1,
      "maxItems": 200,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[a-f0-9]{64}$"
      },
      "description": "Показанные условия выбранного времени из availability. Не заменяет expectedVersion визита. При изменении — 409 BOOKING_QUOTE_CHANGED."
    },
    "startsAt": {
      "type": "string",
      "format": "date-time"
    },
    "branchId": {
      "type": "string",
      "format": "uuid"
    },
    "specialistId": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "expectedVersion",
    "startsAt",
    "branchId",
    "specialistId"
  ]
}
BookingVersionDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "expectedVersion"
  ]
}
BookingStatusDtoV1
{
  "type": "object",
  "properties": {
    "expectedVersion": {
      "type": "integer",
      "minimum": 1
    },
    "status": {
      "type": "string",
      "enum": [
        "confirmed",
        "arrived",
        "completed",
        "no_show"
      ]
    }
  },
  "required": [
    "expectedVersion",
    "status"
  ]
}