{
    "openapi": "3.1.0",
    "info": {
        "title": "Allegro REST API",
        "version": "1.0",
        "description": "Endpoints that use authenticated user tokens."
    },
    "servers": [
        {
            "url": "https://{tenant}.allegro.io/api/v1",
            "variables": {
                "tenant": {
                    "default": "example",
                    "description": "The tenant slug."
                }
            }
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "/user": {
            "get": {
                "responses": {
                    "200": {
                        "description": "`User`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/User"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members/{memberId}/sessions": {
            "get": {
                "operationId": "audienceDeviceSession.index",
                "description": "Retrieve all device sessions for a given audience member.",
                "summary": "List Audience Device Sessions",
                "tags": [
                    "AudienceDeviceSession"
                ],
                "parameters": [
                    {
                        "name": "memberId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "audienceMember"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "fields[audience_device_sessions]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "is_authenticated",
                                    "authenticated_at",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `AudienceDeviceSessionResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AudienceDeviceSessionResource"
                                            }
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members": {
            "get": {
                "operationId": "audienceMember.index",
                "description": "Retrieve a paginated list of audience members. Supports filtering by `email`,\n`foreign_key`, and optionally including soft-deleted members via `include_deleted`.",
                "summary": "List Audience Members",
                "tags": [
                    "AudienceMember"
                ],
                "parameters": [
                    {
                        "name": "email",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foreign_key[key]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "foreign_key[value]",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "externalProfiles",
                                    "sessions"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "fields[audience_members]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "email",
                                    "email_verified",
                                    "meta",
                                    "entitlements",
                                    "purchases",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paginated set of `AudienceMemberResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AudienceMemberResource"
                                            }
                                        },
                                        "links": {
                                            "type": "object",
                                            "properties": {
                                                "first": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "last": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "prev": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                },
                                                "next": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "first",
                                                "last",
                                                "prev",
                                                "next"
                                            ]
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "from": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "minimum": 1
                                                },
                                                "last_page": {
                                                    "type": "integer",
                                                    "minimum": 1
                                                },
                                                "links": {
                                                    "type": "array",
                                                    "description": "Generated paginator links.",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "url": {
                                                                "type": [
                                                                    "string",
                                                                    "null"
                                                                ]
                                                            },
                                                            "label": {
                                                                "type": "string"
                                                            },
                                                            "active": {
                                                                "type": "boolean"
                                                            }
                                                        },
                                                        "required": [
                                                            "url",
                                                            "label",
                                                            "active"
                                                        ]
                                                    }
                                                },
                                                "path": {
                                                    "type": [
                                                        "string",
                                                        "null"
                                                    ],
                                                    "description": "Base path for paginator generated URLs."
                                                },
                                                "per_page": {
                                                    "type": "integer",
                                                    "description": "Number of items shown per page.",
                                                    "minimum": 0
                                                },
                                                "to": {
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ],
                                                    "description": "Number of the last item in the slice.",
                                                    "minimum": 1
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "description": "Total number of items being paginated.",
                                                    "minimum": 0
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "from",
                                                "last_page",
                                                "links",
                                                "path",
                                                "per_page",
                                                "to",
                                                "total"
                                            ]
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "links",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "audienceMember.store",
                "description": "Create a new audience member with the provided attributes and optional meta data.",
                "summary": "Create Audience Member",
                "tags": [
                    "AudienceMember"
                ],
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "externalProfiles",
                                    "sessions"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "fields[audience_members]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "email",
                                    "email_verified",
                                    "meta",
                                    "entitlements",
                                    "purchases",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAudienceMemberRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`AudienceMemberResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AudienceMemberResource"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members/{id}": {
            "get": {
                "operationId": "audienceMember.show",
                "description": "Retrieve a single audience member by their ID.",
                "summary": "Get Audience Member",
                "tags": [
                    "AudienceMember"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`AudienceMemberResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AudienceMemberResource"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "audienceMember.update",
                "description": "Fully replace an audience member's attributes and metadata.\n\nIf meta is passed, all existing meta will be removed and replaced with the provided values. Otherwise, it\nwill be left alone.",
                "summary": "Update Audience Member",
                "tags": [
                    "AudienceMember"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplaceAudienceMemberRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AudienceMemberResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AudienceMemberResource"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "patch": {
                "operationId": "audienceMember.patch",
                "description": "Partially update an audience member's attributes and meta data. Meta values\nset to `null` will be removed; all other values will be merged.",
                "summary": "Patch Audience Member",
                "tags": [
                    "AudienceMember"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PatchAudienceMemberRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`AudienceMemberResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AudienceMemberResource"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "delete": {
                "operationId": "audienceMember.destroy",
                "description": "Soft-delete an audience member by their ID.",
                "summary": "Delete Audience Member",
                "tags": [
                    "AudienceMember"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members/{id}/external-profiles": {
            "get": {
                "operationId": "audienceMemberExternalProfile.index",
                "description": "List all external profiles for the given audience member.",
                "summary": "List External Profiles",
                "tags": [
                    "AudienceMemberExternalProfile"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `AudienceMemberExternalProfileResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AudienceMemberExternalProfileResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members/{id}/external-profiles/{provider}": {
            "get": {
                "operationId": "audienceMemberExternalProfile.show",
                "description": "Get a single external profile for the given audience member by provider key.",
                "summary": "Get External Profile",
                "tags": [
                    "AudienceMemberExternalProfile"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`AudienceMemberExternalProfileResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AudienceMemberExternalProfileResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "audienceMemberExternalProfile.upsert",
                "description": "Create or update an external profile for the given audience member and provider key.",
                "summary": "Upsert External Profile",
                "tags": [
                    "AudienceMemberExternalProfile"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "audienceMemberExternalProfile.destroy",
                "description": "Delete the external profile for the given audience member and provider key.",
                "summary": "Delete External Profile",
                "tags": [
                    "AudienceMemberExternalProfile"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "provider",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members/{id}/foreign-keys": {
            "get": {
                "operationId": "audienceMemberForeignKey.index",
                "description": "Retrieve all foreign keys associated with an audience member.",
                "summary": "List Foreign Keys",
                "tags": [
                    "AudienceMemberForeignKey"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "fields[audience_member_foreign_keys]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "key",
                                    "value",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `AudienceMemberForeignKeyResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/AudienceMemberForeignKeyResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "audienceMemberForeignKey.store",
                "description": "Add a new foreign key to an audience member.",
                "summary": "Create Foreign Key",
                "tags": [
                    "AudienceMemberForeignKey"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "fields[audience_member_foreign_keys]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "key",
                                    "value",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreAudienceMemberForeignKeyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`AudienceMemberForeignKeyResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/AudienceMemberForeignKeyResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/audience-members/{id}/foreign-keys/{key}": {
            "delete": {
                "operationId": "audienceMemberForeignKey.destroy",
                "description": "Remove a foreign key from an audience member by its key name.",
                "summary": "Delete Foreign Key",
                "tags": [
                    "AudienceMemberForeignKey"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "key",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/audience-members/{memberId}/entitlements": {
            "get": {
                "operationId": "entitlement.index",
                "description": "Retrieve all entitlements for a given audience member, including their associated resources.\nSupports optional ?status=active|inactive filter.",
                "summary": "List Entitlements",
                "tags": [
                    "Entitlement"
                ],
                "parameters": [
                    {
                        "name": "memberId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "enum": [
                                "active",
                                "inactive"
                            ]
                        }
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "audienceMember",
                                    "product"
                                ]
                            }
                        },
                        "explode": false
                    },
                    {
                        "name": "fields[entitlements]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "id",
                                    "product",
                                    "started_at",
                                    "ended_at",
                                    "note",
                                    "is_active",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `EntitlementResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/EntitlementResource"
                                            }
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "entitlement.store",
                "description": "Grant a new entitlement to an audience member.",
                "summary": "Create Entitlement",
                "tags": [
                    "Entitlement"
                ],
                "parameters": [
                    {
                        "name": "memberId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreEntitlementRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/audience-members/{memberId}/entitlements/{entitlementId}": {
            "get": {
                "operationId": "entitlement.show",
                "description": "Retrieve a specific entitlement for a given audience member.",
                "summary": "Get Entitlement",
                "tags": [
                    "Entitlement"
                ],
                "parameters": [
                    {
                        "name": "memberId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "entitlementId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`EntitlementResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EntitlementResource"
                                        },
                                        "included": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/JsonApiResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "delete": {
                "operationId": "entitlement.destroy",
                "description": "Revoke a specific entitlement from an audience member.",
                "summary": "Revoke Entitlement",
                "tags": [
                    "Entitlement"
                ],
                "parameters": [
                    {
                        "name": "memberId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "entitlementId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/platform/events": {
            "get": {
                "operationId": "eventQueue.index",
                "description": "Return up to 10,000 events from the front of the Redis list.",
                "summary": "List Queued Events",
                "tags": [
                    "EventQueue"
                ],
                "responses": {
                    "200": {
                        "description": "`EventBatchResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/EventBatchResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "delete": {
                "operationId": "eventQueue.destroy",
                "description": "Remove exactly `count` events from the front of the Redis list. The caller\nmust pass `?count=N` where N matches the count returned by the list endpoint\nto prevent deleting events that arrived after the read.",
                "summary": "Flush Queued Events",
                "tags": [
                    "EventQueue"
                ],
                "parameters": [
                    {
                        "name": "count",
                        "in": "query",
                        "required": true,
                        "description": "The number of events to delete from the front of the queue. Must match the count returned by the list endpoint.",
                        "schema": {
                            "type": "integer",
                            "minimum": 1
                        },
                        "example": 100
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/interactions/{id}": {
            "get": {
                "operationId": "interaction.show",
                "description": "Retrieve a single interaction by its ID or slug. Published interactions are\npublicly accessible; unpublished interactions require authorization.",
                "summary": "Get Interaction",
                "tags": [
                    "Interaction"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/products": {
            "get": {
                "operationId": "product.index",
                "description": "Retrieve all products ordered by most recently created.",
                "summary": "List Products",
                "tags": [
                    "Product"
                ],
                "parameters": [
                    {
                        "name": "fields[products]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "slug",
                                    "description",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Array of `ProductResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProductResource"
                                            }
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "product.store",
                "description": "Create a new product with the provided attributes.",
                "summary": "Create Product",
                "tags": [
                    "Product"
                ],
                "parameters": [
                    {
                        "name": "fields[products]",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "enum": [
                                    "name",
                                    "slug",
                                    "description",
                                    "created_at",
                                    "updated_at"
                                ]
                            }
                        },
                        "explode": false
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StoreProductRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "`ProductResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProductResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            }
        },
        "/products/{id}": {
            "get": {
                "operationId": "product.show",
                "description": "Retrieve a single product by its ID.",
                "summary": "Get Product",
                "tags": [
                    "Product"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`ProductResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProductResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "product.update",
                "description": "Update the name of an existing product.",
                "summary": "Update Product",
                "tags": [
                    "Product"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UpdateProductRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "`ProductResource`",
                        "content": {
                            "application/vnd.api+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ProductResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "product.destroy",
                "description": "Permanently delete a product by its ID.",
                "summary": "Delete Product",
                "tags": [
                    "Product"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No content"
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        },
        "/templates/{id}": {
            "get": {
                "operationId": "template.show",
                "description": "Retrieve a single template by its ID.",
                "summary": "Get Template",
                "tags": [
                    "Template"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "`TemplateResource`",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/TemplateResource"
                                        }
                                    },
                                    "required": [
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/AuthorizationException"
                    },
                    "401": {
                        "$ref": "#/components/responses/AuthenticationException"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "AudienceDeviceSessionResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "const": "audience_device_sessions"
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "is_authenticated": {
                                "type": "string"
                            },
                            "authenticated_at": {
                                "type": "string"
                            },
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            }
                        }
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "audienceMember": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "type"
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "AudienceDeviceSessionResource"
            },
            "AudienceMemberExternalProfileResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "const": "audience_member_external_profiles"
                    },
                    "meta": {
                        "type": "object",
                        "properties": {
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "created_at",
                            "updated_at"
                        ]
                    }
                },
                "required": [
                    "id",
                    "type",
                    "meta"
                ],
                "title": "AudienceMemberExternalProfileResource"
            },
            "AudienceMemberForeignKeyResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "const": "audience_member_foreign_keys"
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "key": {
                                "type": "string"
                            },
                            "value": {
                                "type": "string"
                            },
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "AudienceMemberForeignKeyResource"
            },
            "AudienceMemberResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "const": "audience_members"
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "email": {
                                "type": "string"
                            },
                            "email_verified": {
                                "type": "string"
                            },
                            "meta": {
                                "type": "string"
                            },
                            "entitlements": {
                                "anyOf": [
                                    {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/EntitlementResource"
                                        }
                                    },
                                    {
                                        "type": "object"
                                    }
                                ]
                            },
                            "purchases": {
                                "anyOf": [
                                    {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/PurchaseResource"
                                        }
                                    },
                                    {
                                        "type": "object"
                                    }
                                ]
                            },
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            }
                        }
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "externalProfiles": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "type"
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "sessions": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "type"
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "AudienceMemberResource"
            },
            "EntitlementResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "const": "entitlements"
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "product": {
                                "anyOf": [
                                    {
                                        "$ref": "#/components/schemas/ProductResource"
                                    },
                                    {
                                        "type": "object"
                                    }
                                ]
                            },
                            "started_at": {
                                "type": "string"
                            },
                            "ended_at": {
                                "type": "string"
                            },
                            "note": {
                                "type": "string"
                            },
                            "is_active": {
                                "type": "string"
                            },
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            }
                        }
                    },
                    "relationships": {
                        "type": "object",
                        "properties": {
                            "audienceMember": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "type"
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            },
                            "product": {
                                "type": "object",
                                "properties": {
                                    "data": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "id",
                                            "type"
                                        ]
                                    }
                                },
                                "required": [
                                    "data"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "EntitlementResource"
            },
            "EventBatchResource": {
                "type": "object",
                "properties": {
                    "count": {
                        "type": "string"
                    },
                    "events": {
                        "type": "string"
                    }
                },
                "required": [
                    "count",
                    "events"
                ],
                "title": "EventBatchResource"
            },
            "JsonApiResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "JsonApiResource"
            },
            "PatchAudienceMemberRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "email_verified": {
                        "type": "string"
                    },
                    "meta": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                },
                "title": "PatchAudienceMemberRequest"
            },
            "ProductResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "const": "products"
                    },
                    "attributes": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "slug": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            }
                        }
                    }
                },
                "required": [
                    "id",
                    "type"
                ],
                "title": "ProductResource"
            },
            "PurchaseResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "status_label": {
                        "type": "string"
                    },
                    "amount": {
                        "type": "string"
                    },
                    "formatted_amount": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "provider": {
                        "type": "string"
                    },
                    "provider_session_id": {
                        "type": "string"
                    },
                    "provider_payment_id": {
                        "type": "string"
                    },
                    "provider_refund_id": {
                        "type": "string"
                    },
                    "has_active_entitlement": {
                        "anyOf": [
                            {
                                "type": "string"
                            },
                            {
                                "type": "boolean"
                            }
                        ]
                    },
                    "plan": {
                        "type": "string"
                    },
                    "audience_member": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "email": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "display_name": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "email",
                            "name",
                            "display_name"
                        ]
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "status",
                    "status_label",
                    "amount",
                    "formatted_amount",
                    "currency",
                    "provider",
                    "provider_session_id",
                    "provider_payment_id",
                    "provider_refund_id",
                    "has_active_entitlement",
                    "plan",
                    "audience_member",
                    "created_at",
                    "updated_at"
                ],
                "title": "PurchaseResource"
            },
            "ReplaceAudienceMemberRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "email_verified": {
                        "type": "string"
                    },
                    "meta": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                },
                "required": [
                    "name",
                    "email"
                ],
                "title": "ReplaceAudienceMemberRequest"
            },
            "StoreAudienceMemberForeignKeyRequest": {
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string",
                        "pattern": "^[a-z0-9_-]+$",
                        "maxLength": 50
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "required": [
                    "key",
                    "value"
                ],
                "title": "StoreAudienceMemberForeignKeyRequest"
            },
            "StoreAudienceMemberRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "email_verified": {
                        "type": "boolean"
                    },
                    "meta": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                },
                "required": [
                    "name",
                    "email",
                    "email_verified"
                ],
                "title": "StoreAudienceMemberRequest"
            },
            "StoreEntitlementRequest": {
                "type": "object",
                "properties": {
                    "product_id": {
                        "type": "string"
                    },
                    "started_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "ended_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "note": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 1000
                    }
                },
                "required": [
                    "product_id"
                ],
                "title": "StoreEntitlementRequest"
            },
            "StoreProductRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "slug": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "slug"
                ],
                "title": "StoreProductRequest"
            },
            "TemplateResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "html": {
                        "type": "string"
                    },
                    "css": {
                        "type": "string"
                    },
                    "js": {
                        "type": "string"
                    },
                    "external_css_urls": {
                        "type": "string"
                    },
                    "fields": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "title",
                    "html",
                    "css",
                    "js",
                    "external_css_urls",
                    "fields"
                ],
                "title": "TemplateResource"
            },
            "UpdateProductRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "slug": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "description": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name"
                ],
                "title": "UpdateProductRequest"
            },
            "User": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "email_verified_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "two_factor_confirmed_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "google_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "appearance": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "date-time"
                    },
                    "gravatar_url": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "name",
                    "email",
                    "email_verified_at",
                    "two_factor_confirmed_at",
                    "google_id",
                    "appearance",
                    "created_at",
                    "updated_at",
                    "gravatar_url"
                ],
                "title": "User"
            }
        },
        "responses": {
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            },
            "AuthorizationException": {
                "description": "Authorization error",
                "content": {
                    "application/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}