810 lines
30 KiB
YAML
810 lines
30 KiB
YAML
openapi: 3.0.3
|
||
info:
|
||
title: QUIZ AMOCRM integration
|
||
description: Интеграция с Амо. Ключевая задача - создавать заявки в соответствующей воронкой подключенного аккаунта
|
||
version: 1.0.0
|
||
|
||
tags:
|
||
- name: account
|
||
description: Операции связанные с аккаунтом
|
||
- name: different
|
||
description: Различные операции связанные с AmoCRM
|
||
|
||
|
||
paths:
|
||
/account:
|
||
post:
|
||
operationId: ConnectAccount
|
||
description: подключение аккаунта амо к аккаунту quiz. На вход получает только токен. На выход отдаёт ссылку для подключения. Создаёт модель аккаунта, имеющую связь с основным аккаунтом
|
||
tags:
|
||
- account
|
||
responses:
|
||
'200':
|
||
description: успешное создание ссылки для авторизации
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: '#/components/schemas/ConnectAccountResp'
|
||
delete:
|
||
operationId: SoftDeleteAccount
|
||
description: мягкое удаление аккаунта. Юзер должен иметь возможность создать новый аккаунт, взамен удалённого
|
||
tags:
|
||
- account
|
||
responses:
|
||
'200':
|
||
description: успешное удаление аккаунта
|
||
get:
|
||
operationId: GetCurrentAccount
|
||
description: получение текущего аккаунта
|
||
tags:
|
||
- account
|
||
responses:
|
||
'200':
|
||
description: аккаунт интеграции с амо
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: '#/components/schemas/GetCurrentAccountResp'
|
||
/webhook/create:
|
||
get:
|
||
operationId: WebhookCreate
|
||
description: это метод для получения пары токенов для аккаунта. Пары токенов стоит хранить в отдельной таблице и завести воркер, который будет обновлять рефреш. https://www.amocrm.ru/developers/content/oauth/step-by-step - вот дока для этого метода
|
||
tags:
|
||
- different
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/webhook/delete:
|
||
get:
|
||
operationId: WebhookDelete
|
||
description: это метод для оповещения об удалении итеграции из учетки в амо. При его вызове надо мягко удалить соответствующий аккаунт. https://www.amocrm.ru/developers/content/oauth/step-by-step#%D0%A5%D1%83%D0%BA-%D0%BE%D0%B1-%D0%BE%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B8-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8
|
||
tags:
|
||
- different
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/utms/{quizID}:
|
||
get:
|
||
operationId: GettingUserUTM
|
||
tags:
|
||
- account
|
||
description: получение списка заданных юзером utm меток. Это чисто наша сущность, в амо она представлена кастомными полями сделки
|
||
parameters:
|
||
- in: path
|
||
name: quizID
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: Id квиза
|
||
- in: query
|
||
name: Pagination
|
||
description: Параметры пагинации
|
||
required: false
|
||
schema:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: Номер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 1
|
||
size:
|
||
type: integer
|
||
description: Размер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 25
|
||
required:
|
||
- page
|
||
- size
|
||
responses:
|
||
'200':
|
||
description: успешное получение списка пользователей
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: '#/components/schemas/GetListUserUTMResp'
|
||
/utms:
|
||
post:
|
||
operationId: SavingUserUTM
|
||
tags:
|
||
- account
|
||
description: сохранение списка заданных юзером utm меток
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/SaveUserListUTMReq"
|
||
responses:
|
||
'200':
|
||
description: успешное сохранение списка utm меток
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: '#/components/schemas/ListSavedIDUTMResp'
|
||
delete:
|
||
operationId: DeletingUserUTM
|
||
tags:
|
||
- account
|
||
description: удаление utm по айдишникам
|
||
requestBody:
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: '#/components/schemas/ListDeleteUTMIDsReq'
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/users:
|
||
get:
|
||
operationId: GettingUserFromCash
|
||
tags:
|
||
- account
|
||
description: получение списка юзеров, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/users-api#users-list
|
||
parameters:
|
||
- in: query
|
||
name: Pagination
|
||
description: Параметры пагинации
|
||
required: false
|
||
schema:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: Номер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 1
|
||
size:
|
||
type: integer
|
||
description: Размер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 25
|
||
required:
|
||
- page
|
||
- size
|
||
responses:
|
||
'200':
|
||
description: успешное получение списка пользователей
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: "#/components/schemas/UserListResp"
|
||
patch:
|
||
operationId: UpdateListUsers
|
||
description: обновление списка юзеров
|
||
tags:
|
||
- account
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/pipelines:
|
||
get:
|
||
operationId: GettingPipelinesFromCash
|
||
tags:
|
||
- different
|
||
description: получение списка воронок, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines
|
||
parameters:
|
||
- in: query
|
||
name: Pagination
|
||
description: Параметры пагинации
|
||
required: false
|
||
schema:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: Номер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 1
|
||
size:
|
||
type: integer
|
||
description: Размер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 25
|
||
required:
|
||
- page
|
||
- size
|
||
responses:
|
||
'200':
|
||
description: успешное получение списка воронок
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: "#/components/schemas/UserListPipelinesResp"
|
||
patch:
|
||
operationId: UpdateListPipelines
|
||
description: обновление списка воронок
|
||
tags:
|
||
- different
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/steps:
|
||
get:
|
||
operationId: GettingStepsFromCash
|
||
tags:
|
||
- different
|
||
description: получение списка этапов воронок, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%BE%D0%B2-%D0%B2%D0%BE%D1%80%D0%BE%D0%BD%D0%BA%D0%B8-%D1%81%D0%B4%D0%B5%D0%BB%D0%BE%D0%BA
|
||
parameters:
|
||
- in: query
|
||
name: Pagination
|
||
description: Параметры пагинации
|
||
required: false
|
||
schema:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: Номер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 1
|
||
size:
|
||
type: integer
|
||
description: Размер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 25
|
||
required:
|
||
- page
|
||
- size
|
||
responses:
|
||
'200':
|
||
description: успешное получение списка шагов воронок
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: "#/components/schemas/UserListStepsResp"
|
||
patch:
|
||
operationId: UpdateListSteps
|
||
description: обновление списка этапов воронок
|
||
tags:
|
||
- different
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/fields:
|
||
get:
|
||
operationId: GettingFieldsFromCash
|
||
tags:
|
||
- different
|
||
description: получение списка кастомных полей, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/custom-fields#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8
|
||
parameters:
|
||
- in: query
|
||
name: Pagination
|
||
description: Параметры пагинации
|
||
required: false
|
||
schema:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: Номер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 1
|
||
size:
|
||
type: integer
|
||
description: Размер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 25
|
||
required:
|
||
- page
|
||
- size
|
||
responses:
|
||
'200':
|
||
description: успешное получение списка тегов
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: "#/components/schemas/UserListFieldsResp"
|
||
patch:
|
||
operationId: UpdateListCustom
|
||
description: обновление списка кастомных полей
|
||
tags:
|
||
- different
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
/tags:
|
||
get:
|
||
operationId: GettingTagsFromCash
|
||
tags:
|
||
- different
|
||
description: получение списка тегов, закешированных у нас, с пагинацией https://www.amocrm.ru/developers/content/crm_platform/tags-api#%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA-%D1%82%D0%B5%D0%B3%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D1%81%D1%83%D1%89%D0%BD%D0%BE%D1%81%D1%82%D0%B8
|
||
parameters:
|
||
- in: query
|
||
name: Pagination
|
||
description: Параметры пагинации
|
||
required: false
|
||
schema:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: Номер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 1
|
||
size:
|
||
type: integer
|
||
description: Размер страницы пагинации. Если не указан, используется значение по умолчанию.
|
||
example: 25
|
||
required:
|
||
- page
|
||
- size
|
||
responses:
|
||
'200':
|
||
description: успешное получение списка тегов
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: "#/components/schemas/UserListTagsResp"
|
||
patch:
|
||
operationId: UpdateListTags
|
||
description: обновление списка тегов
|
||
tags:
|
||
- different
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
# таких запросах для блупринта обязательно нужно указывать параметры
|
||
/rules/{quizID}:
|
||
get:
|
||
operationId: GettingQuizRules
|
||
tags:
|
||
- different
|
||
description: получение настроек интеграции для конкретного квиза
|
||
parameters:
|
||
- in: path
|
||
name: quizID
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: Id квиза
|
||
responses:
|
||
'200':
|
||
description: успешное получение настройки интеграции
|
||
content:
|
||
'application/json':
|
||
schema:
|
||
$ref: "#/components/schemas/Rule"
|
||
/rules:
|
||
post:
|
||
operationId: SetQuizSettings
|
||
description: создание настроек интеграции для конкретного квиза
|
||
tags:
|
||
- different
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/RulesReq"
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
patch:
|
||
operationId: ChangeQuizSettings
|
||
description: изменение настроек интеграции для конкретного квиза
|
||
tags:
|
||
- different
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/RulesReq"
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
|
||
components:
|
||
schemas:
|
||
Rule:
|
||
type: object
|
||
description: объект настройки правил сохранения данных в амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
QuizID:
|
||
type: integer
|
||
description: айдишник опроса
|
||
PerformerID:
|
||
type: integer
|
||
description: айдишник ответственного за сделку
|
||
PipelineID:
|
||
type: integer
|
||
description: айдишник воронки
|
||
StepID:
|
||
type: integer
|
||
description: айдишник этапа
|
||
UTMs:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
description: список UTM для этого опроса
|
||
FieldsRule:
|
||
type: object
|
||
description: правила заполнения полей сущностей в амо
|
||
properties:
|
||
lead:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FieldRule'
|
||
contact:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FieldRule'
|
||
company:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FieldRule'
|
||
customer:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/FieldRule'
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания воронки в нашей системе
|
||
FieldRule:
|
||
type: object
|
||
description: правила сопоставления вопроса полю
|
||
properties:
|
||
QuestionID:
|
||
type: integer
|
||
description: сопоставление айдишника вопроса полю, которое будет заполняться ответом. соответственно QuestionID это айдишник вопроса. это я так мэпу пытался записать
|
||
Pipeline:
|
||
type: object
|
||
description: объект воронки амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AmoID:
|
||
type: integer
|
||
description: айдишник воронки в амо
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
Name:
|
||
type: string
|
||
description: название воронки в амо
|
||
IsArchive:
|
||
type: boolean
|
||
description: флаг архивной воронки в амо
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания воронки в нашей системе
|
||
Step:
|
||
type: object
|
||
description: объект шага воронки амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AmoID:
|
||
type: integer
|
||
description: айдишник шага воронки в амо
|
||
PipelineID:
|
||
type: integer
|
||
description: айдишник воронки в амо
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
Name:
|
||
type: string
|
||
description: название воронки в амо
|
||
Color:
|
||
type: string
|
||
description: цвет шага в амо
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания воронки в нашей системе
|
||
Field:
|
||
type: object
|
||
description: объект кастомного поля амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AmoID:
|
||
type: integer
|
||
description: айдишник кастомного поля в амо
|
||
Code:
|
||
type: string
|
||
description: кодовое слово в амо
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
Name:
|
||
type: string
|
||
description: название воронки в амо
|
||
EntityType:
|
||
type: string
|
||
description: тип сущности в амо, для которой это кастомное поле
|
||
Type:
|
||
type: string
|
||
description: тип поля https://www.amocrm.ru/developers/content/crm_platform/custom-fields#%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D0%B5-%D1%82%D0%B8%D0%BF%D1%8B-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания воронки в нашей системе
|
||
UTM:
|
||
type: object
|
||
description: объект настройки UTM, данные о которых мы сохраняем в амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AmoFieldID:
|
||
type: integer
|
||
description: айдишник кастомного поля в амо
|
||
QuizID:
|
||
type: integer
|
||
description: айдишник квиза
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
Name:
|
||
type: string
|
||
description: название тега в амо
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания тега в нашей системе
|
||
Tag:
|
||
type: object
|
||
description: объект тега из амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AmoID:
|
||
type: integer
|
||
description: айдишник тега в амо
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
Entity:
|
||
type: string
|
||
description: сущность, к которой принадлежит этот тег. Наверное, стоит сделать через enum в базе
|
||
Name:
|
||
type: string
|
||
description: название тега в амо
|
||
Color:
|
||
type: string
|
||
description: цвет тега в амо
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания тега в нашей системе
|
||
User:
|
||
type: object
|
||
description: объект пользователя из амо
|
||
properties:
|
||
ID:
|
||
type: integer
|
||
description: айдишник в нашей системе
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в интеграции амо
|
||
AmoID:
|
||
type: integer
|
||
description: айдишник пользователя в амо
|
||
Name:
|
||
type: string
|
||
description: имя пользователя в амо
|
||
Email:
|
||
type: string
|
||
description: почта пользователя из амо
|
||
Role:
|
||
type: string
|
||
description: роль пользователя в амо
|
||
Group:
|
||
type: string
|
||
description: руппа пользователя в амо
|
||
Deleted:
|
||
type: boolean
|
||
description: флаг мягкого удаления
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания тега в нашей системе
|
||
ConnectAccountResp:
|
||
type: object
|
||
properties:
|
||
link:
|
||
type: string
|
||
description: ссылка для авторизации в амо
|
||
GetCurrentAccountResp:
|
||
type: object
|
||
properties:
|
||
ID:
|
||
type: string
|
||
description: uuid
|
||
AccountID:
|
||
type: string
|
||
description: связь с аккаунтом в квизе
|
||
AmocrmID:
|
||
type: integer
|
||
description: связь с аккаунтом в амо
|
||
Name:
|
||
type: string
|
||
description: имя аккаунта в амо
|
||
Subdomain:
|
||
type: string
|
||
description: поддомен организации в амо
|
||
AmoUserID:
|
||
type: integer
|
||
description: айдишник пользвателя, который подключал интеграцию
|
||
Country:
|
||
type: string
|
||
description: страна указанная в настройках амо
|
||
CreatedAt:
|
||
type: integer
|
||
description: таймштамп создания аккаунта
|
||
GetListUserUTMResp:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: общее количество юзеров, которые у нас закешированы для этого пользователя
|
||
items:
|
||
type: array
|
||
description: список юзеров, которые были закешированы нашим сервисом
|
||
items:
|
||
$ref: "#/components/schemas/UTM"
|
||
SaveUserListUTMReq:
|
||
type: object
|
||
properties:
|
||
utms:
|
||
type: array
|
||
description: список utm для сохранения. сохранять только те, которых в этом аккаунте ещё нет
|
||
items:
|
||
type: string
|
||
ListSavedIDUTMResp:
|
||
type: object
|
||
properties:
|
||
IDs:
|
||
type: array
|
||
description: список айдишников сохранённых меток
|
||
items:
|
||
type: string
|
||
ListDeleteUTMIDsReq:
|
||
type: object
|
||
properties:
|
||
utms:
|
||
type: array
|
||
description: список айдишников utm которые удалить
|
||
items:
|
||
type: integer
|
||
UserListResp:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: общее количество юзеров, которые у нас закешированы для этого пользователя
|
||
items:
|
||
type: array
|
||
description: список юзеров, которые были закешированы нашим сервисом
|
||
items:
|
||
$ref: "#/components/schemas/User"
|
||
UserListPipelinesResp:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: общее количество воронок, которые у нас закешированы для этого пользователя
|
||
items:
|
||
type: array
|
||
description: список воронок, которые были закешированы нашим сервисом
|
||
items:
|
||
$ref: "#/components/schemas/Pipeline"
|
||
UserListStepsResp:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: общее количество шагов воронок, которые у нас закешированы для этого пользователя
|
||
items:
|
||
type: array
|
||
description: список шагов воронок, которые были закешированы нашим сервисом
|
||
items:
|
||
$ref: "#/components/schemas/Step"
|
||
UserListFieldsResp:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: общее количество кастомных полей, которые у нас закешированы для этого пользователя
|
||
items:
|
||
type: array
|
||
description: список кастомных полей, которые были закешированы нашим сервисом
|
||
items:
|
||
$ref: "#/components/schemas/Field"
|
||
UserListTagsResp:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: общее количество тегов, которые у нас закешированы для этого пользователя
|
||
items:
|
||
type: array
|
||
description: список тегов, которые были закешированы нашим сервисом
|
||
items:
|
||
$ref: "#/components/schemas/Tag"
|
||
PaginationReq:
|
||
type: object
|
||
properties:
|
||
page:
|
||
type: integer
|
||
description: указание страницы пагинации. Если страница не указана, применять 0
|
||
size:
|
||
type: integer
|
||
description: указание размера страницы пагинации. По умолчанию применять 25
|
||
RulesReq:
|
||
type: object
|
||
properties:
|
||
ID:
|
||
type: string
|
||
description: ID квиза
|
||
|
||
responses:
|
||
'200':
|
||
description: Success
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Success
|
||
'201':
|
||
description: Created
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Created
|
||
'204':
|
||
description: No content
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: No content
|
||
'400':
|
||
description: Bad Request
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Bad Request
|
||
'401':
|
||
description: Unauthorized
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Unauthorized
|
||
'403':
|
||
description: Forbidden
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Forbidden
|
||
'404':
|
||
description: Not Found
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Not Found
|
||
'500':
|
||
description: Internal Server Error
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: string
|
||
description: Internal Server Error
|