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;
+ }
+ }
+}