diff --git a/config/middlewares.ts b/config/middlewares.ts index 669918f..fd8617f 100644 --- a/config/middlewares.ts +++ b/config/middlewares.ts @@ -1,16 +1,31 @@ -import type { Core } from '@strapi/strapi'; +import type { Core } from "@strapi/strapi"; const config: Core.Config.Middlewares = [ - 'strapi::logger', - 'strapi::errors', - 'strapi::security', - 'strapi::cors', - 'strapi::poweredBy', - 'strapi::query', - 'strapi::body', - 'strapi::session', - 'strapi::favicon', - 'strapi::public', + "strapi::logger", + "strapi::errors", + { + name: "strapi::security", + config: { + contentSecurityPolicy: { + useDefaults: true, + directives: { + "script-src": ["'self'", "'unsafe-inline'", "https://unpkg.com"], + "style-src": ["'self'", "'unsafe-inline'", "https://unpkg.com"], + "connect-src": ["'self'", "https:"], + "img-src": ["'self'", "data:", "blob:", "https:"], + "media-src": ["'self'", "data:", "blob:"], + upgradeInsecureRequests: null, + }, + }, + }, + }, + "strapi::cors", + "strapi::poweredBy", + "strapi::query", + "strapi::body", + "strapi::session", + "strapi::favicon", + "strapi::public", ]; export default config; diff --git a/public/openapi.html b/public/openapi.html new file mode 100644 index 0000000..cf1d637 --- /dev/null +++ b/public/openapi.html @@ -0,0 +1,26 @@ + + + + API Documentation + + + +
+ + + + + diff --git a/public/swagger-spec.json b/public/swagger-spec.json new file mode 100644 index 0000000..613602e --- /dev/null +++ b/public/swagger-spec.json @@ -0,0 +1,10437 @@ +{ + "openapi": "3.1.0", + "x-powered-by": "strapi", + "x-strapi-version": "5.41.1", + "info": { + "title": "cms", + "description": "API documentation for cms v0.1.0", + "version": "0.1.0" + }, + "paths": { + "/categories": { + "get": { + "operationId": "category/get/categories", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "_q", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "pagination", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Pagination parameters", + "allOf": [ + { + "type": "object", + "properties": { + "withCount": { + "description": "Include total count in response", + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "anyOf": [ + { + "description": "Page-based pagination", + "type": "object", + "properties": { + "page": { + "description": "Page number (1-based)", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "pageSize": { + "description": "Number of entries per page", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "page", + "pageSize" + ], + "additionalProperties": false + }, + { + "description": "Offset-based pagination", + "type": "object", + "properties": { + "start": { + "description": "Number of entries to skip", + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "limit": { + "description": "Maximum number of entries to return", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "start", + "limit" + ], + "additionalProperties": false + } + ] + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "sort", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Sort the result", + "anyOf": [ + { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "vendors" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "vendors" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "An integer field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.023Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiVendorVendorDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false + } + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "category" + ] + }, + "post": { + "operationId": "category/post/categories", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "vendors" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "vendors" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "An integer field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.031Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiVendorVendorDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "category" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "A float field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.030Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + } + }, + "required": [ + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/categories/{id}": { + "get": { + "operationId": "category/get/categories_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "vendors" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "vendors" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "sort", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Sort the result", + "anyOf": [ + { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "An integer field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.029Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiVendorVendorDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "category" + ] + }, + "put": { + "operationId": "category/put/categories_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "vendors" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "vendors" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "An integer field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.033Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiVendorVendorDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "category" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "A float field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.032Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + } + }, + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + } + }, + "delete": { + "operationId": "category/delete/categories_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "vendors" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "vendors" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "comment", + "group", + "sortOrder", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "An integer field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.034Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiVendorVendorDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "category" + ] + } + }, + "/home-page": { + "get": { + "operationId": "home-page/get/home_page", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "sections" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "sections" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.036Z", + "type": "string" + }, + "sections": { + "description": "A dynamic zone field", + "type": "array", + "items": {} + } + }, + "required": [ + "documentId", + "id", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "home-page" + ] + }, + "put": { + "operationId": "home-page/put/home_page", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "sections" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "sections" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.038Z", + "type": "string" + }, + "sections": { + "description": "A dynamic zone field", + "type": "array", + "items": {} + } + }, + "required": [ + "documentId", + "id", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "home-page" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.036Z", + "type": "string" + }, + "sections": { + "description": "A dynamic zone field", + "type": "array", + "items": {} + } + }, + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + } + }, + "delete": { + "operationId": "home-page/delete/home_page", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "sections" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "sections" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.039Z", + "type": "string" + }, + "sections": { + "description": "A dynamic zone field", + "type": "array", + "items": {} + } + }, + "required": [ + "documentId", + "id", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "home-page" + ] + } + }, + "/site-config": { + "get": { + "operationId": "site-config/get/site_config", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.040Z", + "type": "string" + } + }, + "required": [ + "documentId", + "id", + "title", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "site-config" + ] + }, + "put": { + "operationId": "site-config/put/site_config", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.041Z", + "type": "string" + } + }, + "required": [ + "documentId", + "id", + "title", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "site-config" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.040Z", + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + } + }, + "delete": { + "operationId": "site-config/delete/site_config", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.041Z", + "type": "string" + } + }, + "required": [ + "documentId", + "id", + "title", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "site-config" + ] + } + }, + "/vendors": { + "get": { + "operationId": "vendor/get/vendors", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "_q", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "pagination", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Pagination parameters", + "allOf": [ + { + "type": "object", + "properties": { + "withCount": { + "description": "Include total count in response", + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "anyOf": [ + { + "description": "Page-based pagination", + "type": "object", + "properties": { + "page": { + "description": "Page number (1-based)", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "pageSize": { + "description": "Number of entries per page", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "page", + "pageSize" + ], + "additionalProperties": false + }, + { + "description": "Offset-based pagination", + "type": "object", + "properties": { + "start": { + "description": "Number of entries to skip", + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "limit": { + "description": "Maximum number of entries to return", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "start", + "limit" + ], + "additionalProperties": false + } + ] + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "sort", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Sort the result", + "anyOf": [ + { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "products", + "categories" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "products", + "categories" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.043Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": { + "$ref": "#/components/schemas/SharedProductEntry" + } + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiCategoryCategoryDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "publishedAt" + ], + "additionalProperties": false + } + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "vendor" + ] + }, + "post": { + "operationId": "vendor/post/vendors", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "products", + "categories" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "products", + "categories" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.045Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": { + "$ref": "#/components/schemas/SharedProductEntry" + } + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiCategoryCategoryDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "vendor" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.045Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": {} + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + } + }, + "required": [ + "slug", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/vendors/{id}": { + "get": { + "operationId": "vendor/get/vendors_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "products", + "categories" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "products", + "categories" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "sort", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Sort the result", + "anyOf": [ + { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.044Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": { + "$ref": "#/components/schemas/SharedProductEntry" + } + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiCategoryCategoryDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "vendor" + ] + }, + "put": { + "operationId": "vendor/put/vendors_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "products", + "categories" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "products", + "categories" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.048Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": { + "$ref": "#/components/schemas/SharedProductEntry" + } + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiCategoryCategoryDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "vendor" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.048Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": {} + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + } + }, + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + } + }, + "delete": { + "operationId": "vendor/delete/vendors_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "The fields to return, this doesn't include populatable fields like relations, components, files, or dynamic zones", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + } + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "description": "Populate all the first level relations, components, files, and dynamic zones for the entry", + "readOnly": true, + "type": "string", + "const": "*" + }, + { + "description": "Populate a single relation, component, file, or dynamic zone", + "readOnly": true, + "type": "string", + "enum": [ + "products", + "categories" + ] + }, + { + "description": "Populate a selection of multiple relations, components, files, or dynamic zones", + "type": "array", + "items": { + "type": "string", + "enum": [ + "products", + "categories" + ] + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filters to apply to the query", + "type": "object", + "propertyNames": { + "type": "string", + "enum": [ + "slug", + "title", + "description", + "createdAt", + "updatedAt", + "publishedAt" + ] + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Fetch documents based on their status. Default to \"published\" if not specified.", + "type": "string", + "enum": [ + "draft", + "published" + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "hasPublishedVersion", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Filter documents by whether they have a published version. Use with status=draft to find documents that have never been published", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "true", + "false" + ] + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.049Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": { + "$ref": "#/components/schemas/SharedProductEntry" + } + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiCategoryCategoryDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "vendor" + ] + } + }, + "/content-type-builder/content-types": { + "get": { + "operationId": "content-type-builder/get/content_type_builder_content_types", + "parameters": [ + { + "name": "kind", + "in": "query", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string", + "enum": [ + "collectionType", + "singleType" + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + }, + "plugin": { + "type": "string" + }, + "apiID": { + "type": "string" + }, + "schema": { + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "singularName": { + "type": "string" + }, + "pluralName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "draftAndPublish": { + "type": "boolean" + }, + "kind": { + "type": "string", + "enum": [ + "collectionType", + "singleType" + ] + }, + "collectionName": { + "type": "string" + }, + "attributes": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "media" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "multiple": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "allowedTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type", + "multiple" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "relation" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "relation": { + "type": "string" + }, + "target": { + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + }, + "targetAttribute": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "autoPopulate": { + "type": "boolean" + }, + "mappedBy": { + "type": "string" + }, + "inversedBy": { + "type": "string" + } + }, + "required": [ + "type", + "relation", + "target", + "targetAttribute" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "component" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "component": { + "type": "string" + }, + "repeatable": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "component", + "repeatable" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "dynamiczone" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "components": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + } + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "components" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "uid" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "targetField": { + "type": "string" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "unique": { + "type": "boolean" + }, + "default": {}, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minLength": { + "type": "number" + }, + "maxLength": { + "type": "number" + }, + "enum": { + "type": "array", + "items": { + "type": "string" + } + }, + "regex": { + "type": "string" + }, + "private": { + "type": "boolean" + }, + "configurable": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + } + }, + "visible": { + "type": "boolean" + }, + "restrictRelationsTo": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "reviewWorkflows": { + "type": "boolean" + }, + "populateCreatorFields": { + "type": "boolean" + }, + "comment": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "displayName", + "singularName", + "pluralName", + "description", + "draftAndPublish", + "kind", + "attributes", + "visible", + "restrictRelationsTo" + ], + "additionalProperties": false + } + }, + "required": [ + "uid", + "apiID", + "schema" + ], + "additionalProperties": false + } + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "content-type-builder" + ] + } + }, + "/content-type-builder/content-types/{uid}": { + "get": { + "operationId": "content-type-builder/get/content_type_builder_content_types_by_uid", + "parameters": [ + { + "name": "uid", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + }, + "plugin": { + "type": "string" + }, + "apiID": { + "type": "string" + }, + "schema": { + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "singularName": { + "type": "string" + }, + "pluralName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "draftAndPublish": { + "type": "boolean" + }, + "kind": { + "type": "string", + "enum": [ + "collectionType", + "singleType" + ] + }, + "collectionName": { + "type": "string" + }, + "attributes": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "media" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "multiple": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "allowedTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type", + "multiple" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "relation" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "relation": { + "type": "string" + }, + "target": { + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + }, + "targetAttribute": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "autoPopulate": { + "type": "boolean" + }, + "mappedBy": { + "type": "string" + }, + "inversedBy": { + "type": "string" + } + }, + "required": [ + "type", + "relation", + "target", + "targetAttribute" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "component" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "component": { + "type": "string" + }, + "repeatable": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "component", + "repeatable" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "dynamiczone" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "components": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + } + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "components" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "uid" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "targetField": { + "type": "string" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "unique": { + "type": "boolean" + }, + "default": {}, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minLength": { + "type": "number" + }, + "maxLength": { + "type": "number" + }, + "enum": { + "type": "array", + "items": { + "type": "string" + } + }, + "regex": { + "type": "string" + }, + "private": { + "type": "boolean" + }, + "configurable": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + } + }, + "visible": { + "type": "boolean" + }, + "restrictRelationsTo": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "options": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "reviewWorkflows": { + "type": "boolean" + }, + "populateCreatorFields": { + "type": "boolean" + }, + "comment": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "displayName", + "singularName", + "pluralName", + "description", + "draftAndPublish", + "kind", + "attributes", + "visible", + "restrictRelationsTo" + ], + "additionalProperties": false + } + }, + "required": [ + "uid", + "apiID", + "schema" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "content-type-builder" + ] + } + }, + "/content-type-builder/components": { + "get": { + "operationId": "content-type-builder/get/content_type_builder_components", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + }, + "category": { + "type": "string" + }, + "apiId": { + "type": "string" + }, + "schema": { + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "collectionName": { + "type": "string" + }, + "attributes": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "media" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "multiple": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "allowedTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type", + "multiple" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "relation" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "relation": { + "type": "string" + }, + "target": { + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + }, + "targetAttribute": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "autoPopulate": { + "type": "boolean" + }, + "mappedBy": { + "type": "string" + }, + "inversedBy": { + "type": "string" + } + }, + "required": [ + "type", + "relation", + "target", + "targetAttribute" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "component" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "component": { + "type": "string" + }, + "repeatable": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "component", + "repeatable" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "dynamiczone" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "components": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + } + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "components" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "uid" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "targetField": { + "type": "string" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "unique": { + "type": "boolean" + }, + "default": {}, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minLength": { + "type": "number" + }, + "maxLength": { + "type": "number" + }, + "enum": { + "type": "array", + "items": { + "type": "string" + } + }, + "regex": { + "type": "string" + }, + "private": { + "type": "boolean" + }, + "configurable": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + } + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "displayName", + "description", + "attributes" + ], + "additionalProperties": false + } + }, + "required": [ + "uid", + "category", + "apiId", + "schema" + ], + "additionalProperties": false + } + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "content-type-builder" + ] + } + }, + "/content-type-builder/components/{uid}": { + "get": { + "operationId": "content-type-builder/get/content_type_builder_components_by_uid", + "parameters": [ + { + "name": "uid", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + }, + "category": { + "type": "string" + }, + "apiId": { + "type": "string" + }, + "schema": { + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "connection": { + "type": "string" + }, + "collectionName": { + "type": "string" + }, + "attributes": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "media" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "multiple": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "allowedTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type", + "multiple" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "relation" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "relation": { + "type": "string" + }, + "target": { + "type": "string", + "pattern": "^((strapi|admin)::[\\w-]+|(api|plugin)::[\\w-]+\\.[\\w-]+)$" + }, + "targetAttribute": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "autoPopulate": { + "type": "boolean" + }, + "mappedBy": { + "type": "string" + }, + "inversedBy": { + "type": "string" + } + }, + "required": [ + "type", + "relation", + "target", + "targetAttribute" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "component" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "component": { + "type": "string" + }, + "repeatable": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "component", + "repeatable" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "dynamiczone" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "components": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[\\w-]+\\.[\\w-]+$" + } + }, + "required": { + "type": "boolean" + }, + "min": { + "type": "number" + }, + "max": { + "type": "number" + } + }, + "required": [ + "type", + "components" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "const": "uid" + }, + "configurable": { + "type": "boolean", + "const": false + }, + "private": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "targetField": { + "type": "string" + } + }, + "required": [ + "type" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "unique": { + "type": "boolean" + }, + "default": {}, + "min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "max": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "minLength": { + "type": "number" + }, + "maxLength": { + "type": "number" + }, + "enum": { + "type": "array", + "items": { + "type": "string" + } + }, + "regex": { + "type": "string" + }, + "private": { + "type": "boolean" + }, + "configurable": { + "type": "boolean" + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "type" + ], + "additionalProperties": false + } + ] + } + }, + "pluginOptions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "displayName", + "description", + "attributes" + ], + "additionalProperties": false + } + }, + "required": [ + "uid", + "category", + "apiId", + "schema" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "content-type-builder" + ] + } + }, + "/email": { + "post": { + "operationId": "email/post/email", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "email" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "from": { + "type": "string" + }, + "to": { + "type": "string" + }, + "cc": { + "type": "string" + }, + "bcc": { + "type": "string" + }, + "replyTo": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "text": { + "type": "string" + }, + "html": { + "type": "string" + } + }, + "required": [ + "to", + "subject", + "text" + ], + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "/upload": { + "post": { + "operationId": "upload/post/upload", + "parameters": [ + { + "name": "id", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "documentId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "name": { + "type": "string" + }, + "alternativeText": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caption": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "width": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "height": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "formats": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "folder": { + "type": "number" + }, + "folderPath": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "anyOf": [ + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + { + "type": "null" + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "createdBy": { + "type": "number" + }, + "updatedBy": { + "type": "number" + } + }, + "required": [ + "id", + "documentId", + "name", + "hash", + "mime", + "size", + "url", + "folderPath", + "provider", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "documentId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "name": { + "type": "string" + }, + "alternativeText": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caption": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "width": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "height": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "formats": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "folder": { + "type": "number" + }, + "folderPath": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "anyOf": [ + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + { + "type": "null" + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "createdBy": { + "type": "number" + }, + "updatedBy": { + "type": "number" + } + }, + "required": [ + "id", + "documentId", + "name", + "hash", + "mime", + "size", + "url", + "folderPath", + "provider", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + } + ] + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "upload" + ] + } + }, + "/upload/files": { + "get": { + "operationId": "upload/get/upload_files", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Select specific fields to return in the response", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Specify which relations to populate in the response", + "anyOf": [ + { + "type": "string", + "const": "*" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "sort", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Sort the results by specified fields", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "pagination", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Pagination parameters", + "allOf": [ + { + "type": "object", + "properties": { + "withCount": { + "description": "Include total count in response", + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "anyOf": [ + { + "description": "Page-based pagination", + "type": "object", + "properties": { + "page": { + "description": "Page number (1-based)", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "pageSize": { + "description": "Number of entries per page", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "page", + "pageSize" + ], + "additionalProperties": false + }, + { + "description": "Offset-based pagination", + "type": "object", + "properties": { + "start": { + "description": "Number of entries to skip", + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "limit": { + "description": "Maximum number of entries to return", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "start", + "limit" + ], + "additionalProperties": false + } + ] + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Apply filters to the query", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "documentId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "name": { + "type": "string" + }, + "alternativeText": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caption": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "width": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "height": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "formats": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "folder": { + "type": "number" + }, + "folderPath": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "anyOf": [ + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + { + "type": "null" + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "createdBy": { + "type": "number" + }, + "updatedBy": { + "type": "number" + } + }, + "required": [ + "id", + "documentId", + "name", + "hash", + "mime", + "size", + "url", + "folderPath", + "provider", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "upload" + ] + } + }, + "/upload/files/{id}": { + "get": { + "operationId": "upload/get/upload_files_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Select specific fields to return in the response", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Specify which relations to populate in the response", + "anyOf": [ + { + "type": "string", + "const": "*" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "documentId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "name": { + "type": "string" + }, + "alternativeText": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caption": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "width": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "height": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "formats": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "folder": { + "type": "number" + }, + "folderPath": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "anyOf": [ + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + { + "type": "null" + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "createdBy": { + "type": "number" + }, + "updatedBy": { + "type": "number" + } + }, + "required": [ + "id", + "documentId", + "name", + "hash", + "mime", + "size", + "url", + "folderPath", + "provider", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "upload" + ] + }, + "delete": { + "operationId": "upload/delete/upload_files_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "documentId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "name": { + "type": "string" + }, + "alternativeText": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "caption": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "width": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "height": { + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "formats": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "hash": { + "type": "string" + }, + "ext": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "size": { + "type": "number" + }, + "url": { + "type": "string" + }, + "previewUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "folder": { + "type": "number" + }, + "folderPath": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "provider_metadata": { + "anyOf": [ + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + { + "type": "null" + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "createdBy": { + "type": "number" + }, + "updatedBy": { + "type": "number" + } + }, + "required": [ + "id", + "documentId", + "name", + "hash", + "mime", + "size", + "url", + "folderPath", + "provider", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "upload" + ] + } + }, + "/i18n/locales": { + "get": { + "operationId": "i18n/get/i18n_locales", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "documentId": { + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "name": { + "type": "string" + }, + "code": { + "type": "string", + "minLength": 2, + "maxLength": 2 + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "isDefault": { + "type": "boolean" + } + }, + "required": [ + "id", + "documentId", + "name", + "code", + "createdAt", + "updatedAt", + "publishedAt", + "isDefault" + ], + "additionalProperties": false + } + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "i18n" + ] + } + }, + "/connect/(.*)": { + "get": { + "operationId": "users-permissions/get/connect_____", + "parameters": [], + "responses": { + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/auth/local": { + "post": { + "operationId": "users-permissions/post/auth_local", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "jwt", + "user" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "identifier": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": [ + "identifier", + "password" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/auth/local/register": { + "post": { + "operationId": "users-permissions/post/auth_local_register", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "jwt", + "user" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "user" + ], + "additionalProperties": false + } + ] + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email", + "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + }, + "password": { + "type": "string" + } + }, + "required": [ + "username", + "email", + "password" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/auth/{provider}/callback": { + "get": { + "operationId": "users-permissions/get/auth_by_provider_callback", + "parameters": [ + { + "name": "provider", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "jwt", + "user" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/auth/forgot-password": { + "post": { + "operationId": "users-permissions/post/auth_forgot_password", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + } + }, + "required": [ + "email" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/auth/reset-password": { + "post": { + "operationId": "users-permissions/post/auth_reset_password", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "jwt", + "user" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "password": { + "type": "string" + }, + "passwordConfirmation": { + "type": "string" + } + }, + "required": [ + "code", + "password", + "passwordConfirmation" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/auth/email-confirmation": { + "get": { + "operationId": "users-permissions/get/auth_email_confirmation", + "parameters": [], + "responses": { + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/auth/send-email-confirmation": { + "post": { + "operationId": "users-permissions/post/auth_send_email_confirmation", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "sent": { + "type": "boolean" + } + }, + "required": [ + "email", + "sent" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "email": { + "type": "string", + "format": "email", + "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + } + }, + "required": [ + "email" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/auth/change-password": { + "post": { + "operationId": "users-permissions/post/auth_change_password", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "refreshToken": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "jwt", + "user" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "currentPassword": { + "type": "string" + }, + "password": { + "type": "string" + }, + "passwordConfirmation": { + "type": "string" + } + }, + "required": [ + "currentPassword", + "password", + "passwordConfirmation" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/auth/refresh": { + "post": { + "operationId": "users-permissions/post/auth_refresh", + "parameters": [], + "responses": { + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/auth/logout": { + "post": { + "operationId": "users-permissions/post/auth_logout", + "parameters": [], + "responses": { + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/users/count": { + "get": { + "operationId": "users-permissions/get/users_count", + "parameters": [ + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Apply filters to the query", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "number" + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/users": { + "get": { + "operationId": "users-permissions/get/users", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Select specific fields to return in the response", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Specify which relations to populate in the response", + "anyOf": [ + { + "type": "string", + "const": "*" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "sort", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Sort the results by specified fields", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + }, + { + "type": "array", + "items": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + } + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "pagination", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Pagination parameters", + "allOf": [ + { + "type": "object", + "properties": { + "withCount": { + "description": "Include total count in response", + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "anyOf": [ + { + "description": "Page-based pagination", + "type": "object", + "properties": { + "page": { + "description": "Page number (1-based)", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "pageSize": { + "description": "Number of entries per page", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "page", + "pageSize" + ], + "additionalProperties": false + }, + { + "description": "Offset-based pagination", + "type": "object", + "properties": { + "start": { + "description": "Number of entries to skip", + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "limit": { + "description": "Maximum number of entries to return", + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + } + }, + "required": [ + "start", + "limit" + ], + "additionalProperties": false + } + ] + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "filters", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Apply filters to the query", + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + }, + "post": { + "operationId": "users-permissions/post/users", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email", + "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + }, + "password": { + "type": "string" + }, + "role": { + "type": "number" + } + }, + "required": [ + "username", + "email", + "password" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/users/me": { + "get": { + "operationId": "users-permissions/get/users_me", + "parameters": [ + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Select specific fields to return in the response", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Specify which relations to populate in the response", + "anyOf": [ + { + "type": "string", + "const": "*" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/users/{id}": { + "get": { + "operationId": "users-permissions/get/users_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + }, + { + "name": "fields", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Select specific fields to return in the response", + "anyOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "x-strapi-serialize": "querystring" + }, + { + "name": "populate", + "in": "query", + "required": false, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Specify which relations to populate in the response", + "anyOf": [ + { + "type": "string", + "const": "*" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + ] + }, + "x-strapi-serialize": "querystring" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + }, + "put": { + "operationId": "users-permissions/put/users_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "email": { + "type": "string", + "format": "email", + "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" + }, + "password": { + "type": "string" + }, + "role": { + "type": "number" + } + }, + "additionalProperties": false + } + } + } + } + }, + "delete": { + "operationId": "users-permissions/delete/users_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "confirmed": { + "type": "boolean" + }, + "blocked": { + "type": "boolean" + }, + "role": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "description", + "type", + "createdAt", + "updatedAt" + ], + "additionalProperties": false + } + ] + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + } + }, + "required": [ + "id", + "documentId", + "username", + "email", + "provider", + "confirmed", + "blocked", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/users-permissions/roles/{id}": { + "get": { + "operationId": "users-permissions/get/users_permissions_roles_by_id", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "role": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + }, + "nb_users": { + "type": "number" + }, + "permissions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "controllers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "policy": { + "type": "string" + } + }, + "required": [ + "enabled", + "policy" + ], + "additionalProperties": false + } + } + } + }, + "required": [ + "controllers" + ], + "additionalProperties": false + } + }, + "users": { + "type": "array", + "items": {} + } + }, + "required": [ + "id", + "documentId", + "name", + "description", + "type", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + }, + "required": [ + "role" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/users-permissions/roles": { + "get": { + "operationId": "users-permissions/get/users_permissions_roles", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "roles": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "documentId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "publishedAt": { + "type": "string" + }, + "nb_users": { + "type": "number" + }, + "permissions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "controllers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "policy": { + "type": "string" + } + }, + "required": [ + "enabled", + "policy" + ], + "additionalProperties": false + } + } + } + }, + "required": [ + "controllers" + ], + "additionalProperties": false + } + }, + "users": { + "type": "array", + "items": {} + } + }, + "required": [ + "id", + "documentId", + "name", + "description", + "type", + "createdAt", + "updatedAt", + "publishedAt" + ], + "additionalProperties": false + } + } + }, + "required": [ + "roles" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + }, + "post": { + "operationId": "users-permissions/post/users_permissions_roles", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string" + }, + "permissions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "required": [ + "name", + "type" + ], + "additionalProperties": false + } + } + } + } + } + }, + "/users-permissions/roles/{role}": { + "put": { + "operationId": "users-permissions/put/users_permissions_roles_by_role", + "parameters": [ + { + "name": "role", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "type": { + "type": "string" + }, + "permissions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": {} + } + }, + "additionalProperties": false + } + } + } + } + }, + "delete": { + "operationId": "users-permissions/delete/users_permissions_roles_by_role", + "parameters": [ + { + "name": "role", + "in": "path", + "required": true, + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + }, + "/users-permissions/permissions": { + "get": { + "operationId": "users-permissions/get/users_permissions_permissions", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "permissions": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "controllers": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "propertyNames": { + "type": "string" + }, + "additionalProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "policy": { + "type": "string" + } + }, + "required": [ + "enabled", + "policy" + ], + "additionalProperties": false + } + } + } + }, + "required": [ + "controllers" + ], + "additionalProperties": false + } + } + }, + "required": [ + "permissions" + ], + "additionalProperties": false + } + } + } + }, + "400": { + "description": "Bad request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not found" + }, + "500": { + "description": "Internal server error" + } + }, + "tags": [ + "users-permissions" + ] + } + } + }, + "components": { + "schemas": { + "SharedProductEntry": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "title": { + "description": "A string field", + "type": "string" + } + }, + "required": [ + "title" + ], + "additionalProperties": false, + "id": "SharedProductEntry" + }, + "ApiCategoryCategoryDocument": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "comment": { + "description": "A string field", + "type": "string" + }, + "group": { + "description": "An enum field", + "type": "string", + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "description": "An integer field", + "default": 0, + "type": "integer", + "minimum": -9007199254740991, + "maximum": 9007199254740991 + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.027Z", + "type": "string" + }, + "vendors": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiVendorVendorDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "group", + "sortOrder", + "publishedAt" + ], + "additionalProperties": false, + "id": "ApiCategoryCategoryDocument" + }, + "ApiVendorVendorDocument": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "documentId": { + "description": "The document ID, represented by a UUID", + "type": "string", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "slug": { + "description": "A UID field", + "type": "string" + }, + "title": { + "description": "A string field", + "type": "string" + }, + "description": { + "description": "A text field", + "type": "string" + }, + "createdAt": { + "description": "A datetime field", + "type": "string" + }, + "updatedAt": { + "description": "A datetime field", + "type": "string" + }, + "publishedAt": { + "description": "A datetime field", + "default": "2026-04-05T08:39:04.025Z", + "type": "string" + }, + "products": { + "description": "A component field", + "type": "array", + "items": { + "$ref": "#/components/schemas/SharedProductEntry" + } + }, + "categories": { + "description": "A relational field", + "type": "array", + "items": { + "$ref": "#/components/schemas/ApiCategoryCategoryDocument" + } + } + }, + "required": [ + "documentId", + "id", + "slug", + "publishedAt" + ], + "additionalProperties": false, + "id": "ApiVendorVendorDocument" + } + } + } +} \ No newline at end of file diff --git a/src/api/category/content-types/category/schema.json b/src/api/category/content-types/category/schema.json new file mode 100644 index 0000000..af2f047 --- /dev/null +++ b/src/api/category/content-types/category/schema.json @@ -0,0 +1,47 @@ +{ + "kind": "collectionType", + "collectionName": "categories", + "info": { + "singularName": "category", + "pluralName": "categories", + "displayName": "Category" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "slug": { + "type": "uid", + "required": true + }, + "title": { + "type": "string" + }, + "description": { + "type": "text" + }, + "comment": { + "type": "string" + }, + "group": { + "type": "enumeration", + "required": true, + "enum": [ + "service", + "solution" + ] + }, + "sortOrder": { + "type": "integer", + "required": true, + "default": 0 + }, + "vendors": { + "type": "relation", + "relation": "manyToMany", + "target": "api::vendor.vendor", + "inversedBy": "categories" + } + } +} diff --git a/src/api/category/controllers/category.ts b/src/api/category/controllers/category.ts new file mode 100644 index 0000000..20d2e57 --- /dev/null +++ b/src/api/category/controllers/category.ts @@ -0,0 +1,7 @@ +/** + * category controller + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreController('api::category.category'); diff --git a/src/api/category/routes/category.ts b/src/api/category/routes/category.ts new file mode 100644 index 0000000..29daf72 --- /dev/null +++ b/src/api/category/routes/category.ts @@ -0,0 +1,7 @@ +/** + * category router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::category.category'); diff --git a/src/api/category/services/category.ts b/src/api/category/services/category.ts new file mode 100644 index 0000000..b4d79e2 --- /dev/null +++ b/src/api/category/services/category.ts @@ -0,0 +1,7 @@ +/** + * category service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::category.category'); diff --git a/src/api/home-page/content-types/home-page/schema.json b/src/api/home-page/content-types/home-page/schema.json new file mode 100644 index 0000000..70e21c6 --- /dev/null +++ b/src/api/home-page/content-types/home-page/schema.json @@ -0,0 +1,21 @@ +{ + "kind": "singleType", + "collectionName": "home_pages", + "info": { + "singularName": "home-page", + "pluralName": "home-pages", + "displayName": "Home Page" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "sections": { + "type": "dynamiczone", + "components": [ + "sections.home-hero" + ] + } + } +} diff --git a/src/api/home-page/controllers/home-page.ts b/src/api/home-page/controllers/home-page.ts new file mode 100644 index 0000000..8955e15 --- /dev/null +++ b/src/api/home-page/controllers/home-page.ts @@ -0,0 +1,7 @@ +/** + * home-page controller + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreController('api::home-page.home-page'); diff --git a/src/api/home-page/routes/home-page.ts b/src/api/home-page/routes/home-page.ts new file mode 100644 index 0000000..65c7671 --- /dev/null +++ b/src/api/home-page/routes/home-page.ts @@ -0,0 +1,7 @@ +/** + * home-page router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::home-page.home-page'); diff --git a/src/api/home-page/services/home-page.ts b/src/api/home-page/services/home-page.ts new file mode 100644 index 0000000..9c611cc --- /dev/null +++ b/src/api/home-page/services/home-page.ts @@ -0,0 +1,7 @@ +/** + * home-page service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::home-page.home-page'); diff --git a/src/api/site-config/content-types/site-config/schema.json b/src/api/site-config/content-types/site-config/schema.json new file mode 100644 index 0000000..a7430d5 --- /dev/null +++ b/src/api/site-config/content-types/site-config/schema.json @@ -0,0 +1,22 @@ +{ + "kind": "singleType", + "collectionName": "site_configs", + "info": { + "singularName": "site-config", + "pluralName": "site-configs", + "displayName": "Site config" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "title": { + "type": "string", + "required": true + }, + "description": { + "type": "text" + } + } +} diff --git a/src/api/site-config/controllers/site-config.ts b/src/api/site-config/controllers/site-config.ts new file mode 100644 index 0000000..716c3d9 --- /dev/null +++ b/src/api/site-config/controllers/site-config.ts @@ -0,0 +1,7 @@ +/** + * site-config controller + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreController('api::site-config.site-config'); diff --git a/src/api/site-config/routes/site-config.ts b/src/api/site-config/routes/site-config.ts new file mode 100644 index 0000000..eff2801 --- /dev/null +++ b/src/api/site-config/routes/site-config.ts @@ -0,0 +1,7 @@ +/** + * site-config router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::site-config.site-config'); diff --git a/src/api/site-config/services/site-config.ts b/src/api/site-config/services/site-config.ts new file mode 100644 index 0000000..ee085cb --- /dev/null +++ b/src/api/site-config/services/site-config.ts @@ -0,0 +1,7 @@ +/** + * site-config service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::site-config.site-config'); diff --git a/src/api/vendor/content-types/vendor/schema.json b/src/api/vendor/content-types/vendor/schema.json new file mode 100644 index 0000000..55cc34c --- /dev/null +++ b/src/api/vendor/content-types/vendor/schema.json @@ -0,0 +1,36 @@ +{ + "kind": "collectionType", + "collectionName": "vendors", + "info": { + "singularName": "vendor", + "pluralName": "vendors", + "displayName": "Vendor" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "slug": { + "type": "uid", + "required": true + }, + "title": { + "type": "string" + }, + "description": { + "type": "text" + }, + "products": { + "type": "component", + "component": "shared.product", + "repeatable": true + }, + "categories": { + "type": "relation", + "relation": "manyToMany", + "target": "api::category.category", + "mappedBy": "vendors" + } + } +} diff --git a/src/api/vendor/controllers/vendor.ts b/src/api/vendor/controllers/vendor.ts new file mode 100644 index 0000000..bf9f012 --- /dev/null +++ b/src/api/vendor/controllers/vendor.ts @@ -0,0 +1,7 @@ +/** + * vendor controller + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreController('api::vendor.vendor'); diff --git a/src/api/vendor/routes/vendor.ts b/src/api/vendor/routes/vendor.ts new file mode 100644 index 0000000..290b771 --- /dev/null +++ b/src/api/vendor/routes/vendor.ts @@ -0,0 +1,7 @@ +/** + * vendor router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::vendor.vendor'); diff --git a/src/api/vendor/services/vendor.ts b/src/api/vendor/services/vendor.ts new file mode 100644 index 0000000..0151a2e --- /dev/null +++ b/src/api/vendor/services/vendor.ts @@ -0,0 +1,7 @@ +/** + * vendor service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::vendor.vendor'); diff --git a/src/components/sections/home-hero.json b/src/components/sections/home-hero.json new file mode 100644 index 0000000..13690c5 --- /dev/null +++ b/src/components/sections/home-hero.json @@ -0,0 +1,24 @@ +{ + "collectionName": "components_sections_home_heroes", + "info": { + "displayName": "HomeHero" + }, + "options": {}, + "attributes": { + "title": { + "type": "string" + }, + "description": { + "type": "text" + }, + "badge": { + "type": "string" + }, + "stats": { + "type": "component", + "component": "shared.attribute", + "repeatable": true + } + }, + "config": {} +} diff --git a/src/components/shared/attribute.json b/src/components/shared/attribute.json new file mode 100644 index 0000000..c15c436 --- /dev/null +++ b/src/components/shared/attribute.json @@ -0,0 +1,18 @@ +{ + "collectionName": "components_shared_attributes", + "info": { + "displayName": "Attribute" + }, + "options": {}, + "attributes": { + "key": { + "type": "string", + "required": false + }, + "value": { + "type": "string", + "required": false + } + }, + "config": {} +} diff --git a/src/components/shared/product.json b/src/components/shared/product.json new file mode 100644 index 0000000..6ba7bb6 --- /dev/null +++ b/src/components/shared/product.json @@ -0,0 +1,14 @@ +{ + "collectionName": "components_shared_products", + "info": { + "displayName": "Product" + }, + "options": {}, + "attributes": { + "title": { + "type": "string", + "required": true + } + }, + "config": {} +} diff --git a/types/generated/components.d.ts b/types/generated/components.d.ts new file mode 100644 index 0000000..3a41e18 --- /dev/null +++ b/types/generated/components.d.ts @@ -0,0 +1,45 @@ +import type { Schema, Struct } from '@strapi/strapi'; + +export interface SectionsHomeHero extends Struct.ComponentSchema { + collectionName: 'components_sections_home_heroes'; + info: { + displayName: 'HomeHero'; + }; + attributes: { + badge: Schema.Attribute.String; + description: Schema.Attribute.Text; + stats: Schema.Attribute.Component<'shared.attribute', true>; + title: Schema.Attribute.String; + }; +} + +export interface SharedAttribute extends Struct.ComponentSchema { + collectionName: 'components_shared_attributes'; + info: { + displayName: 'Attribute'; + }; + attributes: { + key: Schema.Attribute.String; + value: Schema.Attribute.String; + }; +} + +export interface SharedProduct extends Struct.ComponentSchema { + collectionName: 'components_shared_products'; + info: { + displayName: 'Product'; + }; + attributes: { + title: Schema.Attribute.String & Schema.Attribute.Required; + }; +} + +declare module '@strapi/strapi' { + export module Public { + export interface ComponentSchemas { + 'sections.home-hero': SectionsHomeHero; + 'shared.attribute': SharedAttribute; + 'shared.product': SharedProduct; + } + } +} diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts new file mode 100644 index 0000000..b9e784f --- /dev/null +++ b/types/generated/contentTypes.d.ts @@ -0,0 +1,1089 @@ +import type { Schema, Struct } from '@strapi/strapi'; + +export interface AdminApiToken extends Struct.CollectionTypeSchema { + collectionName: 'strapi_api_tokens'; + info: { + description: ''; + displayName: 'Api Token'; + name: 'Api Token'; + pluralName: 'api-tokens'; + singularName: 'api-token'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + accessKey: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.String & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }> & + Schema.Attribute.DefaultTo<''>; + encryptedKey: Schema.Attribute.Text & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + expiresAt: Schema.Attribute.DateTime; + lastUsedAt: Schema.Attribute.DateTime; + lifespan: Schema.Attribute.BigInteger; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation<'oneToMany', 'admin::api-token'> & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + permissions: Schema.Attribute.Relation< + 'oneToMany', + 'admin::api-token-permission' + >; + publishedAt: Schema.Attribute.DateTime; + type: Schema.Attribute.Enumeration<['read-only', 'full-access', 'custom']> & + Schema.Attribute.Required & + Schema.Attribute.DefaultTo<'read-only'>; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface AdminApiTokenPermission extends Struct.CollectionTypeSchema { + collectionName: 'strapi_api_token_permissions'; + info: { + description: ''; + displayName: 'API Token Permission'; + name: 'API Token Permission'; + pluralName: 'api-token-permissions'; + singularName: 'api-token-permission'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + action: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'admin::api-token-permission' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + token: Schema.Attribute.Relation<'manyToOne', 'admin::api-token'>; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface AdminPermission extends Struct.CollectionTypeSchema { + collectionName: 'admin_permissions'; + info: { + description: ''; + displayName: 'Permission'; + name: 'Permission'; + pluralName: 'permissions'; + singularName: 'permission'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + action: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + actionParameters: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<{}>; + conditions: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<[]>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation<'oneToMany', 'admin::permission'> & + Schema.Attribute.Private; + properties: Schema.Attribute.JSON & Schema.Attribute.DefaultTo<{}>; + publishedAt: Schema.Attribute.DateTime; + role: Schema.Attribute.Relation<'manyToOne', 'admin::role'>; + subject: Schema.Attribute.String & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface AdminRole extends Struct.CollectionTypeSchema { + collectionName: 'admin_roles'; + info: { + description: ''; + displayName: 'Role'; + name: 'Role'; + pluralName: 'roles'; + singularName: 'role'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + code: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.String; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation<'oneToMany', 'admin::role'> & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + permissions: Schema.Attribute.Relation<'oneToMany', 'admin::permission'>; + publishedAt: Schema.Attribute.DateTime; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + users: Schema.Attribute.Relation<'manyToMany', 'admin::user'>; + }; +} + +export interface AdminSession extends Struct.CollectionTypeSchema { + collectionName: 'strapi_sessions'; + info: { + description: 'Session Manager storage'; + displayName: 'Session'; + name: 'Session'; + pluralName: 'sessions'; + singularName: 'session'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + i18n: { + localized: false; + }; + }; + attributes: { + absoluteExpiresAt: Schema.Attribute.DateTime & Schema.Attribute.Private; + childId: Schema.Attribute.String & Schema.Attribute.Private; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + deviceId: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Private; + expiresAt: Schema.Attribute.DateTime & + Schema.Attribute.Required & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation<'oneToMany', 'admin::session'> & + Schema.Attribute.Private; + origin: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + sessionId: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Private & + Schema.Attribute.Unique; + status: Schema.Attribute.String & Schema.Attribute.Private; + type: Schema.Attribute.String & Schema.Attribute.Private; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + userId: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Private; + }; +} + +export interface AdminTransferToken extends Struct.CollectionTypeSchema { + collectionName: 'strapi_transfer_tokens'; + info: { + description: ''; + displayName: 'Transfer Token'; + name: 'Transfer Token'; + pluralName: 'transfer-tokens'; + singularName: 'transfer-token'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + accessKey: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.String & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }> & + Schema.Attribute.DefaultTo<''>; + expiresAt: Schema.Attribute.DateTime; + lastUsedAt: Schema.Attribute.DateTime; + lifespan: Schema.Attribute.BigInteger; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'admin::transfer-token' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + permissions: Schema.Attribute.Relation< + 'oneToMany', + 'admin::transfer-token-permission' + >; + publishedAt: Schema.Attribute.DateTime; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface AdminTransferTokenPermission + extends Struct.CollectionTypeSchema { + collectionName: 'strapi_transfer_token_permissions'; + info: { + description: ''; + displayName: 'Transfer Token Permission'; + name: 'Transfer Token Permission'; + pluralName: 'transfer-token-permissions'; + singularName: 'transfer-token-permission'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + action: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'admin::transfer-token-permission' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + token: Schema.Attribute.Relation<'manyToOne', 'admin::transfer-token'>; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface AdminUser extends Struct.CollectionTypeSchema { + collectionName: 'admin_users'; + info: { + description: ''; + displayName: 'User'; + name: 'User'; + pluralName: 'users'; + singularName: 'user'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + blocked: Schema.Attribute.Boolean & + Schema.Attribute.Private & + Schema.Attribute.DefaultTo; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + email: Schema.Attribute.Email & + Schema.Attribute.Required & + Schema.Attribute.Private & + Schema.Attribute.Unique & + Schema.Attribute.SetMinMaxLength<{ + minLength: 6; + }>; + firstname: Schema.Attribute.String & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + isActive: Schema.Attribute.Boolean & + Schema.Attribute.Private & + Schema.Attribute.DefaultTo; + lastname: Schema.Attribute.String & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation<'oneToMany', 'admin::user'> & + Schema.Attribute.Private; + password: Schema.Attribute.Password & + Schema.Attribute.Private & + Schema.Attribute.SetMinMaxLength<{ + minLength: 6; + }>; + preferedLanguage: Schema.Attribute.String; + publishedAt: Schema.Attribute.DateTime; + registrationToken: Schema.Attribute.String & Schema.Attribute.Private; + resetPasswordToken: Schema.Attribute.String & Schema.Attribute.Private; + roles: Schema.Attribute.Relation<'manyToMany', 'admin::role'> & + Schema.Attribute.Private; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + username: Schema.Attribute.String; + }; +} + +export interface ApiCategoryCategory extends Struct.CollectionTypeSchema { + collectionName: 'categories'; + info: { + displayName: 'Category'; + pluralName: 'categories'; + singularName: 'category'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + comment: Schema.Attribute.String; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.Text; + group: Schema.Attribute.Enumeration<['service', 'solution']> & + Schema.Attribute.Required; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::category.category' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + slug: Schema.Attribute.UID & Schema.Attribute.Required; + sortOrder: Schema.Attribute.Integer & + Schema.Attribute.Required & + Schema.Attribute.DefaultTo<0>; + title: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + vendors: Schema.Attribute.Relation<'manyToMany', 'api::vendor.vendor'>; + }; +} + +export interface ApiHomePageHomePage extends Struct.SingleTypeSchema { + collectionName: 'home_pages'; + info: { + displayName: 'Home Page'; + pluralName: 'home-pages'; + singularName: 'home-page'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::home-page.home-page' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + sections: Schema.Attribute.DynamicZone<['sections.home-hero']>; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface ApiSiteConfigSiteConfig extends Struct.SingleTypeSchema { + collectionName: 'site_configs'; + info: { + displayName: 'Site config'; + pluralName: 'site-configs'; + singularName: 'site-config'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.Text; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::site-config.site-config' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + title: Schema.Attribute.String & Schema.Attribute.Required; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface ApiVendorVendor extends Struct.CollectionTypeSchema { + collectionName: 'vendors'; + info: { + displayName: 'Vendor'; + pluralName: 'vendors'; + singularName: 'vendor'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + categories: Schema.Attribute.Relation< + 'manyToMany', + 'api::category.category' + >; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.Text; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::vendor.vendor' + > & + Schema.Attribute.Private; + products: Schema.Attribute.Component<'shared.product', true>; + publishedAt: Schema.Attribute.DateTime; + slug: Schema.Attribute.UID & Schema.Attribute.Required; + title: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginContentReleasesRelease + extends Struct.CollectionTypeSchema { + collectionName: 'strapi_releases'; + info: { + displayName: 'Release'; + pluralName: 'releases'; + singularName: 'release'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + actions: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::content-releases.release-action' + >; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::content-releases.release' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String & Schema.Attribute.Required; + publishedAt: Schema.Attribute.DateTime; + releasedAt: Schema.Attribute.DateTime; + scheduledAt: Schema.Attribute.DateTime; + status: Schema.Attribute.Enumeration< + ['ready', 'blocked', 'failed', 'done', 'empty'] + > & + Schema.Attribute.Required; + timezone: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginContentReleasesReleaseAction + extends Struct.CollectionTypeSchema { + collectionName: 'strapi_release_actions'; + info: { + displayName: 'Release Action'; + pluralName: 'release-actions'; + singularName: 'release-action'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + contentType: Schema.Attribute.String & Schema.Attribute.Required; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + entryDocumentId: Schema.Attribute.String; + isEntryValid: Schema.Attribute.Boolean; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::content-releases.release-action' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + release: Schema.Attribute.Relation< + 'manyToOne', + 'plugin::content-releases.release' + >; + type: Schema.Attribute.Enumeration<['publish', 'unpublish']> & + Schema.Attribute.Required; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginI18NLocale extends Struct.CollectionTypeSchema { + collectionName: 'i18n_locale'; + info: { + collectionName: 'locales'; + description: ''; + displayName: 'Locale'; + pluralName: 'locales'; + singularName: 'locale'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + code: Schema.Attribute.String & Schema.Attribute.Unique; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::i18n.locale' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.SetMinMax< + { + max: 50; + min: 1; + }, + number + >; + publishedAt: Schema.Attribute.DateTime; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginReviewWorkflowsWorkflow + extends Struct.CollectionTypeSchema { + collectionName: 'strapi_workflows'; + info: { + description: ''; + displayName: 'Workflow'; + name: 'Workflow'; + pluralName: 'workflows'; + singularName: 'workflow'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + contentTypes: Schema.Attribute.JSON & + Schema.Attribute.Required & + Schema.Attribute.DefaultTo<'[]'>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::review-workflows.workflow' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique; + publishedAt: Schema.Attribute.DateTime; + stageRequiredToPublish: Schema.Attribute.Relation< + 'oneToOne', + 'plugin::review-workflows.workflow-stage' + >; + stages: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::review-workflows.workflow-stage' + >; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginReviewWorkflowsWorkflowStage + extends Struct.CollectionTypeSchema { + collectionName: 'strapi_workflows_stages'; + info: { + description: ''; + displayName: 'Stages'; + name: 'Workflow Stage'; + pluralName: 'workflow-stages'; + singularName: 'workflow-stage'; + }; + options: { + draftAndPublish: false; + version: '1.1.0'; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + color: Schema.Attribute.String & Schema.Attribute.DefaultTo<'#4945FF'>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::review-workflows.workflow-stage' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String; + permissions: Schema.Attribute.Relation<'manyToMany', 'admin::permission'>; + publishedAt: Schema.Attribute.DateTime; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + workflow: Schema.Attribute.Relation< + 'manyToOne', + 'plugin::review-workflows.workflow' + >; + }; +} + +export interface PluginUploadFile extends Struct.CollectionTypeSchema { + collectionName: 'files'; + info: { + description: ''; + displayName: 'File'; + pluralName: 'files'; + singularName: 'file'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + alternativeText: Schema.Attribute.Text; + caption: Schema.Attribute.Text; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + ext: Schema.Attribute.String; + focalPoint: Schema.Attribute.JSON; + folder: Schema.Attribute.Relation<'manyToOne', 'plugin::upload.folder'> & + Schema.Attribute.Private; + folderPath: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Private & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + formats: Schema.Attribute.JSON; + hash: Schema.Attribute.String & Schema.Attribute.Required; + height: Schema.Attribute.Integer; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::upload.file' + > & + Schema.Attribute.Private; + mime: Schema.Attribute.String & Schema.Attribute.Required; + name: Schema.Attribute.String & Schema.Attribute.Required; + previewUrl: Schema.Attribute.Text; + provider: Schema.Attribute.String & Schema.Attribute.Required; + provider_metadata: Schema.Attribute.JSON; + publishedAt: Schema.Attribute.DateTime; + related: Schema.Attribute.Relation<'morphToMany'>; + size: Schema.Attribute.Decimal & Schema.Attribute.Required; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + url: Schema.Attribute.Text & Schema.Attribute.Required; + width: Schema.Attribute.Integer; + }; +} + +export interface PluginUploadFolder extends Struct.CollectionTypeSchema { + collectionName: 'upload_folders'; + info: { + displayName: 'Folder'; + pluralName: 'folders'; + singularName: 'folder'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + children: Schema.Attribute.Relation<'oneToMany', 'plugin::upload.folder'>; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + files: Schema.Attribute.Relation<'oneToMany', 'plugin::upload.file'>; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::upload.folder' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + parent: Schema.Attribute.Relation<'manyToOne', 'plugin::upload.folder'>; + path: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 1; + }>; + pathId: Schema.Attribute.Integer & + Schema.Attribute.Required & + Schema.Attribute.Unique; + publishedAt: Schema.Attribute.DateTime; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginUsersPermissionsPermission + extends Struct.CollectionTypeSchema { + collectionName: 'up_permissions'; + info: { + description: ''; + displayName: 'Permission'; + name: 'permission'; + pluralName: 'permissions'; + singularName: 'permission'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + action: Schema.Attribute.String & Schema.Attribute.Required; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::users-permissions.permission' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + role: Schema.Attribute.Relation< + 'manyToOne', + 'plugin::users-permissions.role' + >; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface PluginUsersPermissionsRole + extends Struct.CollectionTypeSchema { + collectionName: 'up_roles'; + info: { + description: ''; + displayName: 'Role'; + name: 'role'; + pluralName: 'roles'; + singularName: 'role'; + }; + options: { + draftAndPublish: false; + }; + pluginOptions: { + 'content-manager': { + visible: false; + }; + 'content-type-builder': { + visible: false; + }; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.String; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::users-permissions.role' + > & + Schema.Attribute.Private; + name: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 3; + }>; + permissions: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::users-permissions.permission' + >; + publishedAt: Schema.Attribute.DateTime; + type: Schema.Attribute.String & Schema.Attribute.Unique; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + users: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::users-permissions.user' + >; + }; +} + +export interface PluginUsersPermissionsUser + extends Struct.CollectionTypeSchema { + collectionName: 'up_users'; + info: { + description: ''; + displayName: 'User'; + name: 'user'; + pluralName: 'users'; + singularName: 'user'; + }; + options: { + draftAndPublish: false; + timestamps: true; + }; + attributes: { + blocked: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; + confirmationToken: Schema.Attribute.String & Schema.Attribute.Private; + confirmed: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo; + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + email: Schema.Attribute.Email & + Schema.Attribute.Required & + Schema.Attribute.SetMinMaxLength<{ + minLength: 6; + }>; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'plugin::users-permissions.user' + > & + Schema.Attribute.Private; + password: Schema.Attribute.Password & + Schema.Attribute.Private & + Schema.Attribute.SetMinMaxLength<{ + minLength: 6; + }>; + provider: Schema.Attribute.String; + publishedAt: Schema.Attribute.DateTime; + resetPasswordToken: Schema.Attribute.String & Schema.Attribute.Private; + role: Schema.Attribute.Relation< + 'manyToOne', + 'plugin::users-permissions.role' + >; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + username: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique & + Schema.Attribute.SetMinMaxLength<{ + minLength: 3; + }>; + }; +} + +declare module '@strapi/strapi' { + export module Public { + export interface ContentTypeSchemas { + 'admin::api-token': AdminApiToken; + 'admin::api-token-permission': AdminApiTokenPermission; + 'admin::permission': AdminPermission; + 'admin::role': AdminRole; + 'admin::session': AdminSession; + 'admin::transfer-token': AdminTransferToken; + 'admin::transfer-token-permission': AdminTransferTokenPermission; + 'admin::user': AdminUser; + 'api::category.category': ApiCategoryCategory; + 'api::home-page.home-page': ApiHomePageHomePage; + 'api::site-config.site-config': ApiSiteConfigSiteConfig; + 'api::vendor.vendor': ApiVendorVendor; + 'plugin::content-releases.release': PluginContentReleasesRelease; + 'plugin::content-releases.release-action': PluginContentReleasesReleaseAction; + 'plugin::i18n.locale': PluginI18NLocale; + 'plugin::review-workflows.workflow': PluginReviewWorkflowsWorkflow; + 'plugin::review-workflows.workflow-stage': PluginReviewWorkflowsWorkflowStage; + 'plugin::upload.file': PluginUploadFile; + 'plugin::upload.folder': PluginUploadFolder; + 'plugin::users-permissions.permission': PluginUsersPermissionsPermission; + 'plugin::users-permissions.role': PluginUsersPermissionsRole; + 'plugin::users-permissions.user': PluginUsersPermissionsUser; + } + } +}