{
    "openapi": "3.1.1",
    "info": {
        "title": "BoatShowAvenue Account API",
        "version": "1.0.0",
        "description": "Account-scoped server integrations. Deployment must explicitly enable the API. Test credentials require a separately configured test host. See /developers.php. Listing media is public marketing content. Private document storage and malware scanning are not included. Quotas and errors apply equally to browser-independent Bearer credentials."
    },
    "servers": [
        {
            "url": "https://www.boatshowavenue.com/api/v1",
            "description": "Production after API activation."
        }
    ],
    "security": [
        {
            "BearerKey": []
        }
    ],
    "paths": {
        "/account": {
            "get": {
                "operationId": "get_account",
                "summary": "GET /account",
                "x-required-scope": "account:read",
                "description": "Requires account:read and corresponding active account role and feature permission.",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Account"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/team": {
            "get": {
                "operationId": "get_team",
                "summary": "GET /team",
                "x-required-scope": "team:read",
                "description": "Requires team:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Limit"
                    },
                    {
                        "$ref": "#/components/parameters/Cursor"
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Fields"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/TeamMember"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        },
                                        "next_cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/usage": {
            "get": {
                "operationId": "get_usage",
                "summary": "GET /usage",
                "x-required-scope": "usage:read",
                "description": "Requires usage:read and corresponding active account role and feature permission.",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Usage"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/references": {
            "get": {
                "operationId": "get_references",
                "summary": "GET /references",
                "x-required-scope": "reference:read",
                "description": "Requires reference:read and corresponding active account role and feature permission.",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/References"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/listings": {
            "get": {
                "operationId": "get_listings",
                "summary": "GET /listings",
                "x-required-scope": "listings:read",
                "description": "Requires listings:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Limit"
                    },
                    {
                        "$ref": "#/components/parameters/Cursor"
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Fields"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "maxLength": 100
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "draft",
                                "pending_approval",
                                "published",
                                "rejected",
                                "archived"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Listing"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        },
                                        "next_cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "post_listings",
                "summary": "POST /listings",
                "x-required-scope": "listings:write",
                "description": "Requires listings:write and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "allOf": [
                                    {
                                        "$ref": "#/components/schemas/ListingInput"
                                    }
                                ],
                                "required": [
                                    "year",
                                    "make",
                                    "model",
                                    "length",
                                    "price",
                                    "location",
                                    "country",
                                    "description",
                                    "condition",
                                    "primary_category"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/listings/{listing_id}": {
            "get": {
                "operationId": "get_listings_listing_id",
                "summary": "GET /listings/{listing_id}",
                "x-required-scope": "listings:read",
                "description": "Requires listings:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "operationId": "patch_listings_listing_id",
                "summary": "PATCH /listings/{listing_id}",
                "x-required-scope": "listings:write",
                "description": "Requires listings:write and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ListingInput"
                            }
                        }
                    }
                }
            },
            "delete": {
                "operationId": "delete_listings_listing_id",
                "summary": "DELETE /listings/{listing_id}",
                "x-required-scope": "listings:delete",
                "description": "Requires listings:delete and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/listings/{listing_id}/publish": {
            "post": {
                "operationId": "post_listings_listing_id_publish",
                "summary": "POST /listings/{listing_id}/publish",
                "x-required-scope": "listings:publish",
                "description": "Requires listings:publish and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/listings/{listing_id}/unpublish": {
            "post": {
                "operationId": "post_listings_listing_id_unpublish",
                "summary": "POST /listings/{listing_id}/unpublish",
                "x-required-scope": "listings:publish",
                "description": "Requires listings:publish and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/listings/{listing_id}/archive": {
            "post": {
                "operationId": "post_listings_listing_id_archive",
                "summary": "POST /listings/{listing_id}/archive",
                "x-required-scope": "listings:write",
                "description": "Requires listings:write and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Listing"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/listings/{listing_id}/media": {
            "get": {
                "operationId": "get_listings_listing_id_media",
                "summary": "GET /listings/{listing_id}/media",
                "x-required-scope": "media:read",
                "description": "Requires media:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Media"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "post_listings_listing_id_media",
                "summary": "POST /listings/{listing_id}/media",
                "x-required-scope": "media:write",
                "description": "Requires media:write and corresponding active account role and feature permission. One file per request: photos at most 25 MiB/40 megapixels, MP4/PDF at most 100 MiB. Listing media is public content; never upload confidential documents.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    },
                    {
                        "name": "field",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "cover_image",
                                "photo_gallery",
                                "video_gallery",
                                "document_uploads"
                            ],
                            "default": "photo_gallery"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Media"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "required": [
                                    "file"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/listings/{listing_id}/media/{media_id}": {
            "delete": {
                "operationId": "delete_listings_listing_id_media_media_id",
                "summary": "DELETE /listings/{listing_id}/media/{media_id}",
                "x-required-scope": "media:write",
                "description": "Requires media:write and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "listing_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "media_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Media"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leads": {
            "get": {
                "operationId": "get_leads",
                "summary": "GET /leads",
                "x-required-scope": "leads:read",
                "description": "Requires leads:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Limit"
                    },
                    {
                        "$ref": "#/components/parameters/Cursor"
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Fields"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Lead"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        },
                                        "next_cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/leads/{lead_id}": {
            "patch": {
                "operationId": "patch_leads_lead_id",
                "summary": "PATCH /leads/{lead_id}",
                "x-required-scope": "leads:write",
                "description": "Requires leads:write and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "lead_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    },
                    {
                        "$ref": "#/components/parameters/IfMatch"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Lead"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        },
                        "headers": {
                            "ETag": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "priority",
                                            "archived"
                                        ]
                                    }
                                },
                                "required": [
                                    "status"
                                ],
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        },
        "/conversations": {
            "get": {
                "operationId": "get_conversations",
                "summary": "GET /conversations",
                "x-required-scope": "messages:read",
                "description": "Requires messages:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Limit"
                    },
                    {
                        "$ref": "#/components/parameters/Cursor"
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Fields"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Conversation"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        },
                                        "next_cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/conversations/{conversation_id}/messages": {
            "get": {
                "operationId": "get_conversations_conversation_id_messages",
                "summary": "GET /conversations/{conversation_id}/messages",
                "x-required-scope": "messages:read",
                "description": "Requires messages:read and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "conversation_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Limit"
                    },
                    {
                        "$ref": "#/components/parameters/Cursor"
                    },
                    {
                        "$ref": "#/components/parameters/Sort"
                    },
                    {
                        "$ref": "#/components/parameters/Fields"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Message"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        },
                                        "next_cursor": {
                                            "type": [
                                                "string",
                                                "null"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "post_conversations_conversation_id_messages",
                "summary": "POST /conversations/{conversation_id}/messages",
                "x-required-scope": "messages:send",
                "description": "Requires messages:send and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "conversation_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Queued",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Message"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "body": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 10000
                                    }
                                },
                                "required": [
                                    "body"
                                ],
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        },
        "/webhooks": {
            "get": {
                "operationId": "get_webhooks",
                "summary": "GET /webhooks",
                "x-required-scope": "webhooks:manage",
                "description": "Requires webhooks:manage and corresponding active account role and feature permission.",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Webhook"
                                            }
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "operationId": "post_webhooks",
                "summary": "POST /webhooks",
                "x-required-scope": "webhooks:manage",
                "description": "Requires webhooks:manage and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Webhook"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "format": "uri"
                                    },
                                    "events": {
                                        "type": "array",
                                        "minItems": 1,
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "required": [
                                    "url",
                                    "events"
                                ],
                                "additionalProperties": false
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/{webhook_id}": {
            "delete": {
                "operationId": "delete_webhooks_webhook_id",
                "summary": "DELETE /webhooks/{webhook_id}",
                "x-required-scope": "webhooks:manage",
                "description": "Requires webhooks:manage and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "webhook_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Webhook"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/{webhook_id}/rotate": {
            "post": {
                "operationId": "post_webhooks_webhook_id_rotate",
                "summary": "POST /webhooks/{webhook_id}/rotate",
                "x-required-scope": "webhooks:manage",
                "description": "Requires webhooks:manage and corresponding active account role and feature permission.",
                "parameters": [
                    {
                        "name": "webhook_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/Idempotency"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Webhook"
                                        },
                                        "request_id": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "data",
                                        "request_id"
                                    ]
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "RFC 9457 problem: 400 malformed, 401 credentials, 403 permission, 404 missing/foreign resource, 409 conflict/capacity, 412 stale version, 413 size, 415 media type, 422 validation, 428 version required, 429 quota, 503 dependency failure.",
                        "content": {
                            "application/problem+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Problem"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "BearerKey": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "bsa_{test|live}_key_{id}_{secret}"
            }
        },
        "parameters": {
            "Idempotency": {
                "name": "Idempotency-Key",
                "in": "header",
                "required": true,
                "schema": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9._:-]{8,128}$"
                },
                "description": "Reuse the exact request when retrying; retained seven days."
            },
            "IfMatch": {
                "name": "If-Match",
                "in": "header",
                "required": true,
                "schema": {
                    "type": "string"
                },
                "description": "Quoted resource version from the ETag, e.g. \"1\"."
            },
            "Limit": {
                "name": "limit",
                "in": "query",
                "schema": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100,
                    "default": 25
                }
            },
            "Cursor": {
                "name": "cursor",
                "in": "query",
                "schema": {
                    "type": "string"
                }
            },
            "Sort": {
                "name": "sort",
                "in": "query",
                "schema": {
                    "type": "string",
                    "enum": [
                        "id",
                        "-id"
                    ],
                    "default": "id"
                }
            },
            "Fields": {
                "name": "fields",
                "in": "query",
                "schema": {
                    "type": "string"
                },
                "description": "Comma-separated response fields. id remains included."
            }
        },
        "schemas": {
            "Problem": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "status": {
                        "type": "integer"
                    },
                    "detail": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string"
                    },
                    "request_id": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "title",
                    "status"
                ]
            },
            "Price": {
                "type": "object",
                "properties": {
                    "amount": {
                        "type": "string",
                        "pattern": "^[0-9]{1,10}(\\.00)?$"
                    },
                    "currency": {
                        "type": "string",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "CAD",
                            "AUD"
                        ]
                    }
                },
                "required": [
                    "amount",
                    "currency"
                ],
                "additionalProperties": false
            },
            "ListingInput": {
                "type": "object",
                "properties": {
                    "title": {
                        "type": "string"
                    },
                    "make": {
                        "type": "string"
                    },
                    "model": {
                        "type": "string"
                    },
                    "location": {
                        "type": "string"
                    },
                    "country": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "primary_category": {
                        "type": "string"
                    },
                    "secondary_category": {
                        "type": "string"
                    },
                    "boat_type": {
                        "type": "string"
                    },
                    "engine_type": {
                        "type": "string"
                    },
                    "fuel": {
                        "type": "string"
                    },
                    "hull_material": {
                        "type": "string"
                    },
                    "features": {
                        "type": "string"
                    },
                    "year": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "length": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "beam": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "draft": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "cabins": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "heads": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "guest_capacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "crew_capacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "engine_hours": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "max_speed": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000
                    },
                    "length_unit": {
                        "type": "string",
                        "enum": [
                            "ft",
                            "m"
                        ]
                    },
                    "condition": {
                        "type": "string",
                        "enum": [
                            "new",
                            "used"
                        ]
                    },
                    "price": {
                        "$ref": "#/components/schemas/Price"
                    }
                },
                "required": [],
                "additionalProperties": false
            },
            "Listing": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "make": {
                        "type": "string"
                    },
                    "model": {
                        "type": "string"
                    },
                    "length_unit": {
                        "type": "string"
                    },
                    "condition": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "location": {
                        "type": "string"
                    },
                    "country": {
                        "type": "string"
                    },
                    "publication_status": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "year": {
                        "type": "integer"
                    },
                    "length": {
                        "type": "number"
                    },
                    "version": {
                        "type": "integer"
                    },
                    "price": {
                        "$ref": "#/components/schemas/Price"
                    }
                },
                "required": [
                    "id"
                ]
            },
            "Account": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string"
                    }
                },
                "required": [
                    "id"
                ]
            },
            "TeamMember": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "role": {
                        "type": "string",
                        "enum": [
                            "owner",
                            "admin",
                            "member",
                            "viewer",
                            "billing_manager"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "active",
                            "inactive"
                        ]
                    }
                },
                "required": [
                    "id"
                ]
            },
            "Lead": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "version": {
                        "type": "integer"
                    }
                },
                "required": [
                    "id"
                ]
            },
            "Conversation": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "subject": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "id"
                ]
            },
            "Message": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "direction": {
                        "type": "string"
                    },
                    "body": {
                        "type": "string"
                    },
                    "delivery_status": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "id"
                ]
            },
            "Media": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "field": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "url": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "status": {
                        "type": "string"
                    },
                    "position": {
                        "type": "integer"
                    },
                    "listing_version": {
                        "type": "integer"
                    }
                },
                "required": [
                    "id"
                ]
            },
            "Webhook": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    },
                    "signing_secret": {
                        "type": "string"
                    },
                    "previous_secret_valid_until": {
                        "type": "string"
                    },
                    "events": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": []
            },
            "Usage": {
                "type": "object",
                "properties": {
                    "plan": {
                        "type": "string"
                    },
                    "access_source": {
                        "type": "string"
                    },
                    "limits": {
                        "type": "object",
                        "additionalProperties": {
                            "type": [
                                "integer",
                                "null"
                            ]
                        }
                    },
                    "usage": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "integer"
                        }
                    },
                    "launch_ends_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": []
            },
            "References": {
                "type": "object",
                "description": "Public category codes/labels, countries and supported currencies."
            }
        }
    }
}
