Braze Catalogs > Catalog Items > Synchronous API
The Catalogs > Catalog Items > Synchronous API from Braze — 2 operation(s) for catalogs > catalog items > synchronous.
The Catalogs > Catalog Items > Synchronous API from Braze — 2 operation(s) for catalogs > catalog items > synchronous.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/braze-catalogs-catalog-items-synchronous-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Braze Catalogs > Catalog Items > Synchronous API
description: The Braze and Radar integration allows you to access sophisticated location-based campaign triggers and user profile enrichment with rich, first-party location data.
version: 1.0.0
servers:
- url: https://rest.iad-01.braze.com
description: REST endpoint for instance US-01
- url: https://rest.iad-01.braze.com
description: REST endpoint for instance US-01
- url: https://rest.iad-02.braze.com
description: REST endpoint for instance US-02
- url: https://rest.iad-03.braze.com
description: REST endpoint for instance US-03
- url: https://rest.iad-04.braze.com
description: REST endpoint for instance US-04
- url: https://rest.iad-05.braze.com
description: REST endpoint for instance US-05
- url: https://rest.iad-06.braze.com
description: REST endpoint for instance US-06
- url: https://rest.iad-08.braze.com
description: REST endpoint for instance US-08
- url: https://rest.fra-01.braze.eu
description: REST endpoint for instance EU-01
- url: https://rest.fra-02.braze.eu
description: REST endpoint for instance EU-02
security:
- BearerAuth: []
tags:
- name: Catalogs > Catalog Items > Synchronous
paths:
/catalogs/{catalog_name}/items:
get:
tags:
- Catalogs > Catalog Items > Synchronous
summary: List Multiple Catalog Item Details
description: '> Use this endpoint to return multiple catalog items and their content.
To use this endpoint, youll need to generate an API key with the `catalogs.get_items` permission.
## Rate limit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
## Path parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `catalog_name` | Required | String | Name of the catalog. |
## Query parameters
Note that each call to this endpoint will return 50 items. For a catalog with more than 50 items, use the `Link` header to retrieve the data on the next page as shown in the following example response.
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `cursor` | Optional | String | Determines the pagination of the catalog items. |
## Example requests
### Without cursor
```
curl --location --request GET ''https://rest.iad-03.braze.com/catalogs/restaurants/items'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY''
```
### With cursor
```
curl --location --request GET ''https://rest.iad-03.braze.com/catalogs/restaurants/items?cursor=c2tpcDow'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY''
```
## Response
There are three status code responses for this endpoint: `200`, `400`, and `404`.
### Example success response
The status code `200` could return the following response header and body.
{% alert note %}
The `Link` header won''t exist if the catalog has less than or equal to 50 items. For calls without a cursor, `prev` will not show. When looking at the last page of items, `next` will not show.
{% endalert %}
```
Link: ; rel="prev",; rel="next"
```
``` json
{
"items": [
{
"id": "restaurant1",
"Name": "Restaurant1",
"City": "New York",
"Cuisine": "American",
"Rating": 5,
"Loyalty_Program": true,
"Open_Time": "2022-11-02T09:03:19.967Z"
},
{
"id": "restaurant2",
"Name": "Restaurant2",
"City": "New York",
"Cuisine": "American",
"Rating": 10,
"Loyalty_Program": true,
"Open_Time": "2022-11-02T09:03:19.967Z"
},
{
"id": "restaurant3",
"Name": "Restaurant3",
"City": "New York",
"Cuisine": "American",
"Rating": 5,
"Loyalty_Program": false,
"Open_Time": "2022-11-02T09:03:19.967Z"
}
],
"message": "success"
}
```
### Example error response
The status code `400` could return the following response body. Refer to Troubleshooting for more information about errors you may encounter.
``` json
{
"errors": [
{
"id": "invalid-cursor",
"message": "''cursor'' is not valid",
"parameters": [
"cursor"
],
"parameter_values": [
"bad-cursor"
]
}
],
"message": "Invalid Request"
}
```
## Troubleshooting
The following table lists possible returned errors and their associated troubleshooting steps.
| Error | Troubleshooting |
| --- | --- |
| `catalog-not-found` | Check that the catalog name is valid. |
| `invalid-cursor` | Check that your `cursor` is valid. |'
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Authorization
in: header
schema:
type: string
example: Bearer {{api_key}}
- name: catalog_name
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: getCatalogsByCatalogNameItems
x-operation-id-source: derived
/catalogs/{catalog_name}/items/{item_id}:
delete:
tags:
- Catalogs > Catalog Items > Synchronous
summary: Delete a Catalog Item
description: '> Use this endpoint to delete an item in your catalog.
To use this endpoint, youll need to generate an API key with the `catalogs.delete_item` permission.
## Rate limit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
## Path parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `catalog_name` | Required | String | Name of the catalog. |
| `item_id` | Required | String | The ID of the catalog item. |
## Request parameters
There is no request body for this endpoint.
## Example request
```
curl --location --request DELETE ''https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY''
```
## Response
There are three status code responses for this endpoint: `202`, `400`, and `404`.
### Example success response
The status code `202` could return the following response body.
``` json
{
"message": "success"
}
```
### Example error response
The status code `400` could return the following response body. Refer to Troubleshooting for more information about errors you may encounter.
``` json
{
"errors": [
{
"id": "item-not-found",
"message": "Could not find item",
"parameters": [
"item_id"
],
"parameter_values": [
"restaurant34"
]
}
],
"message": "Invalid Request"
}
```
## Troubleshooting
The following table lists possible returned errors and their associated troubleshooting steps.
| Error | Troubleshooting |
| --- | --- |
| `arbitrary-error` | An arbitrary error occurred. Please try again or contact Support. |
| `catalog-not-found` | Check that the catalog name is valid. |
| `item-not-found` | Check that the item to be deleted exists in your catalog. |'
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Authorization
in: header
schema:
type: string
example: Bearer {{api_key}}
- name: catalog_name
in: path
schema:
type: string
required: true
- name: item_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: deleteCatalogsByCatalogNameItemsByItemId
x-operation-id-source: derived
get:
tags:
- Catalogs > Catalog Items > Synchronous
summary: List Catalog Item Details
description: '> Use this endpoint to return a catalog item and its content.
To use this endpoint, youll need to generate an API key with the `catalogs.get_item` permission.
## Rate limit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
## Path parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `catalog_name` | Required | String | Name of the catalog. |
| `item_id` | Required | String | The ID of the catalog item. |
## Request parameters
There is no request body for this endpoint.
## Example request
```
curl --location --request GET ''https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY''
```
## Response
There are two status code responses for this endpoint: `200` and `404`.
### Example success response
The status code `200` could return the following response body.
``` json
{
"items": [
{
"id": "restaurant3",
"Name": "Restaurant1",
"City": "New York",
"Cuisine": "American",
"Rating": 5,
"Loyalty_Program": true,
"Open_Time": "2022-11-01T09:03:19.967Z"
}
],
"message": "success"
}
```
### Example error response
The status code `404` could return the following response. Refer to Troubleshooting for more information about errors you may encounter.
``` json
{
"errors": [
{
"id": "item-not-found",
"message": "Could not find item",
"parameters": [
"item_id"
],
"parameter_values": [
"restaurant34"
]
}
],
"message": "Invalid Request"
}
```
## Troubleshooting
The following table lists possible returned errors and their associated troubleshooting steps, if applicable.
| Error | Troubleshooting |
| --- | --- |
| `catalog-not-found` | Check that the catalog name is valid. |
| `item-not-found` | Check that the item is in the catalog. |'
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Authorization
in: header
schema:
type: string
example: Bearer {{api_key}}
- name: catalog_name
in: path
schema:
type: string
required: true
- name: item_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: getCatalogsByCatalogNameItemsByItemId
x-operation-id-source: derived
patch:
tags:
- Catalogs > Catalog Items > Synchronous
summary: Edit Catalog Items
description: '> Use this endpoint to edit an item in your catalog.
To use this endpoint, youll need to generate an API key with the `catalogs.update_item` permission.
## Rate Limit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
## Path parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `catalog_name` | Required | String | Name of the catalog. |
| `item_id` | Required | String | The ID of the catalog item. |
## Request parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `items` | Required | Array | An array that contains item objects. The item objects should contain fields that exist in the catalog except for the `id` field. Only one item object is allowed per request. |
## Example request
```
curl --location --request PATCH ''https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY'' \
--data-raw ''{
"items": [
{
"Name": "Restaurant",
"Loyalty_Program": false,
"Open_Time": "2021-09-03T09:03:19.967+00:00"
}
]
}''
```
## Response
There are three status code responses for this endpoint: `200`, `400`, and `404`.
### Example success response
The status code `200` could return the following response body.
``` json
{
"message": "success"
}
```
### Example error response
The status code `400` could return the following response body. Refer to Troubleshooting for more information about errors you may encounter.
``` json
{
"errors": [
{
"id": "invalid-fields",
"message": "Some of the fields given do not exist in the catalog",
"parameters": [
"id"
],
"parameter_values": [
"restaurant1"
]
}
],
"message": "Invalid Request"
}
```
## Troubleshooting
The following table lists possible returned errors and their associated troubleshooting steps.
| Error | Troubleshooting |
| --- | --- |
| `arbitrary-error` | An arbitrary error occurred. Please try again or contact Support. |
| `catalog-not-found` | Check that the catalog name is valid. |
| `filtered-set-field-too-long` | The field value is being used in a filtered set that exceeds the character limit for an item. |
| `id-in-body` | An item ID already exists in the catalog. |
| `ids-too-large` | Character limit for each item ID is 250 characters. |
| `invalid-ids` | Supported characters for item ID names are letters, numbers, hyphens, and underscores. |
| `invalid-fields` | Confirm that the fields in the request exist in the catalog. |
| `invalid-keys-in-value-object` | Item object keys can''t include `.` or `$`. |
| `item-not-found` | Check that the item is in the catalog. |
| `item-array-invalid` | `items` must be an array of objects. |
| `items-too-large` | Character limit for each item is 5,000 characters. |
| `request-includes-too-many-items` | You can only edit one catalog item per request. |
| `too-deep-nesting-in-value-object` | Item objects can''t have more than 50 levels of nesting. |
| `unable-to-coerce-value` | Item types can''t be converted. |'
requestBody:
content:
application/json:
schema:
type: object
example:
items:
- Name: Restaurant
Loyalty_Program: false
Open_Time: '2021-09-03T09:03:19.967+00:00'
properties:
items:
type: array
items:
type: object
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Authorization
in: header
schema:
type: string
example: Bearer {{api_key}}
- name: catalog_name
in: path
schema:
type: string
required: true
- name: item_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: patchCatalogsByCatalogNameItemsByItemId
x-operation-id-source: derived
post:
tags:
- Catalogs > Catalog Items > Synchronous
summary: Create Catalog Item
description: '> Use this endpoint to create an item in your catalog.
To use this endpoint, youll need to generate an API key with the `catalogs.create_item` permission.
## Rate limit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
## Path parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `catalog_name` | Required | String | Name of the catalog. |
| `item_id` | Required | String | The ID of the catalog item. |
## Request parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `items` | Required | Array | An array that contains item objects. The item objects should contain all of the fields in the catalog except for the `id` field. Only one item object is allowed per request. |
## Example Request
```
curl --location --request POST ''https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY'' \
--data-raw ''{
"items": [
{
"Name": "Restaurant1",
"City": "New York",
"Cuisine": "American",
"Rating": 5,
"Loyalty_Program": true,
"Created_At": "2022-11-01T09:03:19.967+00:00"
}
]
}''
```
## Response
There are three status code responses for this endpoint: `201`, `400`, and `404`.
### Example success response
The status code `201` could return the following response body.
``` json
{
"message": "success"
}
```
### Example error response
The status code `400` could return the following response body. Refer to Troubleshooting for more information about errors you may encounter.
``` json
{
"errors": [
{
"id": "fields-do-not-match",
"message": "Fields do not match with fields on the catalog",
"parameters": [
"id"
],
"parameter_values": [
"restaurant2"
]
}
],
"message": "Invalid Request"
}
```
## Troubleshooting
The following table lists possible returned errors and their associated troubleshooting steps.
| Error | Troubleshooting |
| --- | --- |
| `already-reached-catalog-item-limit` | Maximum number of catalogs reached. Contact your Braze account manager for more information. |
| `already-reached-company-item-limit` | Maximum number of catalog items reached. Contact your Braze account manager for more information. |
| `arbitrary-error` | An arbitrary error occurred. Please try again or contact Support. |
| `catalog-not-found` | Check that the catalog name is valid. |
| `filtered-set-field-too-long` | The field value is being used in a filtered set that exceeds the character limit for an item. |
| `id-in-body` | Remove any item IDs in the request body. |
| `ids-too-large` | Character limit for each item ID is 250 characters. |
| `invalid-ids` | Supported characters for item ID names are letters, numbers, hyphens, and underscores. |
| `invalid-fields` | Confirm that the fields in the request exist in the catalog. |
| `invalid-keys-in-value-object` | Item object keys can''t include `.` or `$`. |
| `item-already-exists` | The item already exists in the catalog. |
| `item-array-invalid` | `items` must be an array of objects. |
| `items-too-large` | Character limit for each item is 5,000 characters. |
| `request-includes-too-many-items` | You can only create one catalog item per request. |
| `too-deep-nesting-in-value-object` | Item objects can''t have more than 50 levels of nesting. |
| `unable-to-coerce-value` | Item types can''t be converted. |'
requestBody:
content:
application/json:
schema:
type: object
example:
items:
- Name: Restaurant1
City: New York
Cuisine: American
Rating: 5
Loyalty_Program: true
Created_At: '2022-11-01T09:03:19.967+00:00'
properties:
items:
type: array
items:
type: object
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Authorization
in: header
schema:
type: string
example: Bearer {{api_key}}
- name: catalog_name
in: path
schema:
type: string
required: true
- name: item_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'201':
description: Successful response
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: postCatalogsByCatalogNameItemsByItemId
x-operation-id-source: derived
put:
tags:
- Catalogs > Catalog Items > Synchronous
summary: Update Catalog Item
description: '> Use this endpoint to update an item in your catalog.
To use this endpoint, you''ll need to generate an API key with the `catalogs.replace_item` permission.
If the `item_id` isn''t found, this endpoint will create the item. This endpoint is synchronous.
## Rate limit
This endpoint has a shared rate limit of 50 requests per minute between all synchronous catalog item endpoints, as documented in API rate limits.
## Path parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `catalog_name` | Required | String | Name of the catalog. |
| `item_id` | Required | String | The ID of the catalog item. |
## Request parameters
| Parameter | Required | Data Type | Description |
| --- | --- | --- | --- |
| `items` | Required | Array | An array that contains item objects. The item objects should contain fields that exist in the catalog except for the `id` field. Only one item object is allowed per request. |
## Example request
```
curl --location --request PUT ''https://rest.iad-03.braze.com/catalogs/restaurants/items/restaurant1'' \
--header ''Content-Type: application/json'' \
--header ''Authorization: Bearer YOUR-REST-API-KEY'' \
--data-raw ''{
"items": [
{
"Name": "Restaurant",
"Loyalty_Program": false,
"Location": {
"Latitude": 33.6112,
"Longitude": -117.8711
},
"Open_Time": "2021-09-03T09:03:19.967+00:00"
}
]
}''
```
## Response
There are three status code responses for this endpoint: `200`, `400`, and `404`.
### Example success response
The status code `200` could return the following response body.
``` json
{
"message": "success"
}
```
### Example error response
The status code `400` could return the following response body. Refer to Troubleshooting for more information about errors you may encounter.
``` json
{
"errors": [
{
"id": "invalid-fields",
"message": "Some of the fields given do not exist in the catalog",
"parameters": [
"id"
],
"parameter_values": [
"restaurant1"
]
}
],
"message": "Invalid Request"
}
```
## Troubleshooting
The following table lists possible returned errors and their associated troubleshooting steps.
| Error | Troubleshooting |
| --- | --- |
| `already_reached_catalog_item_limit` | Maximum number of catalogs reached. Contact your Braze account manager for more information. |
| `already_reached_company_item_limit` | Maximum number of items reached. Contact your Braze account manager for more information. |
| `arbitrary_error` | An arbitrary error occurred. Please try again or contact Support. |
| `catalog_not_found` | Check that the catalog name is valid. |
| `filtered-set-field-too-long` | The field value is being used in a filtered set that exceeds the character limit for an item. |
| `id_in_body` | Remove any item IDs in the request body. |
| `ids_too_large` | Character limit for each item ID is 250 characters. |
| `invalid_ids` | Supported characters for item ID names are letters, numbers, hyphens, and underscores. |
| `invalid_fields` | Confirm that the fields in the request exist in the catalog. |
| `invalid_keys_in_value_object` | Item object keys can''t include `.` or `$`. |
| `item_already_exists` | The item already exists in the catalog. |
| `item_array_invalid` | `items` must be an array of objects. |
| `items_too_large` | Item values can''t exceed 5,000 characters. |
| `request_includes_too_many_items` | Your request has too many items. The item limit per request is 50. |
| `too_deep_nesting_in_value_object` | Item objects can''t have more than 50 levels of nesting. |
| `unable_to_coerce_value` | Item types can''t be converted. |'
requestBody:
content:
application/json:
schema:
type: object
example:
items:
- Name: Restaurant
Loyalty_Program: false
Location:
Latitude: 33.6112
Longitude: -117.8711
Open_Time: '2021-09-03T09:03:19.967+00:00'
properties:
items:
type: array
items:
type: object
parameters:
- name: Content-Type
in: header
schema:
type: string
example: application/json
- name: Authorization
in: header
schema:
type: string
example: Bearer {{api_key}}
- name: catalog_name
in: path
schema:
type: string
required: true
- name: item_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalServerError'
operationId: putCatalogsByCatalogNameItemsByItemId
x-operation-id-source: derived
components:
responses:
Unauthorized:
description: 401 Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: 400 Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: 404 Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: 403 Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
InternalServerError:
description: 500 Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: 429 Rate Limited
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
message:
type: string
errors:
type: array
items:
type: string
securitySchemes:
BearerAuth:
type: http
scheme: bearer