openapi: 3.0.3
info:
title: 'Ansgar ID'
description: ''
version: 1.0.0
servers:
-
url: 'https://id.stage.odinn.cloud'
paths:
/api/v1/auth/login:
post:
summary: 'Получение токена доступа'
operationId: ''
description: "`access_token` является JWT.\nПример payload:\n```json\n{\n \"aud\": \"9e196de3-9324-47c8-9bca-27b633af08c1\",\n \"jti\": \"219e04228fab177899a53e9ce294b77809b12f9306c4c9794ad8a7602b888bbcc233c4ee9661dafe\",\n \"iat\": 1739180144.815972, // issued at time\n \"nbf\": 1739180144.815974,\n \"exp\": 1740389744.806619, // expire time\n \"sub\": \"00000000-0000-4000-8001-000000000002\", // user_id\n \"scopes\": []\n}\n```\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
token_type: Bearer
expires_in: 120960
access_token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5ZTE5NmRlMy05MzI0LTQ3YzgtOWJjYS0yN2I2MzNhZjA4YzEiLCJqdGkiOiIyMTllMDQyMjhmYWIxNzc4OTlhNTNlOWNlMjk0Yjc3ODA5YjEyZjkzMDZjNGM5Nzk0YWQ4YTc2MDJiODg4YmJjYzIzM2M0ZWU5NjYxZGFmZSIsImlhdCI6MTczOTE4MDE0NC44MTU5NzIsIm5iZiI6MTczOTE4MDE0NC44MTU5NzQsImV4cCI6MTc0MDM4OTc0NC44MDY2MTksInN1YiI6IjAwMDAwMDAwLTAwMDAtNDAwMC04MDAxLTAwMDAwMDAwMDAwMiIsInNjb3BlcyI6W119.ilMKDdtK8-K4lItpPPRpGNSCxrczHMvlD2gmU_KD8lQFgJp0eL9Jql11O7j5xuY0mOnrTEWGncbDCNtBShLsU7jhlBdQ6r9nfwUJhazGBymaJh_zk2X0I400mFGXuSLqzUo4TnDjRpc3Lx9mYprqFGJ6LqiFfX9jfxsqelqL2EHrDIOhWUrEIZDmPvkS7IWonxMMHhy-M8vpGtfXkOvYeKSzj1liGG_96HkjRqRAC9B36brC_AgYfQ4Lo1RAgkJnWDrsZNg3JhSQmxFAfrnfBlsQq2EnWoW5BSfDQHE1yHQ4n5BHFhigkFjnU_7Q_kXrBHhALPXW9nroztv_U62fS1LFachXLEJx215cYtt_u_Tpjs0WTAR-P1sOqa3l8i0YhLc3fQYr_48GlHoXvjFk6h7Hh6jJhGP9x-qPp-UyxmTCjFLlPslfrevOwOfRi7i2Z4fLUGezwr-LXDEn0dStBfuQl9E6j8gaGm84xu06spMPZF-zNHQDnrB_tJuF2-05FRSRa9jXjakqncXRIuHulZBXsJK-K2-jLvAUghAWr_2lTmhmYvpKpo7pykRk2-KRV8p4Ic-YD1IC-AoCpkqgAC3C5Z-Dq2um8RWb3K78-v7LA9alPX9_Y4lpYDOtUj8Rt-6ExEPSGmyBYKmGclFJ-4ugqGWtqLvVhLT5AjESkKk
refresh_token: def50200ededbd90f2ab17b07f3f06e88aa1ae7f7185931f2eecd24c49003aa823c7682795ca2b067c84a80e8778ea541aac1c92f8b1ec4976cb34a7ea5ef131281c530157fc752b78b76e4329e23a18bb9af4f85f670a1e149f68f2e762df1e20327d7888c4191af705227165f50dc281012d7b2c9345a629cf7061af712fd1d988e1454cf9700138c5cc297a40286ff5821d057bec3f4ebb7cbbc71ee8a1a7bbc47bd273ea1822de1ca52571bde28482611a88d8ecd1a2cb0524a583eedfbfc8f923469d196e3b4377aae0aa093c2a4c3a38ce717c20b378f9cc49269615728317a18b4a41fbd84a1e4247991b0629f5ae6990288b16aeed3754ccc2de037b1bba577b855dbdd65ae782aefb86a86326a5bb7d879b9bce919b72b0e1f0db67cc55bb3b90931986385e6ce13557c202f4e30c8d47d7fb5fedb1acef8d50087d595405a94177bf22fec406b5d445925cc57c05a9fd9a3dbda28cfaf07bca507910b520b9a35fc7cf7603b38d745389d9fea79083414a65e305af640f738ad14c01dd05d14e8efe199be8b1cd185a34285dbb21afb3a94072903282dfa05670393d823dc07408f1661c
logged_in_at: '2025-02-10T09:35:44.806157Z'
user:
id: 00000000-0000-4000-8001-000000000002
name: 'Test Admin'
username: admin
email: almaximal+admin@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0002-000000000001
code: 'roles:list'
verb: 'просматривать все роли'
title: 'Просмотр всех ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
token_type:
type: string
example: Bearer
expires_in:
type: integer
example: 120960
access_token:
type: string
example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5ZTE5NmRlMy05MzI0LTQ3YzgtOWJjYS0yN2I2MzNhZjA4YzEiLCJqdGkiOiIyMTllMDQyMjhmYWIxNzc4OTlhNTNlOWNlMjk0Yjc3ODA5YjEyZjkzMDZjNGM5Nzk0YWQ4YTc2MDJiODg4YmJjYzIzM2M0ZWU5NjYxZGFmZSIsImlhdCI6MTczOTE4MDE0NC44MTU5NzIsIm5iZiI6MTczOTE4MDE0NC44MTU5NzQsImV4cCI6MTc0MDM4OTc0NC44MDY2MTksInN1YiI6IjAwMDAwMDAwLTAwMDAtNDAwMC04MDAxLTAwMDAwMDAwMDAwMiIsInNjb3BlcyI6W119.ilMKDdtK8-K4lItpPPRpGNSCxrczHMvlD2gmU_KD8lQFgJp0eL9Jql11O7j5xuY0mOnrTEWGncbDCNtBShLsU7jhlBdQ6r9nfwUJhazGBymaJh_zk2X0I400mFGXuSLqzUo4TnDjRpc3Lx9mYprqFGJ6LqiFfX9jfxsqelqL2EHrDIOhWUrEIZDmPvkS7IWonxMMHhy-M8vpGtfXkOvYeKSzj1liGG_96HkjRqRAC9B36brC_AgYfQ4Lo1RAgkJnWDrsZNg3JhSQmxFAfrnfBlsQq2EnWoW5BSfDQHE1yHQ4n5BHFhigkFjnU_7Q_kXrBHhALPXW9nroztv_U62fS1LFachXLEJx215cYtt_u_Tpjs0WTAR-P1sOqa3l8i0YhLc3fQYr_48GlHoXvjFk6h7Hh6jJhGP9x-qPp-UyxmTCjFLlPslfrevOwOfRi7i2Z4fLUGezwr-LXDEn0dStBfuQl9E6j8gaGm84xu06spMPZF-zNHQDnrB_tJuF2-05FRSRa9jXjakqncXRIuHulZBXsJK-K2-jLvAUghAWr_2lTmhmYvpKpo7pykRk2-KRV8p4Ic-YD1IC-AoCpkqgAC3C5Z-Dq2um8RWb3K78-v7LA9alPX9_Y4lpYDOtUj8Rt-6ExEPSGmyBYKmGclFJ-4ugqGWtqLvVhLT5AjESkKk
refresh_token:
type: string
example: def50200ededbd90f2ab17b07f3f06e88aa1ae7f7185931f2eecd24c49003aa823c7682795ca2b067c84a80e8778ea541aac1c92f8b1ec4976cb34a7ea5ef131281c530157fc752b78b76e4329e23a18bb9af4f85f670a1e149f68f2e762df1e20327d7888c4191af705227165f50dc281012d7b2c9345a629cf7061af712fd1d988e1454cf9700138c5cc297a40286ff5821d057bec3f4ebb7cbbc71ee8a1a7bbc47bd273ea1822de1ca52571bde28482611a88d8ecd1a2cb0524a583eedfbfc8f923469d196e3b4377aae0aa093c2a4c3a38ce717c20b378f9cc49269615728317a18b4a41fbd84a1e4247991b0629f5ae6990288b16aeed3754ccc2de037b1bba577b855dbdd65ae782aefb86a86326a5bb7d879b9bce919b72b0e1f0db67cc55bb3b90931986385e6ce13557c202f4e30c8d47d7fb5fedb1acef8d50087d595405a94177bf22fec406b5d445925cc57c05a9fd9a3dbda28cfaf07bca507910b520b9a35fc7cf7603b38d745389d9fea79083414a65e305af640f738ad14c01dd05d14e8efe199be8b1cd185a34285dbb21afb3a94072903282dfa05670393d823dc07408f1661c
logged_in_at:
type: string
example: '2025-02-10T09:35:44.806157Z'
user:
type: object
properties:
id:
type: string
example: 00000000-0000-4000-8001-000000000002
name:
type: string
example: 'Test Admin'
username:
type: string
example: admin
email:
type: string
example: almaximal+admin@ya.ru
phone:
type: string
example: null
email_verified_at:
type: string
example: null
deleted_at:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
roles:
type: array
example:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0002-000000000001
code: 'roles:list'
verb: 'просматривать все роли'
title: 'Просмотр всех ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 9e257a75-2de3-4607-99db-91cf7c73850f
code:
type: string
example: admin
name:
type: string
example: Админ
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0002-000000000001
code: 'roles:list'
verb: 'просматривать все роли'
title: 'Просмотр всех ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0002-000000000001
code:
type: string
example: 'roles:list'
verb:
type: string
example: 'просматривать все роли'
title:
type: string
example: 'Просмотр всех ролей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated
properties:
message:
type: string
example: Unauthenticated
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
username:
type: string
description: ''
example: tempore
nullable: false
password:
type: string
description: ''
example: 'tq=mFxZO,'
nullable: false
required:
- username
- password
security: []
/api/v1/auth/refresh:
post:
summary: 'Обновление токена'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
token_type: Bearer
expires_in: 120960
access_token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5ZTE5NmRlMy05MzI0LTQ3YzgtOWJjYS0yN2I2MzNhZjA4YzEiLCJqdGkiOiI3MjAxNDMxZDEzZmMxNGRhYjA0NjY2NjI2NDgxZTA0MzVkOTA3ZDg1OTA5Nzk0MTBlYTA5N2VkYWFlNTg4M2E5YmU1YjRiYjU4MTI5NDU2OSIsImlhdCI6MTczOTE4MDU0Mi4zNDg3LCJuYmYiOjE3MzkxODA1NDIuMzQ4NzAyLCJleHAiOjE3NDAzOTAxNDIuMzQxNjAzLCJzdWIiOiIwMDAwMDAwMC0wMDAwLTQwMDAtODAwMS0wMDAwMDAwMDAwMDIiLCJzY29wZXMiOltdfQ.u7mqxZI343AWM1iEZwJ-i7PMsdUKT162z6HurihK_4nPAusQa14JmAnZg9_k2MukvyYf9xjdZPKM37MyvXEcFpJUlq61JQ-pB8D955dDJ7XEkeWuEnPODnhZYS56X-Xxa6Ut1E-7r-D5J2VX5TLi59Zs8ZWJ96kvsDysU21O93Wo0jht7KoJ-M33mZYZgvbyVXcnc1MS8JEGGXQaSAMe9z9XqPWYGLT3PDM-9mvdBRJBaBC2m__bYl01MF-IySznP4e13pAm7yDhuCpNkvg9Z30G7D0fPYZCF08oZ9sXJvFKzV_6fyz4IpIsteTmNuQ1g1cDAVHGg0upMMTulKBPap0a2IdHT8UGLig6MXxAka4ECUCV7ILXAq1IBXNrnWQ0k1YqwPPmsSoGYu80m9l2VJd6NmDMkVMeqdllvlIYh2diRe6tRkcvH0yGbwl2OAnDedAHMIYJwWbhXsxjB_Pd1_dSb1mR29lOCWtbN2TVksProHxTbhGv2qjNv3N1UgO8XuyC2N1HHjiq1L6ijpoFT58BK-yh_C5JfCpCzXb-c8n5HZnUln_Nhmn-MxT_CZ3KAmeHdiHlaINhacUj6_JimCE0EOGC0c8XuW_OxvF9MOiLPcKkPC6_Y8DE0q0Fzy1ik42ZGcFiSGaRKSqY6jETfj-WphZonBNgx3IBcUUW54Y
refresh_token: def50200a554a490c59e09811dc700f8f34bc52236c9b316e503fe89c2294c8395912517654fad3600c8ae4850e52f649600846a9d887163f0c5b5df93d1379dc0fbd4dd0636a3b83dfb9a2b897c06bc0a882f67837e3d425d272ef8e4c32f68e53ab39ba503802b05b0e37a6cf084200213c02faa559ecc03316d09777658bd69919dcb8e5a332a8e0e94ddd4b26673d5d11c2ac5871c9d618667299129ed9dbbec8621b5eca62e40a7e5ec5029094d68b53094bed74c9c3977577be4d147059a110a27b0e22d580e677897ce1131d8cae2353c7dad9694bcd77daf62db3ad378632870d2363ffc6d3001590cb190b9a157a7d960a28791055f3f7d4276228985c8cad79820ab0afa6eb1632d8555303d22f2a4a89d50a0dbc18f682de5ace934560a2d271a1b97d9ef40fd74dd84cba686e3bbb31d943fe93fc41847059942ef9d5b685e458b0e936557aceb8c1f46a18f10f6837413cba6fddc89572e7ec0ceccfe5f3a97f3d7a5c7ba66ebf64371c4b222dbb4e63191e9388fc497681ce071fc2bb156ac9bbad29b99e9628cb07139059d411e7b69c1b111e6629cfab9a25b0633ac44bd030c62
properties:
token_type:
type: string
example: Bearer
expires_in:
type: integer
example: 120960
access_token:
type: string
example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5ZTE5NmRlMy05MzI0LTQ3YzgtOWJjYS0yN2I2MzNhZjA4YzEiLCJqdGkiOiI3MjAxNDMxZDEzZmMxNGRhYjA0NjY2NjI2NDgxZTA0MzVkOTA3ZDg1OTA5Nzk0MTBlYTA5N2VkYWFlNTg4M2E5YmU1YjRiYjU4MTI5NDU2OSIsImlhdCI6MTczOTE4MDU0Mi4zNDg3LCJuYmYiOjE3MzkxODA1NDIuMzQ4NzAyLCJleHAiOjE3NDAzOTAxNDIuMzQxNjAzLCJzdWIiOiIwMDAwMDAwMC0wMDAwLTQwMDAtODAwMS0wMDAwMDAwMDAwMDIiLCJzY29wZXMiOltdfQ.u7mqxZI343AWM1iEZwJ-i7PMsdUKT162z6HurihK_4nPAusQa14JmAnZg9_k2MukvyYf9xjdZPKM37MyvXEcFpJUlq61JQ-pB8D955dDJ7XEkeWuEnPODnhZYS56X-Xxa6Ut1E-7r-D5J2VX5TLi59Zs8ZWJ96kvsDysU21O93Wo0jht7KoJ-M33mZYZgvbyVXcnc1MS8JEGGXQaSAMe9z9XqPWYGLT3PDM-9mvdBRJBaBC2m__bYl01MF-IySznP4e13pAm7yDhuCpNkvg9Z30G7D0fPYZCF08oZ9sXJvFKzV_6fyz4IpIsteTmNuQ1g1cDAVHGg0upMMTulKBPap0a2IdHT8UGLig6MXxAka4ECUCV7ILXAq1IBXNrnWQ0k1YqwPPmsSoGYu80m9l2VJd6NmDMkVMeqdllvlIYh2diRe6tRkcvH0yGbwl2OAnDedAHMIYJwWbhXsxjB_Pd1_dSb1mR29lOCWtbN2TVksProHxTbhGv2qjNv3N1UgO8XuyC2N1HHjiq1L6ijpoFT58BK-yh_C5JfCpCzXb-c8n5HZnUln_Nhmn-MxT_CZ3KAmeHdiHlaINhacUj6_JimCE0EOGC0c8XuW_OxvF9MOiLPcKkPC6_Y8DE0q0Fzy1ik42ZGcFiSGaRKSqY6jETfj-WphZonBNgx3IBcUUW54Y
refresh_token:
type: string
example: def50200a554a490c59e09811dc700f8f34bc52236c9b316e503fe89c2294c8395912517654fad3600c8ae4850e52f649600846a9d887163f0c5b5df93d1379dc0fbd4dd0636a3b83dfb9a2b897c06bc0a882f67837e3d425d272ef8e4c32f68e53ab39ba503802b05b0e37a6cf084200213c02faa559ecc03316d09777658bd69919dcb8e5a332a8e0e94ddd4b26673d5d11c2ac5871c9d618667299129ed9dbbec8621b5eca62e40a7e5ec5029094d68b53094bed74c9c3977577be4d147059a110a27b0e22d580e677897ce1131d8cae2353c7dad9694bcd77daf62db3ad378632870d2363ffc6d3001590cb190b9a157a7d960a28791055f3f7d4276228985c8cad79820ab0afa6eb1632d8555303d22f2a4a89d50a0dbc18f682de5ace934560a2d271a1b97d9ef40fd74dd84cba686e3bbb31d943fe93fc41847059942ef9d5b685e458b0e936557aceb8c1f46a18f10f6837413cba6fddc89572e7ec0ceccfe5f3a97f3d7a5c7ba66ebf64371c4b222dbb4e63191e9388fc497681ce071fc2bb156ac9bbad29b99e9628cb07139059d411e7b69c1b111e6629cfab9a25b0633ac44bd030c62
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
refresh_token:
type: string
description: ''
example: ut
nullable: false
required:
- refresh_token
security: []
/api/v1/check-auth:
get:
summary: 'Проверка авторизации пользователя'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: true
properties:
data:
type: boolean
example: true
tags:
- 'User API'
/api/v1/users:
post:
summary: 'Создать пользователя'
operationId: ''
description: ''
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-4000-8001-000000000006
name: 'Test Executor 3'
username: executor3
email: almaximal+executor3@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
properties:
id:
type: string
example: 00000000-0000-4000-8001-000000000006
name:
type: string
example: 'Test Executor 3'
username:
type: string
example: executor3
email:
type: string
example: almaximal+executor3@ya.ru
phone:
type: string
example: null
email_verified_at:
type: string
example: null
deleted_at:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
roles:
type: array
example:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-1c86-468e-b95c-c4b557cbf440
code:
type: string
example: executor
name:
type: string
example: Исполнитель
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: users:create'
properties:
message:
type: string
example: 'User does not have any of permissions: users:create'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: tgtpfcz
nullable: false
username:
type: string
description: 'Количество символов в поле value должно быть не меньше 4. Количество символов в значении поля value не может превышать 50.'
example: fzpmaqkinyhaxolhemgidxhns
nullable: false
password:
type: string
description: 'Количество символов в поле value должно быть не меньше 5.'
example: '3"T$spv{uEzK/QRtR['
nullable: true
phone:
type: string
description: 'Количество символов в поле value должно быть от 10 до 11.'
example: '1494540366'
nullable: true
email:
type: string
description: 'Значение поля value должно быть действительным электронным адресом.'
example: ilene08@example.net
nullable: true
roles:
type: array
description: 'The code of an existing record in the roles table.'
example:
- aliquam
items:
type: string
required:
- name
- username
- roles
get:
summary: 'Получить список пользователей'
operationId: ''
description: ''
parameters:
-
in: query
name: role
description: 'Код роли, в которой искать пользователя (код полностью).'
example: null
required: false
schema:
type: string
description: 'Код роли, в которой искать пользователя (код полностью).'
example: null
nullable: false
-
in: query
name: name
description: 'Отфильтровать имя или юзернейм (подстрока).'
example: null
required: false
schema:
type: string
description: 'Отфильтровать имя или юзернейм (подстрока).'
example: null
nullable: false
-
in: query
name: permission
description: 'Отфильтровать по доступу (user:auth, roles:list).'
example: null
required: false
schema:
type: string
description: 'Отфильтровать по доступу (user:auth, roles:list).'
example: null
nullable: false
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
nullable: false
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
current_page: 1
data:
-
id: 00000000-0000-4000-8001-000000000002
name: 'Test Admin'
username: admin
email: almaximal+admin@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 00000000-0000-4000-8001-000000000003
name: 'Test Employee'
username: employee
email: almaximal+employee@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 00000000-0000-4000-8001-000000000004
name: 'Test Executor 1'
username: executor1
email: almaximal+executor1@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
first_page_url: 'http://app_users:8080/api/v1/users?page=1'
from: 1
last_page: 1
last_page_url: 'http://app_users:8080/api/v1/users?page=1'
links:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/users?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
next_page_url: null
path: 'http://app_users:8080/api/v1/users'
per_page: 50
prev_page_url: null
to: 3
total: 3
properties:
current_page:
type: integer
example: 1
data:
type: array
example:
-
id: 00000000-0000-4000-8001-000000000002
name: 'Test Admin'
username: admin
email: almaximal+admin@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 00000000-0000-4000-8001-000000000003
name: 'Test Employee'
username: employee
email: almaximal+employee@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 00000000-0000-4000-8001-000000000004
name: 'Test Executor 1'
username: executor1
email: almaximal+executor1@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 00000000-0000-4000-8001-000000000002
name:
type: string
example: 'Test Admin'
username:
type: string
example: admin
email:
type: string
example: almaximal+admin@ya.ru
phone:
type: string
example: null
email_verified_at:
type: string
example: null
deleted_at:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
roles:
type: array
example:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-2de3-4607-99db-91cf7c73850f
code:
type: string
example: admin
name:
type: string
example: Админ
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
first_page_url:
type: string
example: 'http://app_users:8080/api/v1/users?page=1'
from:
type: integer
example: 1
last_page:
type: integer
example: 1
last_page_url:
type: string
example: 'http://app_users:8080/api/v1/users?page=1'
links:
type: array
example:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/users?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Назад'
active:
type: boolean
example: false
next_page_url:
type: string
example: null
path:
type: string
example: 'http://app_users:8080/api/v1/users'
per_page:
type: integer
example: 50
prev_page_url:
type: string
example: null
to:
type: integer
example: 3
total:
type: integer
example: 3
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: users:list'
properties:
message:
type: string
example: 'User does not have any of permissions: users:list'
tags:
- 'User API'
/api/v1/users/bulk-read:
post:
summary: 'Получить информацию по нескольким пользователям'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 00000000-0000-4000-8001-000000000011
name: 'Test Admin 2'
username: admintest2
email: almaximal+admin2@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 00000000-0000-4000-8001-000000000002
name: 'Test Admin'
username: admin
email: almaximal+admin@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: users:list'
properties:
message:
type: string
example: 'User does not have any of permissions: users:list'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'Значение поля value должно быть корректным UUID.'
example:
- 4310bbb5-1ccf-3612-a1c2-21c39f1e8a14
items:
type: string
required:
- ids
/api/v1/users/current:
get:
summary: 'Получить текущего пользователя'
operationId: ''
description: 'Получить данные о текущем пользователе'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-4000-8001-000000000006
name: 'Test Executor 3'
username: executor3
email: almaximal+executor3@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
properties:
id:
type: string
example: 00000000-0000-4000-8001-000000000006
name:
type: string
example: 'Test Executor 3'
username:
type: string
example: executor3
email:
type: string
example: almaximal+executor3@ya.ru
phone:
type: string
example: null
email_verified_at:
type: string
example: null
deleted_at:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
roles:
type: array
example:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-1c86-468e-b95c-c4b557cbf440
code:
type: string
example: executor
name:
type: string
example: Исполнитель
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
tags:
- 'User API'
/api/v1/users/current/permissions:
get:
summary: 'Получить разрешения текущего пользователя'
operationId: ''
description: 'Получить разрешения пользователя в виде массива кодов'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: string
example:
- 'roles:list'
- 'roles:create'
- 'roles:update'
- 'roles:delete'
- 'roles:assign'
tags:
- 'User API'
'/api/v1/users/{id}':
get:
summary: 'Информация о пользователе'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 00000000-0000-4000-8001-000000000006
name: 'Test Executor 3'
username: executor3
email: almaximal+executor3@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: users:get'
properties:
message:
type: string
example: 'User does not have any of permissions: users:get'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'User not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
put:
summary: 'Обновить пользователя'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-4000-8001-000000000006
name: 'Test Executor 3'
username: executor3
email: almaximal+executor3@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
properties:
id:
type: string
example: 00000000-0000-4000-8001-000000000006
name:
type: string
example: 'Test Executor 3'
username:
type: string
example: executor3
email:
type: string
example: almaximal+executor3@ya.ru
phone:
type: string
example: null
email_verified_at:
type: string
example: null
deleted_at:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
roles:
type: array
example:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-1c86-468e-b95c-c4b557cbf440
code:
type: string
example: executor
name:
type: string
example: Исполнитель
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: users:update'
properties:
message:
type: string
example: 'User does not have any of permissions: users:update'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'User not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: xtykqghvbnvsbeais
nullable: false
username:
type: string
description: 'Количество символов в поле value должно быть не меньше 4. Количество символов в значении поля value не может превышать 50.'
example: egmmjdsxfjjvljl
nullable: false
password:
type: string
description: 'Количество символов в поле value должно быть не меньше 5.'
example: '2,@Q|:'
nullable: true
phone:
type: string
description: 'Количество символов в поле value должно быть от 10 до 11.'
example: '8653199207'
nullable: true
email:
type: string
description: 'Значение поля value должно быть действительным электронным адресом.'
example: hipolito.rolfson@example.net
nullable: true
roles:
type: array
description: 'The code of an existing record in the roles table.'
example:
- quia
items:
type: string
required:
- name
- username
- roles
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: ca40ffe7-bbaa-3f3a-8f6f-25f25ebcdfb3
required: true
schema:
type: uuid
'/api/v1/users/{id}/roles':
put:
summary: 'Назначить роли'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-4000-8001-000000000006
name: 'Test Executor 3'
username: executor3
email: almaximal+executor3@ya.ru
phone: null
email_verified_at: null
deleted_at: null
created_at: '2025-02-06T10:34:15.000000Z'
updated_at: '2025-02-06T10:34:15.000000Z'
roles:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
properties:
id:
type: string
example: 00000000-0000-4000-8001-000000000006
name:
type: string
example: 'Test Executor 3'
username:
type: string
example: executor3
email:
type: string
example: almaximal+executor3@ya.ru
phone:
type: string
example: null
email_verified_at:
type: string
example: null
deleted_at:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:15.000000Z'
roles:
type: array
example:
-
id: 9e257a75-1c86-468e-b95c-c4b557cbf440
code: executor
name: Исполнитель
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-1c86-468e-b95c-c4b557cbf440
code:
type: string
example: executor
name:
type: string
example: Исполнитель
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: users:update'
properties:
message:
type: string
example: 'User does not have any of permissions: users:update'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'User not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
roles:
type: array
description: 'Must match the regex /^[a-z0-9_:*]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 32.'
example:
- mjgsjret
items:
type: string
required:
- roles
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 6add1290-64ff-3ab7-8a1e-0310171b19ca
required: true
schema:
type: uuid
/api/v1/roles:
get:
summary: 'Получить список всех ролей'
operationId: ''
description: ''
parameters:
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
nullable: false
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
current_page: 1
data:
-
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
first_page_url: 'http://app_users:8080/api/v1/roles?page=1'
from: 1
last_page: 1
last_page_url: 'http://app_users:8080/api/v1/roles?page=1'
links:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/roles?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
next_page_url: null
path: 'http://app_users:8080/api/v1/roles'
per_page: 50
prev_page_url: null
to: 2
total: 2
properties:
current_page:
type: integer
example: 1
data:
type: array
example:
-
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
first_page_url:
type: string
example: 'http://app_users:8080/api/v1/roles?page=1'
from:
type: integer
example: 1
last_page:
type: integer
example: 1
last_page_url:
type: string
example: 'http://app_users:8080/api/v1/roles?page=1'
links:
type: array
example:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/roles?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Назад'
active:
type: boolean
example: false
next_page_url:
type: string
example: null
path:
type: string
example: 'http://app_users:8080/api/v1/roles'
per_page:
type: integer
example: 50
prev_page_url:
type: string
example: null
to:
type: integer
example: 2
total:
type: integer
example: 2
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: roles:list'
properties:
message:
type: string
example: 'User does not have any of permissions: roles:list'
tags:
- 'User API'
post:
summary: 'Создать роль'
operationId: ''
description: ''
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0004-000000000001
code:
type: string
example: 'users:list'
verb:
type: string
example: 'просматривать всех пользователей'
title:
type: string
example: 'Просмотр всех пользователей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: roles:create'
properties:
message:
type: string
example: 'User does not have any of permissions: roles:create'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Must match the regex /^[a-z0-9_:*]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 32.'
example: pypldtwcyvpqx
nullable: false
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: sebyhq
nullable: false
params:
type: object
description: ''
example: null
nullable: true
properties: { }
notes:
type: string
description: 'Количество символов в значении поля value не может превышать 500.'
example: igxfjbgdueggyyylcrkzqiu
nullable: true
permissions:
type: array
description: 'Must match the regex /^[a-z0-9_:*-]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 100.'
example:
- clrxsknzqiagb
items:
type: string
required:
- code
- name
- permissions
'/api/v1/roles/{id}':
get:
summary: 'Получить информацию о роли'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0004-000000000001
code:
type: string
example: 'users:list'
verb:
type: string
example: 'просматривать всех пользователей'
title:
type: string
example: 'Просмотр всех пользователей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: roles:list'
properties:
message:
type: string
example: 'User does not have any of permissions: roles:list'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Role not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Role not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
put:
summary: 'Обновить роль'
operationId: ''
description: 'Нельзя обновить системные роли: `root`, `auth`.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0004-000000000001
code:
type: string
example: 'users:list'
verb:
type: string
example: 'просматривать всех пользователей'
title:
type: string
example: 'Просмотр всех пользователей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: roles:update'
properties:
message:
type: string
example: 'User does not have any of permissions: roles:update'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Role not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Role not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Must match the regex /^[a-z0-9_:*]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 32.'
example: oeb
nullable: false
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: oehaudijcahomwjosi
nullable: false
params:
type: object
description: ''
example: null
nullable: true
properties: { }
notes:
type: string
description: 'Количество символов в значении поля value не может превышать 500.'
example: ihtzcidacpsqvebrq
nullable: true
permissions:
type: array
description: 'Must match the regex /^[a-z0-9_:*-]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 100.'
example:
- tfhjxnmmpttbnvpmtcd
items:
type: string
required:
- code
- name
- permissions
delete:
summary: 'Удалить роль'
operationId: ''
description: 'Нельзя удалить системные роли: `root`, `auth`.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: true
properties:
data:
type: boolean
example: true
403:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'User does not have any of permissions: roles:delete'
properties:
message:
type: string
example: 'User does not have any of permissions: roles:delete'
-
description: ''
type: object
example:
message: 'System role cannot be deleted.'
properties:
message:
type: string
example: 'System role cannot be deleted.'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Role not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Role not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 05ec63e3-d72b-3710-a1e8-21c1c98856b0
required: true
schema:
type: uuid
/api/v1/permissions:
get:
summary: 'Получить список всех разрешений'
operationId: ''
description: 'Массив объектов разрешений.'
parameters:
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
nullable: false
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
current_page: 1
data:
-
id: 00000000-0000-0000-0002-000000000001
code: 'roles:list'
verb: 'просматривать все роли'
title: 'Просмотр всех ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0002-000000000002
code: 'roles:create'
verb: 'создавать роли'
title: 'Создание ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0002-000000000003
code: 'roles:update'
verb: 'обновлять роли'
title: 'Обновление ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0002-000000000004
code: 'roles:delete'
verb: 'удалять роли'
title: 'Удаление ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
first_page_url: 'http://app_users:8080/api/v1/permissions?page=1'
from: 1
last_page: 4
last_page_url: 'http://app_users:8080/api/v1/permissions?page=4'
links:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=1'
label: '1'
active: true
-
url: 'http://app_users:8080/api/v1/permissions?page=2'
label: '2'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=3'
label: '3'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=4'
label: '4'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=2'
label: 'Вперёд »'
active: false
next_page_url: 'http://app_users:8080/api/v1/permissions?page=2'
path: 'http://app_users:8080/api/v1/permissions'
per_page: 50
prev_page_url: null
to: 50
total: 160
properties:
current_page:
type: integer
example: 1
data:
type: array
example:
-
id: 00000000-0000-0000-0002-000000000001
code: 'roles:list'
verb: 'просматривать все роли'
title: 'Просмотр всех ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0002-000000000002
code: 'roles:create'
verb: 'создавать роли'
title: 'Создание ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0002-000000000003
code: 'roles:update'
verb: 'обновлять роли'
title: 'Обновление ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0002-000000000004
code: 'roles:delete'
verb: 'удалять роли'
title: 'Удаление ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0002-000000000001
code:
type: string
example: 'roles:list'
verb:
type: string
example: 'просматривать все роли'
title:
type: string
example: 'Просмотр всех ролей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
first_page_url:
type: string
example: 'http://app_users:8080/api/v1/permissions?page=1'
from:
type: integer
example: 1
last_page:
type: integer
example: 4
last_page_url:
type: string
example: 'http://app_users:8080/api/v1/permissions?page=4'
links:
type: array
example:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=1'
label: '1'
active: true
-
url: 'http://app_users:8080/api/v1/permissions?page=2'
label: '2'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=3'
label: '3'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=4'
label: '4'
active: false
-
url: 'http://app_users:8080/api/v1/permissions?page=2'
label: 'Вперёд »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Назад'
active:
type: boolean
example: false
next_page_url:
type: string
example: 'http://app_users:8080/api/v1/permissions?page=2'
path:
type: string
example: 'http://app_users:8080/api/v1/permissions'
per_page:
type: integer
example: 50
prev_page_url:
type: string
example: null
to:
type: integer
example: 50
total:
type: integer
example: 160
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: permissions:list'
properties:
message:
type: string
example: 'User does not have any of permissions: permissions:list'
tags:
- 'User API'
post:
summary: 'Создать разрешение'
operationId: ''
description: ''
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-0000-0002-000000054321
code: 'dms:bench:list'
verb: 'просматривать все станки'
title: 'Просмотр всех станков'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 00000000-0000-0000-0002-000000054321
code:
type: string
example: 'dms:bench:list'
verb:
type: string
example: 'просматривать все станки'
title:
type: string
example: 'Просмотр всех станков'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: permissions:create'
properties:
message:
type: string
example: 'User does not have any of permissions: permissions:create'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Must match the regex /^[a-z0-9_:*-]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 100.'
example: wfjupitogsgrruwekfbsft
nullable: false
verb:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 64.'
example: gryiicxsjgueup
nullable: false
title:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: ctfjzjkfqnlmklwedchrsh
nullable: true
params:
type: object
description: ''
example: null
nullable: true
properties: { }
notes:
type: string
description: 'Количество символов в значении поля value не может превышать 500.'
example: znuovkeneqaeihir
nullable: true
required:
- code
- verb
'/api/v1/permissions/{id}':
get:
summary: 'Получить информацию о разрешении'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-0000-0002-000000000001
code: 'roles:list'
verb: 'просматривать все роли'
title: 'Просмотр всех ролей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 00000000-0000-0000-0002-000000000001
code:
type: string
example: 'roles:list'
verb:
type: string
example: 'просматривать все роли'
title:
type: string
example: 'Просмотр всех ролей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User does not have any of permissions: permissions:list'
properties:
message:
type: string
example: 'User does not have any of permissions: permissions:list'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Permission not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
put:
summary: 'Обновить разрешение'
operationId: ''
description: 'Нельзя обновить системные разрешения: `user:`, `users:`, `roles:`, `permissions:`.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 00000000-0000-0000-0002-000000054321
code: 'dms:bench:list'
verb: 'просматривать все станки'
title: 'Просмотр всех станков'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 00000000-0000-0000-0002-000000054321
code:
type: string
example: 'dms:bench:list'
verb:
type: string
example: 'просматривать все станки'
title:
type: string
example: 'Просмотр всех станков'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
403:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'User does not have any of permissions: permissions:update'
properties:
message:
type: string
example: 'User does not have any of permissions: permissions:update'
-
description: ''
type: object
example:
message: 'System role cannot be updated.'
properties:
message:
type: string
example: 'System role cannot be updated.'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Permission not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Must match the regex /^[a-z0-9_:*-]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 100.'
example: mwtigmouynfurpgxwt
nullable: false
verb:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 64.'
example: tjgfoznnlnntcgbr
nullable: false
title:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: hooteviipt
nullable: true
params:
type: object
description: ''
example: null
nullable: true
properties: { }
notes:
type: string
description: 'Количество символов в значении поля value не может превышать 500.'
example: kijilz
nullable: true
required:
- code
- verb
delete:
summary: 'Удалить разрешение'
operationId: ''
description: 'Нельзя удалить системные разрешения: `user:`, `users:`, `roles:`, `permissions:`.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: true
properties:
data:
type: boolean
example: true
403:
description: ''
content:
application/json:
schema:
oneOf:
-
description: ''
type: object
example:
message: 'User does not have any of permissions: permissions:delete'
properties:
message:
type: string
example: 'User does not have any of permissions: permissions:delete'
-
description: ''
type: object
example:
message: 'System role cannot be deleted.'
properties:
message:
type: string
example: 'System role cannot be deleted.'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Permission not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Permission not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'User API'
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 8a039346-877f-3d0c-97ec-92907461f247
required: true
schema:
type: uuid
/api/v1/client/login:
post:
summary: 'Получение ключа клиента'
operationId: ''
description: "`access_token` является JWT.\n Пример payload:\n ```json\n {\n \"aud\": \"9c876e62-6a44-455f-b33d-5dbe72475274\",\n \"jti\": \"8aa424247a29485b66af9670c7e6532b9f85504745bac4e74a653d78d6aaa4e4f9d938e8278fdc64\",\n \"iat\": 1739180144.815972, // issued at time\n \"nbf\": 1739180144.815974,\n \"exp\": 1740389744.806619, // expire time\n \"sub\": \"\", // user_id здесь нет, т.к. это ключ для действий от имени сервиса\n \"scopes\": []\n }\n ```\n\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
token_type: Bearer
expires_in: 1209600
access_token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5Yzg3NmU2Mi02YTQ0LTQ1NWYtYjMzZC01ZGJlNzI0NzUyNzQiLCJqdGkiOiI4YWE0MjQyNDdhMjk0ODViNjZhZjk2NzBjN2U2NTMyYjlmODU1MDQ3NDViYWM0ZTc0YTY1M2Q3OGQ2YWFhNGU0ZjlkOTM4ZTgyNzhmZGM2NCIsImlhdCI6MTczOTE4MzU1MC45NjU0NzQsIm5iZiI6MTczOTE4MzU1MC45NjU0NzYsImV4cCI6MTc0MDM5MzE1MC45NjEwOCwic3ViIjoiIiwic2NvcGVzIjpbXX0.iaxFl4DYXWDJQIlfJrLUSmaJf-OYKCW2sabUU8qWN9rBK0gFZY-sUt_IzlLdbIMWX_faMpxYcuwasVRMjyLGowIYjdyv4YE2hgz83Wa-bnIwtuSHGlgEBQZR6QrSXdGoFZe5v5ThCWJc6WqGsOlgzyXjuZhrFs-eOuW7f5irtV3nLiswbFEMYlBIWgNMqzmZC7g44CoFMuOWDl-BsAricutmN6ko5jE_kMyH95UVHp1RnCeZxkIaaWzVsvc7sxtSAJSfGXy0wfaszzbrH2lRz3OMyL4Zqylk4K4URKF6PMK7fytSBbyg-TTnQLbfTnZBr6PcHCgbRQL0o4S7Bko739MbRbE0mFWnv9kA8bqwHobjL1PP4zE1KXPJB38L60c0YG3xkLXfq-WOLMfwcs80uT8lXI84Lgh_VblPEsF9sfaOH0_J3lHFYcc3nMOdDGNvL9LFwCDU5ehoQpFPEEB6Ky6XAABVCPZ86zTROkJcTKhdf8arKcgkEugmvrrIm3L6OkVVLNTBwSWNNvUouMxZ3jd0wIYG4zHSbzA4g8QXzCuBb_k9T6sZjj4ECE0UBj2n6EH7R73_00ow_5wsRTbObFUJYoqrN02an36mxSPN5I07nOEJC1PWpoTA7mlOeREM4ug3J0i11g7wMuC1iNIqEYJZCxR01Vk2hr0j8ORUwNc
properties:
token_type:
type: string
example: Bearer
expires_in:
type: integer
example: 1209600
access_token:
type: string
example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5Yzg3NmU2Mi02YTQ0LTQ1NWYtYjMzZC01ZGJlNzI0NzUyNzQiLCJqdGkiOiI4YWE0MjQyNDdhMjk0ODViNjZhZjk2NzBjN2U2NTMyYjlmODU1MDQ3NDViYWM0ZTc0YTY1M2Q3OGQ2YWFhNGU0ZjlkOTM4ZTgyNzhmZGM2NCIsImlhdCI6MTczOTE4MzU1MC45NjU0NzQsIm5iZiI6MTczOTE4MzU1MC45NjU0NzYsImV4cCI6MTc0MDM5MzE1MC45NjEwOCwic3ViIjoiIiwic2NvcGVzIjpbXX0.iaxFl4DYXWDJQIlfJrLUSmaJf-OYKCW2sabUU8qWN9rBK0gFZY-sUt_IzlLdbIMWX_faMpxYcuwasVRMjyLGowIYjdyv4YE2hgz83Wa-bnIwtuSHGlgEBQZR6QrSXdGoFZe5v5ThCWJc6WqGsOlgzyXjuZhrFs-eOuW7f5irtV3nLiswbFEMYlBIWgNMqzmZC7g44CoFMuOWDl-BsAricutmN6ko5jE_kMyH95UVHp1RnCeZxkIaaWzVsvc7sxtSAJSfGXy0wfaszzbrH2lRz3OMyL4Zqylk4K4URKF6PMK7fytSBbyg-TTnQLbfTnZBr6PcHCgbRQL0o4S7Bko739MbRbE0mFWnv9kA8bqwHobjL1PP4zE1KXPJB38L60c0YG3xkLXfq-WOLMfwcs80uT8lXI84Lgh_VblPEsF9sfaOH0_J3lHFYcc3nMOdDGNvL9LFwCDU5ehoQpFPEEB6Ky6XAABVCPZ86zTROkJcTKhdf8arKcgkEugmvrrIm3L6OkVVLNTBwSWNNvUouMxZ3jd0wIYG4zHSbzA4g8QXzCuBb_k9T6sZjj4ECE0UBj2n6EH7R73_00ow_5wsRTbObFUJYoqrN02an36mxSPN5I07nOEJC1PWpoTA7mlOeREM4ug3J0i11g7wMuC1iNIqEYJZCxR01Vk2hr0j8ORUwNc
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Bad Credentials.'
properties:
message:
type: string
example: 'Bad Credentials.'
tags:
- 'Client API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
client_id:
type: string
description: 'Значение поля value должно быть корректным UUID.'
example: 241b7515-1175-3f66-97e8-7b2d3629af1f
nullable: false
client_secret:
type: string
description: 'Количество символов в значении поля value не может превышать 255.'
example: weepuxgznnw
nullable: false
required:
- client_id
- client_secret
security: []
/api/v1/client/check-auth:
get:
summary: 'Проверка авторизации клиента'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: true
properties:
data:
type: boolean
example: true
tags:
- 'Client API'
/api/v1/client/users:
post:
summary: 'Создать пользователя'
operationId: ''
description: ''
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 9e2d965e-2663-43d8-8316-c585f98d8748
name: lcezdywovqahbotk
username: mmhqxvvejbcgzvohwghbv
email: lexie38@example.org
phone: '7437899606'
email_verified_at: null
deleted_at: null
created_at: '2025-02-10T11:18:54.000000Z'
updated_at: '2025-02-10T11:18:54.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
tags:
- 'Client API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: ch
nullable: false
username:
type: string
description: 'Количество символов в поле value должно быть не меньше 4. Количество символов в значении поля value не может превышать 50.'
example: rizuxfvsctcfgd
nullable: false
password:
type: string
description: 'Количество символов в поле value должно быть не меньше 5.'
example: "j:'`zWAfI4f"
nullable: true
password_hash:
type: string
description: 'Количество символов в поле value должно быть не меньше 5.'
example: xwoiomobgavpciemchftpzjdhtkoucvyvybkhrpssykqkxfgirjdswdxdlwzprachzksbutbhapstkksvvltpcux
nullable: true
phone:
type: string
description: 'Количество символов в поле value должно быть от 10 до 11.'
example: '11840201796'
nullable: true
email:
type: string
description: 'Значение поля value должно быть действительным электронным адресом.'
example: laura.auer@example.net
nullable: true
roles:
type: array
description: 'The code of an existing record in the roles table.'
example:
- reiciendis
items:
type: string
required:
- name
- username
- roles
get:
summary: 'Получить список пользователей'
operationId: ''
description: "Получить список пользователей с возможностью фильтрации по времени обновления данных.\nПолезно для синхронизации обновлений данных пользователей от других сервисов."
parameters:
-
in: query
name: updated_after_timestamp
description: 'Unix timestamp. Если задано - вернуться пользователи с временем обновления после этого значения. Значение поля value должно быть не меньше 1.'
example: null
required: false
schema:
type: integer
description: 'Unix timestamp. Если задано - вернуться пользователи с временем обновления после этого значения. Значение поля value должно быть не меньше 1.'
example: null
nullable: true
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
nullable: false
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
nullable: false
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- 'Client API'
'/api/v1/client/users/{id}':
get:
summary: 'Информация о пользователе'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 9e2d965e-2663-43d8-8316-c585f98d8748
name: lcezdywovqahbotk
username: mmhqxvvejbcgzvohwghbv
email: lexie38@example.org
phone: '7437899606'
email_verified_at: null
deleted_at: null
created_at: '2025-02-10T11:18:54.000000Z'
updated_at: '2025-02-10T11:18:54.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'User not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'Client API'
put:
summary: 'Обновить пользователя'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: object
example:
-
id: 9e2d965e-2663-43d8-8316-c585f98d8748
name: lcezdywovqahbotk
username: mmhqxvvejbcgzvohwghbv
email: lexie38@example.org
phone: '7437899606'
email_verified_at: null
deleted_at: null
created_at: '2025-02-10T11:18:54.000000Z'
updated_at: '2025-02-10T11:18:54.000000Z'
roles:
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'User not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'Client API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: aeanwtygw
nullable: false
username:
type: string
description: 'Количество символов в поле value должно быть не меньше 4. Количество символов в значении поля value не может превышать 50.'
example: labjuljotggfireywacfoj
nullable: false
password:
type: string
description: 'Количество символов в поле value должно быть не меньше 5.'
example: ':KNFqy^#*2e(_xJkf:Wv'
nullable: true
password_hash:
type: string
description: 'Количество символов в поле value должно быть не меньше 5.'
example: cfaonfycprplvomlghwnxykdbdigpqvztnodpyuhwmraptwdqwngzrjpjoaiqtnmrgdqxjpofd
nullable: true
phone:
type: string
description: 'Количество символов в поле value должно быть от 10 до 11.'
example: '46527938053'
nullable: true
email:
type: string
description: 'Значение поля value должно быть действительным электронным адресом.'
example: gbogisich@example.org
nullable: true
roles:
type: array
description: 'The code of an existing record in the roles table.'
example:
- sequi
items:
type: string
required:
- name
- username
- roles
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 9e0046c2-d3ff-3a25-8339-e0b58deaa5da
required: true
schema:
type: uuid
'/api/v1/client/users/{id}/permissions':
get:
summary: Разрешения
operationId: ''
description: 'Получить разрешения пользователя в виде массива кодов'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: array
items:
type: string
example:
- 'roles:list'
- 'roles:create'
- 'roles:update'
- 'roles:delete'
- 'roles:assign'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'User not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'User not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'Client API'
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 774c3502-7cc5-35e7-9444-93eeea05b38d
required: true
schema:
type: uuid
/api/v1/client/roles:
get:
summary: 'Получить список всех ролей'
operationId: ''
description: ''
parameters:
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
nullable: false
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
current_page: 1
data:
-
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
first_page_url: 'http://app_users:8080/api/v1/roles?page=1'
from: 1
last_page: 1
last_page_url: 'http://app_users:8080/api/v1/roles?page=1'
links:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/roles?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
next_page_url: null
path: 'http://app_users:8080/api/v1/roles'
per_page: 50
prev_page_url: null
to: 2
total: 2
properties:
current_page:
type: integer
example: 1
data:
type: array
example:
-
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
-
id: 9e257a75-2de3-4607-99db-91cf7c73850f
code: admin
name: Админ
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
items:
type: object
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
first_page_url:
type: string
example: 'http://app_users:8080/api/v1/roles?page=1'
from:
type: integer
example: 1
last_page:
type: integer
example: 1
last_page_url:
type: string
example: 'http://app_users:8080/api/v1/roles?page=1'
links:
type: array
example:
-
url: null
label: '« Назад'
active: false
-
url: 'http://app_users:8080/api/v1/roles?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Назад'
active:
type: boolean
example: false
next_page_url:
type: string
example: null
path:
type: string
example: 'http://app_users:8080/api/v1/roles'
per_page:
type: integer
example: 50
prev_page_url:
type: string
example: null
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- 'Client API'
post:
summary: 'Создать роль'
operationId: ''
description: ''
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0004-000000000001
code:
type: string
example: 'users:list'
verb:
type: string
example: 'просматривать всех пользователей'
title:
type: string
example: 'Просмотр всех пользователей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
tags:
- 'Client API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Must match the regex /^[a-z0-9_:*]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 32.'
example: ujruerzlnrr
nullable: false
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: sjeqyfmkdtaindwfur
nullable: false
params:
type: object
description: ''
example: null
nullable: true
properties: { }
notes:
type: string
description: 'Количество символов в значении поля value не может превышать 500.'
example: cgpzasjbtugy
nullable: true
permissions:
type: array
description: 'Must match the regex /^[a-z0-9_:*-]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 100.'
example:
- yxtulvrzhjcgvtym
items:
type: string
required:
- code
- name
- permissions
'/api/v1/client/roles/{id}':
get:
summary: 'Получить информацию о роли'
operationId: ''
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0004-000000000001
code:
type: string
example: 'users:list'
verb:
type: string
example: 'просматривать всех пользователей'
title:
type: string
example: 'Просмотр всех пользователей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Role not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Role not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'Client API'
put:
summary: 'Обновить роль'
operationId: ''
description: 'Нельзя обновить системные роли: `root`, `auth`.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 9e257a75-2853-40be-9934-9de8f10d524f
code: master
name: Мастер
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: '2025-02-06T10:34:14.000000Z'
permissions:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
properties:
id:
type: string
example: 9e257a75-2853-40be-9934-9de8f10d524f
code:
type: string
example: master
name:
type: string
example: Мастер
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
permissions:
type: array
example:
-
id: 00000000-0000-0000-0004-000000000001
code: 'users:list'
verb: 'просматривать всех пользователей'
title: 'Просмотр всех пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
-
id: 00000000-0000-0000-0004-000000000002
code: 'users:create'
verb: 'создавать пользователей'
title: 'Создание пользователей'
params: null
notes: null
author_id: null
created_at: '2025-02-06T10:34:14.000000Z'
updated_at: null
items:
type: object
properties:
id:
type: string
example: 00000000-0000-0000-0004-000000000001
code:
type: string
example: 'users:list'
verb:
type: string
example: 'просматривать всех пользователей'
title:
type: string
example: 'Просмотр всех пользователей'
params:
type: string
example: null
notes:
type: string
example: null
author_id:
type: string
example: null
created_at:
type: string
example: '2025-02-06T10:34:14.000000Z'
updated_at:
type: string
example: null
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Role not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Role not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'Client API'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
code:
type: string
description: 'Must match the regex /^[a-z0-9_:*]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 32.'
example: nllubmtjvdpqrps
nullable: false
name:
type: string
description: 'Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 128.'
example: rxjpysyoyuflnvqcq
nullable: false
params:
type: object
description: ''
example: null
nullable: true
properties: { }
notes:
type: string
description: 'Количество символов в значении поля value не может превышать 500.'
example: boprrgzb
nullable: true
permissions:
type: array
description: 'Must match the regex /^[a-z0-9_:*-]+$/. Количество символов в поле value должно быть не меньше 3. Количество символов в значении поля value не может превышать 100.'
example:
- rwk
items:
type: string
required:
- code
- name
- permissions
delete:
summary: 'Удалить роль'
operationId: ''
description: 'Нельзя удалить системные роли: `root`, `auth`.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data: true
properties:
data:
type: boolean
example: true
403:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'System role cannot be deleted.'
properties:
message:
type: string
example: 'System role cannot be deleted.'
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Role not found: #00000000-0000-4000-8001-000000000009'
properties:
message:
type: string
example: 'Role not found: #00000000-0000-4000-8001-000000000009'
tags:
- 'Client API'
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 98ea0013-74c5-3527-9a59-cfaed67356f6
required: true
schema:
type: uuid
tags:
-
name: 'User API'
description: "\nВзаимодействие от имени пользователя"
-
name: 'Client API'
description: "\nВзаимодействие от имени клиента (сервиса)"
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'Вы можете получить токен, выполнив аутентификацию:
Для обычных методов: `api/v1/auth/login`.
Для API клиентов (`api/v1/client/*`): `api/v1/client/login`.'
security:
-
default: []