{"openapi":"3.1.0","info":{"description":"Build against the current public Ordering.co API contract for project-scoped businesses, menus, products, carts, orders, users, delivery, payments, loyalty, and reporting.\n\n### Request URL\n\nUse the server shown here. Every request includes the API version, response language, project code (the tenant), and resource path. Use only project values from an approved environment; never copy credentials, project identifiers, or customer data from documentation examples.\n\n### Authentication\n\nAuthentication is operation-specific. An operation may use a session bearer token, an API key, either option, or no operation-level authentication. Follow the security block for the operation you are calling. Keep tokens and API keys server-side and out of source control, browser bundles, screenshots, and logs.\n\n### Responses and queries\n\nMany operations use an `error` and `result` envelope, but status codes, pagination, filters, fields, and relation expansion vary by operation. Scalar is authoritative for the current schema.\n\nRead the [API summary](/api-reference/guides/api-summary), [authentication guide](/api-reference/guides/users-authentication), [pagination guide](/api-reference/guides/pagination), and [filtering guide](/api-reference/guides/filtering) for reviewed context.","license":{"name":"Proprietary - Ordering.co"},"title":"Ordering API","version":"400"},"servers":[{"url":"https://api.ordering.co/{version}/{lang}/{project}","variables":{"version":{"enum":["v400"],"default":"v400"},"lang":{"default":"en"},"project":{"default":"demo"}}}],"security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"tags":[{"description":"AI agents: agent setup and configuration, its connection to the messaging provider, conversations and messages, templates, translations, metrics, and reports.","name":"AI"},{"name":"auth"},{"name":"backoffice"},{"name":"banner"},{"name":"banners"},{"name":"bulks"},{"name":"business"},{"name":"business_types"},{"name":"businesses"},{"name":"cart_groups"},{"name":"carts"},{"name":"categories"},{"name":"checkoutfields"},{"name":"codes"},{"name":"config_categories"},{"name":"configs"},{"name":"controls"},{"name":"countries"},{"name":"current"},{"name":"delivery_options"},{"name":"delivery_zones"},{"name":"devices"},{"name":"driver_companies"},{"name":"drivergroups"},{"name":"drivers"},{"name":"dropdownoptions"},{"name":"emails"},{"name":"event_rules"},{"name":"fees"},{"name":"files"},{"name":"franchises"},{"name":"frontends"},{"name":"gift_cards"},{"name":"helpers"},{"name":"importers"},{"name":"internal_name"},{"name":"languages"},{"name":"logistic"},{"name":"logs"},{"name":"loyalty_levels"},{"name":"loyalty_plans"},{"name":"marketing_campaigns"},{"name":"markups"},{"name":"mcp"},{"name":"occupations"},{"name":"offers"},{"name":"order_groups"},{"name":"order_options"},{"name":"orders"},{"name":"orders_deprecate.csv"},{"name":"pages"},{"name":"payments"},{"name":"paymethods"},{"name":"platform_products"},{"name":"printers"},{"name":"products"},{"name":"professionals"},{"name":"reports"},{"name":"schools"},{"name":"search"},{"name":"seo"},{"name":"syncs"},{"name":"tags"},{"name":"target"},{"name":"taxes"},{"name":"text_messages"},{"name":"theme"},{"name":"themes"},{"name":"third_party_integrations"},{"name":"tracking_events"},{"name":"translations"},{"name":"usage_limits"},{"name":"users"},{"name":"users.csv"},{"name":"users_new.csv"},{"name":"validation_field_order_types"},{"name":"validation_field_sites"},{"name":"validationfields"},{"name":"waiter_managers"},{"name":"waiters"},{"name":"webhooks"},{"name":"xml"},{"name":"zapier"}],"paths":{"/ai/agents/{agent_id}/templates":{"get":{"operationId":"AgentTemplate.findAll","tags":["AI"],"summary":"/ai/agents/{agent_id}/templates","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"status","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{agent_id}/templates/refresh":{"post":{"operationId":"AgentTemplate.refresh","tags":["AI"],"summary":"/ai/agents/{agent_id}/templates/refresh","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{agent_id}/templates/sync":{"post":{"operationId":"AgentTemplate.sync","tags":["AI"],"summary":"/ai/agents/{agent_id}/templates/sync","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"delete_removed":{"default":false,"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{agent_id}/templates/{template_id}/send":{"post":{"operationId":"AgentTemplate.send","tags":["AI"],"summary":"/ai/agents/{agent_id}/templates/{template_id}/send","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"template_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body_parameters":{"items":{"type":"string"},"type":"array"},"to":{"maxLength":15,"minLength":10,"type":"string"}},"required":["to"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{agent_id}/translations":{"get":{"operationId":"AgentTranslation.findAll","tags":["AI"],"summary":"/ai/agents/{agent_id}/translations","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"locale","required":false,"schema":{"enum":["en","es","fr","ar"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"patch":{"operationId":"AgentTranslation.update.patch","tags":["AI"],"summary":"/ai/agents/{agent_id}/translations","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"translations":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"message":{"type":["string","null"]},"translations":{}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"AgentTranslation.update.put","tags":["AI"],"summary":"/ai/agents/{agent_id}/translations","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"translations":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"message":{"type":["string","null"]},"translations":{}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{agent_id}/translations/copy":{"post":{"operationId":"AgentTranslation.copy","tags":["AI"],"summary":"/ai/agents/{agent_id}/translations/copy","parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"source_agent_id":{"type":"integer"}},"required":["source_agent_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{provider_external_id}/conversations/current":{"get":{"operationId":"AgentConversation.findCurrentByExternalId","tags":["AI"],"summary":"Get the active conversation currently associated with an agent","description":"Retrieves or creates the active conversation for an agent identified by an external provider ID","parameters":[{"in":"path","name":"provider_external_id","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/AIConversationProjection"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/agents/{provider_external_id}/conversations/current/messages":{"get":{"operationId":"AgentConversationMessage.findAllByExternalId","tags":["AI"],"summary":"Get all messages from the current conversation","description":"Retrieves all public messages from the current active conversation for an agent","parameters":[{"in":"path","name":"provider_external_id","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/AIConversationMessageProjection"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/conversations":{"get":{"operationId":"Conversation.findAll","tags":["AI"],"summary":"Get all conversations","description":"Retrieves a paginated list of AI conversations with optional filtering, ordering, and relationship loading","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"allOf":[{"$ref":"#/components/schemas/AIConversation"},{"properties":{"messages_count":{"type":["integer","null"]}},"type":"object"}]},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the AIConversation projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/conversations/{conversation_id}":{"get":{"operationId":"Conversation.find","tags":["AI"],"summary":"Get a specific conversation","description":"Retrieves a single AI conversation by ID with optional relationship loading","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"allOf":[{"$ref":"#/components/schemas/AIConversation"},{"properties":{"messages_count":{"type":["integer","null"]}},"type":"object"}]}},"type":"object"}]}}},"description":"Successful envelope. `result` is the AIConversation projection selected by RequestQueryHelper::getFields."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/conversations/{conversation_id}/messages":{"get":{"operationId":"ConversationMessage.findAll","tags":["AI"],"summary":"Get all messages from a conversation","description":"Retrieves a paginated list of messages from a specific conversation with optional filtering and ordering","parameters":[{"in":"path","name":"conversation_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/AIConversationMessage"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the AIConversationMessage projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/metrics/agents":{"get":{"operationId":"Metrics.agents","tags":["AI"],"summary":"Get AI agents metrics","description":"Returns orders grouped by agent (provider + provider_type):\n\n**Agent Metrics:**\n- Provider and provider_type\n- Number of orders\n- Revenue generated\n- Participation percentage (% of total orders)\n\n**Sorting:**\nAgents are sorted by number of orders in descending order.\n\n**Time Period:**\n- Without `month` parameter: Returns agents from current day\n- With `month` parameter: Returns agents from specified month\n\n**Timezone:**\n- Use `timezone` (IANA format like \"America/New_York\") or `timezone_offset` (hours from UTC)\n- If neither provided, uses UTC\n\n**Optional Filtering:**\nUse the `business_id` or `franchise_id` parameters to filter all metrics by a specific business or franchise.","parameters":[{"in":"query","name":"business_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"franchise_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"month","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone_offset","required":false,"schema":{"maximum":14,"minimum":-12,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/metrics/chats":{"get":{"operationId":"Metrics.chats","tags":["AI"],"summary":"Get AI chats metrics","description":"Returns detailed conversation (chat) metrics for AI agents:\n\n**Chat Metrics:**\n- Active chats (status: active)\n- Completed chats (status: closed, status_reason: completed)\n- Abandoned chats (status: closed, status_reason: abandoned)\n- Failed chats (status: closed, status_reason: failed)\n- Success rate (% of completed chats vs total chats)\n\n**Comparison:**\nAll metrics (except active chats) include comparison with the previous period showing:\n- Current period value\n- Previous period value\n- Percentage change (positive = growth, negative = decline)\n\n**Time Period:**\n- Without `month` parameter: Returns current day vs previous day\n- With `month` parameter: Returns specified month vs previous month\n\n**Timezone:**\n- Use `timezone` (IANA format like \"America/New_York\") or `timezone_offset` (hours from UTC)\n- If neither provided, uses UTC\n\n**Note:** Active chats only show current period value as they represent current state, not historical data.\n\n**Optional Filtering:**\nUse the `business_id` or `franchise_id` parameters to filter all metrics by a specific business or franchise.","parameters":[{"in":"query","name":"business_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"franchise_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"month","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone_offset","required":false,"schema":{"maximum":14,"minimum":-12,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/metrics/orders":{"get":{"operationId":"Metrics.orders","tags":["AI"],"summary":"Get AI orders metrics","description":"Returns detailed order metrics for AI-assisted orders:\n\n**Order Metrics:**\n- Total orders made with AI (where conversation_id is not null)\n- Total revenue (sum of order.summary.total)\n- Average revenue per order\n- Completed orders (status in 1, 11, 15)\n- Cancelled orders (status in 2, 5, 16)\n- Active orders (status not in completed/cancelled)\n\n**Comparison:**\nAll metrics include comparison with the previous period showing:\n- Current period value\n- Previous period value\n- Percentage change (positive = growth, negative = decline)\n\n**Time Period:**\n- Without `month` parameter: Returns current day vs previous day\n- With `month` parameter: Returns specified month vs previous month\n\n**Timezone:**\n- Use `timezone` (IANA format like \"America/New_York\") or `timezone_offset` (hours from UTC)\n- If neither provided, uses UTC\n\n**Optional Filtering:**\nUse the `business_id` or `franchise_id` parameters to filter all metrics by a specific business or franchise.","parameters":[{"in":"query","name":"business_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"franchise_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"month","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone_offset","required":false,"schema":{"maximum":14,"minimum":-12,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/metrics/overview":{"get":{"operationId":"Metrics.overview","tags":["AI"],"summary":"Get general AI metrics overview","description":"Returns comprehensive order and conversation metrics for AI agents across the platform:\n\n**Orders Metrics:**\n- Orders made with AI (where conversation_id is not null)\n- Total revenue from AI orders (sum of order.summary.total)\n- Average revenue per AI order\n\n**Conversations Metrics:**\n- Total conversations\n- Conversations grouped by provider type\n\n**Comparison:**\nAll metrics include comparison with the previous period showing:\n- Current period value\n- Previous period value\n- Percentage change (positive = growth, negative = decline)\n\n**Time Period:**\n- Without `month` parameter: Returns current day vs previous day\n- With `month` parameter: Returns specified month vs previous month\n\n**Timezone:**\n- Use `timezone` (IANA format like \"America/New_York\") or `timezone_offset` (hours from UTC)\n- If neither provided, uses UTC\n\n**Optional Filtering:**\nUse the `business_id` or `franchise_id` parameters to filter all metrics by a specific business or franchise.","parameters":[{"in":"query","name":"business_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"franchise_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"month","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone_offset","required":false,"schema":{"maximum":14,"minimum":-12,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"conversations":{"description":"Conversation metrics","properties":{"by_provider_type":{"description":"Conversations grouped by provider type","items":{"properties":{"change_percentage":{"description":"Percentage change for this provider","example":14.29,"format":"float","type":"number"},"current":{"description":"Conversations for this provider in current period","example":320,"type":"integer"},"previous":{"description":"Conversations for this provider in the previous period","example":280,"type":"integer"},"provider_type":{"description":"Provider type","example":"chat","type":"string"}},"type":"object"},"type":"array"},"total":{"properties":{"change_percentage":{"description":"Percentage change in conversations","example":14.29,"format":"float","type":"number"},"current":{"description":"Total conversations in current period","example":320,"type":"integer"},"previous":{"description":"Total conversations in previous period","example":280,"type":"integer"}},"type":"object"}},"type":"object"},"orders":{"description":"AI orders metrics","properties":{"change_percentage":{"description":"Percentage change from previous to current period","example":25,"format":"float","type":"number"},"current":{"description":"Number of orders with AI in current period","example":150,"type":"integer"},"previous":{"description":"Number of orders with AI in the previous period","example":120,"type":"integer"}},"type":"object"},"revenue":{"description":"Revenue metrics from AI orders","properties":{"average":{"properties":{"change_percentage":{"description":"Percentage change in average revenue","example":-7.15,"format":"float","type":"number"},"current":{"description":"Average revenue per order in current period","example":21.67,"format":"float","type":"number"},"previous":{"description":"Average revenue per order in previous period","example":23.34,"format":"float","type":"number"}},"type":"object"},"total":{"properties":{"change_percentage":{"description":"Percentage change in total revenue","example":16.08,"format":"float","type":"number"},"current":{"description":"Total revenue in current period","example":3250.5,"format":"float","type":"number"},"previous":{"description":"Total revenue in the previous period","example":2800.25,"format":"float","type":"number"}},"type":"object"}},"type":"object"}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/metrics/performance":{"get":{"operationId":"Metrics.performance","tags":["AI"],"summary":"Get AI performance metrics","description":"Returns performance and efficiency metrics for AI agents:\n\n**Performance Metrics:**\n- Average cost per conversation (total cost / total conversations)\n- Average response time in milliseconds from conversations\n- Human minutes saved by AI (5 minutes per conversation handled)\n- Return on investment (orders per dollar spent on conversations)\n- Conversion rate (percentage of conversations that result in orders)\n\n**Calculation Details:**\n- Average cost: Uses conversation.usage.cost field\n- Average response time: Uses conversation.usage.response_time_ms field\n- Human minutes saved: conversations_count * 5 minutes\n- ROI: orders_count / total_conversation_cost\n- Conversion rate: (orders_count / conversations_count) * 100\n\n**Comparison:**\nAll metrics include comparison with the previous period showing:\n- Current period value\n- Previous period value\n- Percentage change (positive = growth, negative = decline)\n\n**Time Period:**\n- Without `month` parameter: Returns current day vs previous day\n- With `month` parameter: Returns specified month vs previous month\n\n**Timezone:**\n- Use `timezone` (IANA format like \"America/New_York\") or `timezone_offset` (hours from UTC)\n- If neither provided, uses UTC\n\n**Optional Filtering:**\nUse the `business_id` or `franchise_id` parameters to filter all metrics by a specific business or franchise.","parameters":[{"in":"query","name":"business_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"franchise_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"month","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone_offset","required":false,"schema":{"maximum":14,"minimum":-12,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/ai/metrics/products":{"get":{"operationId":"Metrics.products","tags":["AI"],"summary":"Get AI products metrics","description":"Returns top 10 most sold products from AI orders:\n\n**Product Metrics:**\n- Product ID and name\n- Times sold (total quantity sold)\n- Number of orders containing the product\n- Revenue generated by the product\n\n**Sorting:**\nProducts are sorted by times_sold (quantity) in descending order.\n\n**Time Period:**\n- Without `month` parameter: Returns products from current day\n- With `month` parameter: Returns products from specified month\n\n**Timezone:**\n- Use `timezone` (IANA format like \"America/New_York\") or `timezone_offset` (hours from UTC)\n- If neither provided, uses UTC\n\n**Optional Filtering:**\nUse the `business_id` or `franchise_id` parameters to filter all metrics by a specific business or franchise.","parameters":[{"in":"query","name":"business_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"franchise_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"month","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone_offset","required":false,"schema":{"maximum":14,"minimum":-12,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/auth":{"post":{"operationId":"User.auth","tags":["auth"],"summary":"/auth","description":"Authenticate using the supported email, cellphone, one-time-password, or guest-token branch.","parameters":[{"in":"header","name":"x-forwarded-for","required":false,"schema":{"type":"string"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{},"country_phone_code":{"type":"string"},"device_code":{"type":"string"},"email":{},"guest_token":{},"notification_app":{},"notification_provider":{},"notification_token":{},"one_time_password":{},"password":{"writeOnly":true},"platform":{"type":"string"},"recaptcha_type":{"type":"string"},"verification_code":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/User"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized User instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/logout":{"post":{"operationId":"User.logout","tags":["auth"],"summary":"/auth/logout","description":"Log out the authenticated user; token_notification can remove the mobile notification token.","parameters":[{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"token_notification":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/auth/platform/apple":{"post":{"operationId":"AuthPlatform.socialApple","tags":["auth"],"summary":"/auth/platform/apple","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"lastname":{},"name":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/facebook":{"post":{"operationId":"AuthPlatform.socialFacebook","tags":["auth"],"summary":"/auth/platform/facebook","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"access_token":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/google":{"post":{"operationId":"AuthPlatform.socialGoogle","tags":["auth"],"summary":"/auth/platform/google","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"access_token":{},"lastname":{},"name":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/login":{"post":{"operationId":"AuthPlatform.login","tags":["auth"],"summary":"/auth/platform/login","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string"},"password":{},"recaptcha_token":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/otp/email/generate":{"post":{"operationId":"AuthPlatform.otpEmailGenerate","tags":["auth"],"summary":"/auth/platform/otp/email/generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string"},"recaptcha_token":{},"site_code":{},"theme_style":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/otp/email/verify":{"post":{"operationId":"AuthPlatform.otpEmailVerify","tags":["auth"],"summary":"/auth/platform/otp/email/verify","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"email":{"type":"string"},"recaptcha_token":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/otp/phone/generate":{"post":{"operationId":"AuthPlatform.otpPhoneGenerate","tags":["auth"],"summary":"/auth/platform/otp/phone/generate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"country_phone_code":{"type":"string"},"recaptcha_token":{},"site_code":{},"theme_style":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/otp/phone/verify":{"post":{"operationId":"AuthPlatform.otpPhoneVerify","tags":["auth"],"summary":"/auth/platform/otp/phone/verify","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"code":{},"country_phone_code":{"type":"string"},"recaptcha_token":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/password/change":{"post":{"operationId":"AuthPlatform.resetPassword","tags":["auth"],"summary":"/auth/platform/password/change","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"password":{},"random":{}},"required":["code","password","random"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"message":{"type":["string","null"]}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/platform/signup":{"post":{"operationId":"AuthPlatform.signup","tags":["auth"],"summary":"/auth/platform/signup","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{},"country_phone_code":{"type":"string"},"email":{"type":"string"},"lastname":{},"name":{},"password":{},"recaptcha_token":{},"via":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/sms/{platform}":{"post":{"operationId":"User.sms","tags":["auth"],"summary":"/auth/sms/{platform}","description":"Authenticate by SMS using the selected supported platform.","parameters":[{"in":"path","name":"platform","required":true,"schema":{"enum":["facebook","twilio"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"code":{},"country_phone_code":{"type":"string"},"guest_token":{},"notification_app":{},"notification_provider":{},"notification_token":{}},"required":["code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/sms/{platform}/verify":{"post":{"operationId":"User.verify","tags":["auth"],"summary":"/auth/sms/{platform}/verify","parameters":[{"in":"path","name":"platform","required":true,"schema":{"pattern":"^twilio$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{},"channel":{"enum":["sms","call"],"type":"string"},"country_phone_code":{"minimum":1,"type":"integer"},"recaptcha_type":{"type":"string"},"verification_code":{}},"required":["cellphone","country_phone_code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/auth/{social}":{"post":{"operationId":"User.social","tags":["auth"],"summary":"/auth/{social}","parameters":[{"in":"path","name":"social","required":true,"schema":{"enum":["facebook","apple","google","spoonity"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"access_token":{},"code":{},"email":{},"guest_token":{},"lastname":{},"name":{},"notification_app":{},"notification_provider":{},"notification_token":{},"password":{"writeOnly":true},"platform":{"default":"other","type":"string"},"spoonity_token":{"type":"string"}},"required":["access_token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/User"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized User instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the AI module is not available for this project."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/backoffice/schools":{"get":{"operationId":"School.findAll.backoffice_schools","tags":["backoffice"],"summary":"/backoffice/schools","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/classrooms":{"get":{"operationId":"Classroom.findAll","tags":["backoffice"],"summary":"/backoffice/schools/classrooms","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"school_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Classroom.register","tags":["backoffice"],"summary":"/backoffice/schools/classrooms","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"school_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/SchoolClassroom"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized SchoolClassroom instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/classrooms/{classroom_id}":{"delete":{"operationId":"Classroom.delete","tags":["backoffice"],"summary":"/backoffice/schools/classrooms/{classroom_id}","parameters":[{"in":"path","name":"classroom_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Classroom.update","tags":["backoffice"],"summary":"/backoffice/schools/classrooms/{classroom_id}","parameters":[{"in":"path","name":"classroom_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/grades":{"get":{"operationId":"Grade.findAll","tags":["backoffice"],"summary":"/backoffice/schools/grades","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"school_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Grade.register","tags":["backoffice"],"summary":"/backoffice/schools/grades","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string"},"school_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/SchoolGrade"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized SchoolGrade instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/grades/bulk":{"post":{"operationId":"Grade.bulk","tags":["backoffice"],"summary":"/backoffice/schools/grades/bulk","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"codes":{},"school_id":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/SchoolGrade"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized SchoolGrade instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/grades/{grade_id}":{"delete":{"operationId":"Grade.delete","tags":["backoffice"],"summary":"/backoffice/schools/grades/{grade_id}","parameters":[{"in":"path","name":"grade_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Grade.update","tags":["backoffice"],"summary":"/backoffice/schools/grades/{grade_id}","parameters":[{"in":"path","name":"grade_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/parents/{customer_id}/students":{"get":{"operationId":"Student.findByParent","tags":["backoffice"],"summary":"/backoffice/schools/parents/{customer_id}/students","parameters":[{"in":"path","name":"customer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Student.attachToParent","tags":["backoffice"],"summary":"/backoffice/schools/parents/{customer_id}/students","parameters":[{"in":"path","name":"customer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"relationship":{"maxLength":100,"type":["string","null"]},"school_id":{},"student_id":{"type":"integer"}},"required":["student_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/SchoolStudent"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized SchoolStudent instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/parents/{customer_id}/students/{student_id}":{"delete":{"operationId":"Student.detachFromParent","tags":["backoffice"],"summary":"/backoffice/schools/parents/{customer_id}/students/{student_id}","parameters":[{"in":"path","name":"customer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/reports/kitchen":{"get":{"operationId":"Report.school_kitchen","tags":["backoffice"],"summary":"/backoffice/schools/reports/kitchen","parameters":[{"in":"query","name":"school_id","required":true,"schema":{"type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"allergies","required":false,"schema":{"items":{},"type":"array"}},{"in":"query","name":"product_type","required":false,"schema":{"type":["string","null"]}},{"in":"query","name":"product_id","required":false,"schema":{"type":["integer","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"message":{"type":["string","null"]}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/reports/products_ordered":{"get":{"operationId":"Report.school_products_ordered","tags":["backoffice"],"summary":"/backoffice/schools/reports/products_ordered","parameters":[{"in":"query","name":"school_id","required":true,"schema":{"type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"allergies","required":false,"schema":{"items":{},"type":"array"}},{"in":"query","name":"product_type","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"message":{"type":["string","null"]}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/students":{"get":{"operationId":"Student.findAll.backoffice_schools_students","tags":["backoffice"],"summary":"/backoffice/schools/students","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"school_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Student.register.backoffice_schools_students","tags":["backoffice"],"summary":"/backoffice/schools/students","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/students/{student_id}":{"delete":{"operationId":"Student.delete","tags":["backoffice"],"summary":"/backoffice/schools/students/{student_id}","parameters":[{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Student.find","tags":["backoffice"],"summary":"/backoffice/schools/students/{student_id}","parameters":[{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Student.update.backoffice_schools_students_student_id","tags":["backoffice"],"summary":"/backoffice/schools/students/{student_id}","parameters":[{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/students/{student_id}/parents":{"post":{"operationId":"Student.attachParent","tags":["backoffice"],"summary":"/backoffice/schools/students/{student_id}/parents","parameters":[{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"relationship":{},"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/students/{student_id}/parents/{user_id}":{"delete":{"operationId":"Student.detachParent","tags":["backoffice"],"summary":"/backoffice/schools/students/{student_id}/parents/{user_id}","parameters":[{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/labels":{"get":{"operationId":"StudentLabel.summary","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/labels","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"template","required":false,"schema":{"enum":["avery_5160"],"type":["string","null"]}},{"in":"query","name":"guides","required":false,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/labels.pdf":{"get":{"operationId":"StudentLabel.pdf","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/labels.pdf","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"template","required":false,"schema":{"enum":["avery_5160"],"type":["string","null"]}},{"in":"query","name":"guides","required":false,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/meals":{"get":{"operationId":"School.findMeals","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/meals","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"student_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"student_code","required":false,"schema":{"maxLength":50,"type":["string","null"]}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"$ref":"#/components/schemas/OrderProduct"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized OrderProduct instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/reports/kitchen.csv":{"get":{"operationId":"SchoolReport.kitchenCsv","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/reports/kitchen.csv","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/reports/kitchen.xlsx":{"get":{"operationId":"SchoolReport.kitchenXlsx","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/reports/kitchen.xlsx","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}}],"responses":{"200":{"content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/reports/products_ordered.csv":{"get":{"operationId":"SchoolReport.productsOrderedCsv","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/reports/products_ordered.csv","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/reports/products_ordered.pdf":{"get":{"operationId":"SchoolReport.productsOrderedPdf","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/reports/products_ordered.pdf","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}}],"responses":{"200":{"content":{"application/pdf":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/backoffice/schools/{school_id}/reports/products_ordered.xlsx":{"get":{"operationId":"SchoolReport.productsOrderedXlsx","tags":["backoffice"],"summary":"/backoffice/schools/{school_id}/reports/products_ordered.xlsx","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"preparation_date","required":true,"schema":{"type":"string"}},{"in":"query","name":"grade_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"classroom_id","required":false,"schema":{"type":["integer","null"]}}],"responses":{"200":{"content":{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/banner":{"get":{"operationId":"Banner.banner","tags":["banner"],"summary":"/banner","parameters":[{"in":"query","name":"position","required":true,"schema":{"enum":["web_business_page","web_business_listing","web_home_page","app_business_page","app_business_listing","app_home_page"],"type":"string"}},{"in":"query","name":"business_id","required":false,"schema":{"type":["integer","null"]}},{"in":"query","name":"order_type_id","required":false,"schema":{"enum":[1,2,3,4,5,6,7,8],"type":["integer","null"]}},{"in":"query","name":"location","required":false,"schema":{"contentMediaType":"application/json","type":["string","null"]}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/banners":{"get":{"operationId":"Banner.findAll","tags":["banners"],"summary":"/banners","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Banner.register","tags":["banners"],"summary":"/banners","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"businesses":{"items":{"type":"integer"},"type":"array"},"enabled":{"type":["boolean","null"]},"name":{},"position":{"enum":["web_business_page","web_business_listing","web_home_page","app_business_page","app_business_listing","app_home_page"],"maxLength":255,"minLength":1,"type":"string"},"settings":{"contentMediaType":"application/json","type":["string","null"]},"sites":{"items":{"type":"integer"},"type":"array"}},"required":["name","position"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/banners/{banner_id}":{"delete":{"operationId":"Banner.delete","tags":["banners"],"summary":"/banners/{banner_id}","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Banner.find","tags":["banners"],"summary":"/banners/{banner_id}","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Banner.update","tags":["banners"],"summary":"/banners/{banner_id}","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"businesses":{"items":{"type":"integer"},"type":"array"},"enabled":{"type":["boolean","null"]},"name":{},"position":{"enum":["web_business_page","web_business_listing","web_home_page","app_business_page","app_business_listing","app_home_page"],"maxLength":255,"minLength":1,"type":"string"},"rank":{"type":"number"},"settings":{"contentMediaType":"application/json","type":["string","null"]},"sites":{"items":{"type":"integer"},"type":"array"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/banners/{banner_id}/items":{"get":{"operationId":"BannerItem.findAll","tags":["banners"],"summary":"/banners/{banner_id}/items","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BannerItem.register","tags":["banners"],"summary":"/banners/{banner_id}/items","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"action":{"contentMediaType":"application/json","type":["string","null"]},"image":{},"type":{"enum":["image","video"],"maxLength":255,"minLength":1,"type":"string"},"video":{}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/banners/{banner_id}/items/{banner_item_id}":{"delete":{"operationId":"BannerItem.delete","tags":["banners"],"summary":"/banners/{banner_id}/items/{banner_item_id}","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"banner_item_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BannerItem.find","tags":["banners"],"summary":"/banners/{banner_id}/items/{banner_item_id}","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"banner_item_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BannerItem.update","tags":["banners"],"summary":"/banners/{banner_id}/items/{banner_item_id}","parameters":[{"in":"path","name":"banner_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"banner_item_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"action":{"contentMediaType":"application/json","type":["string","null"]},"image":{},"rank":{"type":"number"},"type":{"enum":["image","video"],"maxLength":255,"minLength":1,"type":"string"},"video":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/bulks/products":{"post":{"operationId":"ProductBulk.register","tags":["bulks"],"summary":"/bulks/products","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"products":{"contentMediaType":"application/json","type":"string"}},"required":["products"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ProductBulk.update","tags":["bulks"],"summary":"/bulks/products","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"products":{"contentMediaType":"application/json","type":"string"}},"required":["products"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/bulks/translations":{"post":{"operationId":"TranslationBulk.register","tags":["bulks"],"summary":"/bulks/translations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"translations":{"contentMediaType":"application/json","type":"string"}},"required":["translations"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"TranslationBulk.update","tags":["bulks"],"summary":"/bulks/translations","description":"Legacy documentation describes both bulk edit and bulk delete payloads for this operation. The two editorial pages remain distinct: [bulk edit translations](https://docs.ordering.co/api-reference/guides/bulk-edit-translations) and [bulk delete translations](https://docs.ordering.co/api-reference/guides/bulk-delete-translations).","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"translations":{"contentMediaType":"application/json","type":"string"}},"required":["translations"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business":{"get":{"operationId":"Business.findAll.business","tags":["business"],"summary":"/business","parameters":[{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"dropdownoption","required":false,"schema":{"type":"integer"}},{"in":"query","name":"dropdown_option_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"city","schema":{"type":"string"}},{"in":"query","name":"disabled_business","schema":{"type":"boolean"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"description":"Location filter serialized as `lat,lng`. The legacy flow also accepts a JSON-encoded object with `lat` and `lng`.","in":"query","name":"location","schema":{"type":"string"}},{"in":"query","name":"menu_id","schema":{"type":"integer"}},{"in":"query","name":"mode","schema":{"type":"string"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"order_type_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}},{"in":"query","name":"type","schema":{"default":1,"type":"integer"}},{"in":"query","name":"v","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Business.register","tags":["business"],"summary":"/business","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"about":{},"address":{},"address_notes":{},"always_deliver":{"type":"boolean"},"cancel_order_after_minutes":{"type":["integer","null"]},"cellphone":{},"city_id":{"type":"integer"},"city_name":{},"country":{},"country_code":{},"currency":{},"delivery_price":{"type":"number"},"delivery_tax_rate":{"type":"number"},"delivery_tax_type":{"type":"number"},"delivery_time":{},"description":{},"disabled_reason":{},"email":{},"enabled":{"type":"boolean"},"eta_status_times":{"contentMediaType":"application/json","type":"string"},"eta_variation_time":{"maximum":2147483647,"minimum":1,"type":"integer"},"external_id":{},"featured":{"type":"boolean"},"fixed_usage_fee":{"type":"number"},"franchise_id":{"type":["integer","null"]},"front_layout":{},"header":{},"locality":{},"location":{"contentMediaType":"application/json","type":"string"},"logo":{},"maximum":{"type":["number","null"]},"minimum":{"type":"number"},"name":{},"neighborhood":{},"order_default_priority":{"maximum":99,"type":"integer"},"owner_id":{"type":"integer"},"parent_business_id":{"type":["integer","null"]},"percentage_usage_fee":{"type":"number"},"phone":{},"pickup_time":{},"price_level":{},"printer_id":{"type":"integer"},"ribbon":{"contentMediaType":"application/json","type":"string"},"route":{},"schedule":{},"seo_description":{},"seo_image":{},"seo_title":{},"service_fee":{"type":"number"},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},"snooze_until":{"type":["string","null"]},"state":{},"state_code":{},"street_number":{},"sublocality":{},"tax":{"type":"number"},"tax_id":{"type":["integer","null"]},"tax_type":{"type":"number"},"taxes":{"items":{"type":"integer"},"type":"array"},"timezone":{"type":"string"},"types":{"items":{"type":"integer"},"type":"array"},"zipcode":{}},"required":["delivery_price","email","minimum","name","service_fee","slug","tax","tax_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/business_reviews.csv":{"get":{"operationId":"Review.csv","tags":["business"],"summary":"/business/business_reviews.csv","parameters":[{"in":"query","name":"business_id","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/business_reviews_delivery.csv":{"get":{"operationId":"Review.delivery_csv","tags":["business"],"summary":"/business/business_reviews_delivery.csv","parameters":[{"in":"query","name":"business_id","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/product_reviews.csv":{"get":{"operationId":"ProductReview.csv","tags":["business"],"summary":"/business/product_reviews.csv","parameters":[{"in":"query","name":"business_id","schema":{"type":"integer"}},{"in":"query","name":"product_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/reviews":{"get":{"operationId":"Review.findAllBusinesses","tags":["business"],"summary":"/business/reviews","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories":{"get":{"operationId":"Category.findAll","tags":["business"],"summary":"/business/{business_id}/categories","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"menu_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}},{"in":"query","name":"type","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Category.register","tags":["business"],"summary":"/business/{business_id}/categories","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"enabled":{"type":"boolean"},"external_id":{},"header":{},"image":{},"name":{},"parent_category_id":{"type":["integer","null"]},"preparation_day_of_week":{"type":["integer","null"]},"ribbon":{"contentMediaType":"application/json","type":"string"},"seo_description":{},"seo_image":{},"seo_title":{},"slug":{"maxLength":255,"minLength":1,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":["string","null"]},"snooze_until":{"type":["string","null"]}},"required":["business_id","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}":{"delete":{"operationId":"Category.delete","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Category.find.get","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"in":"path","name":"category_id","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"parent_category_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CategoryProjection"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Category.update","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"enabled":{"type":"boolean"},"external_id":{},"header":{},"image":{},"name":{},"parent_category_id":{"type":["integer","null"]},"preparation_day_of_week":{"type":["integer","null"]},"rank":{"type":["number","null"]},"ribbon":{"contentMediaType":"application/json","type":"string"},"seo_description":{},"seo_image":{},"seo_title":{},"shared":{},"slug":{"maxLength":255,"minLength":1,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":["string","null"]},"snooze_until":{"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/metafields":{"get":{"operationId":"CategoryMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/metafields","description":"List metafields attached to a category in the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"CategoryMetafield.register","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/metafields/{metafield_id}":{"delete":{"operationId":"CategoryMetafield.delete","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/metafields/{metafield_id}","description":"Delete one metafield from a category in the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"CategoryMetafield.find","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"CategoryMetafield.update","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/metafields/{metafield_id}","description":"Update one metafield on a category in the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products":{"get":{"operationId":"Product.findAll","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"professional_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"menu_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}},{"in":"query","name":"type","schema":{"default":1,"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Product.register","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allergens":{"items":{},"type":["array","null"]},"barcode":{"minLength":1,"type":["string","null"]},"barcode_alternative":{"minLength":1,"type":["string","null"]},"calories":{"type":["number","null"]},"category_id":{"type":"integer"},"cost_offer_price":{"type":["number","null"]},"cost_price":{"type":["number","null"]},"description":{},"dietary_tags":{"items":{},"type":["array","null"]},"duration":{"maximum":2147483647,"minimum":1,"type":"integer"},"enabled":{"type":"boolean"},"estimated_person":{"minimum":1,"type":["integer","null"]},"external_id":{},"extra_snooze_until_data":{"contentMediaType":"application/json","type":["string","null"]},"extras":{},"featured":{"type":"boolean"},"fee_id":{"type":["integer","null"]},"hide_special_instructions":{"type":"boolean"},"images":{},"inventoried":{"type":"boolean"},"is_hidden":{"type":"boolean"},"maximum_per_order":{"maximum":2147483647,"minimum":1,"type":["integer","null"]},"minimum_per_order":{"maximum":2147483647,"minimum":1,"type":"integer"},"name":{},"offer_include_options":{"type":"boolean"},"offer_rate":{"type":"number"},"offer_rate_type":{"type":"integer"},"price":{"type":"number"},"quantity":{"type":"integer"},"rank":{"type":"number"},"ribbon":{"contentMediaType":"application/json","type":"string"},"seo_description":{},"seo_image":{},"seo_keywords":{},"seo_title":{},"sku":{},"slug":{"maxLength":255,"minLength":1,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":["string","null"]},"snooze_until":{"type":["string","null"]},"tax_id":{"type":["integer","null"]},"taxes":{"items":{"type":"integer"},"type":"array"},"type":{"enum":["item","service"],"minLength":1,"type":"string"},"users":{"items":{"type":"integer"},"type":"array"},"weight":{"type":["number","null"]},"weight_unit":{}},"required":["category_id","name","price"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}":{"delete":{"operationId":"Product.delete","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Product.find.get","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"in":"path","name":"category_id","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"in":"path","name":"product_id","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"timestamp","schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ProductProjection"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Product.update","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"extra_snooze_until_data":{"items":{"type":"string"},"type":"array"},"extras":{},"maximum_per_order":{},"minimum_per_order":{},"rank":{},"ribbon":{},"snooze_until":{},"tags":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/duplicate":{"post":{"operationId":"Product.duplicate","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/duplicate","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"copy_options":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Product"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Product instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery":{"get":{"operationId":"ProductGallery.findAll","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"ProductGallery.register","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"file":{},"product_id":{"type":"integer"},"title":{},"type":{"type":"integer"},"video":{}},"required":["product_id","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery/{gallery_id}":{"delete":{"operationId":"ProductGallery.delete","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery/{gallery_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ProductGallery.find","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery/{gallery_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"ProductGallery.update","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/gallery/{gallery_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"file":{},"product_id":{"type":"integer"},"title":{},"type":{"type":"integer"},"video":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients":{"get":{"operationId":"Ingredient.findAll","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients","description":"List the ingredients associated with the selected product in its business and category hierarchy.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"object"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Ingredient.register","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"image":{},"name":{"type":"string"},"product_id":{"type":"integer"}},"required":["name","product_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id}":{"delete":{"operationId":"Ingredient.delete","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"ingredient_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Ingredient.find","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id}","description":"Retrieve one ingredient associated with the selected product in its business and category hierarchy.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"ingredient_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Ingredient.update","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"ingredient_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"image":{},"name":{"type":"string"},"product_id":{"type":"integer"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields":{"get":{"operationId":"ProductMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields","description":"List metafields attached to a product in the selected business and category.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ProductMetafield.register","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields","description":"Create a metafield on a product in the selected business and category.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields/{metafield_id}":{"delete":{"operationId":"ProductMetafield.delete","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields/{metafield_id}","description":"Delete one metafield from a product in the selected business and category.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ProductMetafield.find","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields/{metafield_id}","description":"Retrieve one metafield from a product in the selected business and category.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ProductMetafield.update","tags":["business"],"summary":"/business/{business_id}/categories/{category_id}/products/{product_id}/metafields/{metafield_id}","description":"Update one metafield on a product in the selected business and category.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"category_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/configs":{"get":{"operationId":"BusinessConfig.findAll","tags":["business"],"summary":"/business/{business_id}/configs","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/business/{business_id}/configs/{config_id}":{"get":{"operationId":"BusinessConfig.find","tags":["business"],"summary":"/business/{business_id}/configs/{config_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"config_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"BusinessConfig.update.post","tags":["business"],"summary":"/business/{business_id}/configs/{config_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"config_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"value":{}},"required":["value"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Config"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Config instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"BusinessConfig.update.put","tags":["business"],"summary":"/business/{business_id}/configs/{config_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"config_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"value":{}},"required":["value"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Config"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Config instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/deliveryzones":{"get":{"operationId":"DeliveryZone.findAll","tags":["business"],"summary":"/business/{business_id}/deliveryzones","description":"List delivery zones for the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"DeliveryZone.register","tags":["business"],"summary":"/business/{business_id}/deliveryzones","description":"Create a delivery zone for the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{},"business_id":{"type":"integer"},"data":{"contentMediaType":"application/json","type":"string"},"dropdown_option_id":{"type":"integer"},"enabled":{"type":"boolean"},"hourly_delivery_times":{"contentMediaType":"application/json","type":"string"},"minimum":{"type":"number"},"name":{},"price":{"type":"number"},"price_percentage":{"maximum":100,"minimum":0,"type":["number","null"]},"recipient":{"enum":["business","platform"],"type":["string","null"]},"schedule":{"contentMediaType":"application/json","type":"string"},"snooze_until":{"type":["string","null"]},"type":{"enum":[1,2,3,4,5],"type":"integer"}},"required":["business_id","minimum","name","price","schedule","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/deliveryzones/kml":{"post":{"operationId":"DeliveryZone.register_kml","tags":["business"],"summary":"/business/{business_id}/deliveryzones/kml","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"address":{},"business_id":{"type":"integer"},"dropdown_option_id":{"type":"integer"},"enabled":{"type":"boolean"},"kml":{"format":"binary","type":"string"},"schedule":{"contentMediaType":"application/json","type":"string"}},"required":["business_id","kml","schedule"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/deliveryzones/{deliveryzone}":{"delete":{"operationId":"DeliveryZone.delete","tags":["business"],"summary":"/business/{business_id}/deliveryzones/{deliveryzone}","description":"Delete the selected delivery zone from a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"deliveryzone","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"delete_from_all_stores","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"DeliveryZone.find.get.business_business_id_deliveryzones_deliveryzone","tags":["business"],"summary":"/business/{business_id}/deliveryzones/{deliveryzone}","description":"Retrieve the selected delivery zone for a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"deliveryzone","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"DeliveryZone.update","tags":["business"],"summary":"/business/{business_id}/deliveryzones/{deliveryzone}","description":"Update the selected delivery zone for a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"deliveryzone","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"type":"string"},"business_id":{"type":"integer"},"businesses":{"items":{"type":"integer"},"type":"array"},"data":{"contentMediaType":"application/json","type":"string"},"dropdown_option_id":{"type":"integer"},"enabled":{"type":"boolean"},"hourly_delivery_times":{"contentMediaType":"application/json","type":"string"},"minimum":{"type":"number"},"name":{"type":"string"},"price":{"type":"number"},"price_percentage":{"maximum":100,"minimum":0,"type":["number","null"]},"recipient":{"enum":["business","platform"],"type":["string","null"]},"schedule":{"contentMediaType":"application/json","type":"string"},"snooze_until":{"type":["string","null"]},"type":{"enum":[1,2,3,4,5],"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/DeliveryZone"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the DeliveryZone projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/deliveryzones_shared/{deliveryzone}":{"get":{"operationId":"DeliveryZone.find.get.business_business_id_deliveryzones_shared_deliveryzone","tags":["business"],"summary":"/business/{business_id}/deliveryzones_shared/{deliveryzone}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"deliveryzone","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras":{"get":{"operationId":"Extra.findAll","tags":["business"],"summary":"/business/{business_id}/extras","description":"List extras, or product option groups, for the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Extra.register","tags":["business"],"summary":"/business/{business_id}/extras","description":"Create an extra, or product option group, for the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"description":{},"enabled":{"type":"boolean"},"external_id":{},"name":{},"rank":{"type":"number"},"snooze_until":{"type":["string","null"]}},"required":["business_id","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}":{"delete":{"operationId":"Extra.delete","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}","description":"Delete one extra from the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Extra.find","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}","description":"Retrieve one extra, or product option group, from the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Extra.update","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}","description":"Update one extra, or product option group, in the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"description":{},"enabled":{"type":"boolean"},"external_id":{},"name":{},"rank":{"type":"number"},"snooze_until":{"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/duplicate":{"post":{"operationId":"Extra.duplicate","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/duplicate","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"copy_options":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Extra"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Extra instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/metafields":{"get":{"operationId":"ExtraMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/metafields","description":"List the metafields associated with the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ExtraMetafield.register","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/metafields","description":"Create a metafield for the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"minLength":1,"pattern":"^[a-zA-Z]\\w+$","type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/metafields/{metafield_id}":{"delete":{"operationId":"ExtraMetafield.delete","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/metafields/{metafield_id}","description":"Delete a metafield associated with the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ExtraMetafield.find","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/metafields/{metafield_id}","description":"Retrieve one metafield associated with the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ExtraMetafield.update","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/metafields/{metafield_id}","description":"Update the selected metafield for a product extra.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options":{"get":{"operationId":"ExtraOption.findAll","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options","description":"List the options for the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ExtraOption.register","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options","description":"Create an option for the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allow_suboption_quantity":{"type":"boolean"},"conditioned":{"type":"boolean"},"enabled":{"type":"boolean"},"external_id":{},"extra_id":{"type":"integer"},"image":{},"limit_suboptions_by_max":{"type":"boolean"},"max":{"type":"integer"},"min":{"type":"integer"},"name":{"type":"string"},"rank":{"type":"number"},"respect_to":{"type":"integer"},"snooze_until":{"type":["string","null"]},"with_half_option":{"type":"boolean"}},"required":["conditioned","extra_id","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}":{"delete":{"operationId":"ExtraOption.delete","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}","description":"Delete an option from the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"const":"OK","type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ExtraOption.find","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}","description":"Retrieve one option from the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ExtraOption.update.post","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allow_suboption_quantity":{"type":"boolean"},"conditioned":{"type":"boolean"},"enabled":{"type":"boolean"},"external_id":{},"extra_id":{"type":"integer"},"image":{},"limit_suboptions_by_max":{"type":"boolean"},"max":{"type":"integer"},"min":{"type":"integer"},"name":{},"rank":{"type":"number"},"respect_to":{"type":"integer"},"snooze_until":{"type":["string","null"]},"with_half_option":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ExtraOption.update.put","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}","description":"Update an option associated with the selected extra within a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allow_suboption_quantity":{"type":"boolean"},"conditioned":{"type":"boolean"},"enabled":{"type":"boolean"},"external_id":{},"extra_id":{"type":"integer"},"image":{},"limit_suboptions_by_max":{"type":"boolean"},"max":{"type":"integer"},"min":{"type":"integer"},"name":{"type":"string"},"rank":{"type":"number"},"respect_to":{"type":"integer"},"snooze_until":{"type":["string","null"]},"with_half_option":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/duplicate":{"post":{"operationId":"ExtraOption.duplicate","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/duplicate","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"copy_options":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ExtraOption"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized ExtraOption instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields":{"get":{"operationId":"ExtraOptionMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ExtraOptionMetafield.register","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields/{metafield_id}":{"delete":{"operationId":"ExtraOptionMetafield.delete","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ExtraOptionMetafield.find","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ExtraOptionMetafield.update","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions":{"get":{"operationId":"ExtraOptionSuboption.findAll","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions","description":"List the suboptions for the selected option within an extra and business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"ExtraOptionSuboption.register","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions","description":"Create a suboption for the selected option within an extra and business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"external_id":{},"extra_option_id":{"type":"number"},"half_price":{"type":"number"},"image":{},"max":{"type":"integer"},"name":{"type":"string"},"preselected":{"type":"boolean"},"price":{"type":"number"},"rank":{"type":"number"},"sku":{"type":"string"},"snooze_until":{"type":["string","null"]}},"required":["extra_option_id","name","price"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}":{"delete":{"operationId":"ExtraOptionSuboption.delete","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}","description":"Delete a suboption from the selected option within an extra and business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ExtraOptionSuboption.find","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}","description":"Retrieve one suboption from the selected option within an extra and business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"ExtraOptionSuboption.update.post","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"external_id":{},"extra_option_id":{"type":"number"},"half_price":{"type":"number"},"image":{},"max":{"type":"integer"},"name":{},"preselected":{"type":"boolean"},"price":{"type":"number"},"rank":{"type":"number"},"sku":{},"snooze_until":{"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ExtraOptionSuboption.update.put","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}","description":"Update a suboption associated with the selected option within an extra and business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"external_id":{},"extra_option_id":{"type":"number"},"half_price":{"type":"number"},"image":{},"max":{"type":"integer"},"name":{"type":"string"},"preselected":{"type":"boolean"},"price":{"type":"number"},"rank":{"type":"number"},"sku":{"type":"string"},"snooze_until":{"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/duplicate":{"post":{"operationId":"ExtraOptionSuboption.duplicate","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/duplicate","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"copy_options":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ExtraOptionSuboption"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized ExtraOptionSuboption instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields":{"get":{"operationId":"ExtraOptionSuboptionMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ExtraOptionSuboptionMetafield.register","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields/{metafield_id}":{"delete":{"operationId":"ExtraOptionSuboptionMetafield.delete","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ExtraOptionSuboptionMetafield.find","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ExtraOptionSuboptionMetafield.update","tags":["business"],"summary":"/business/{business_id}/extras/{extra_id}/options/{option_id}/suboptions/{suboption_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/fee_events":{"get":{"operationId":"BusinessFeeEvent.findAll","tags":["business"],"summary":"/business/{business_id}/fee_events","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessFeeEvent.register","tags":["business"],"summary":"/business/{business_id}/fee_events","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"event_type":{"enum":["manual_charge","manual_credit"],"type":"string"},"name":{},"status":{"enum":["applied","pending","cancelled","refunded"],"type":"string"},"total_amount":{"type":"number"}},"required":["event_type","name","total_amount"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/fee_events/{event_id}":{"delete":{"operationId":"BusinessFeeEvent.delete","tags":["business"],"summary":"/business/{business_id}/fee_events/{event_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessFeeEvent.find","tags":["business"],"summary":"/business/{business_id}/fee_events/{event_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessFeeEvent.update.post","tags":["business"],"summary":"/business/{business_id}/fee_events/{event_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{},"status":{"enum":["applied","pending","cancelled","refunded"],"type":"string"},"total_amount":{"type":"number"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"BusinessFeeEvent.update.put","tags":["business"],"summary":"/business/{business_id}/fee_events/{event_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{},"status":{"enum":["applied","pending","cancelled","refunded"],"type":"string"},"total_amount":{"type":"number"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/maximums":{"get":{"operationId":"BusinessMaximum.findall","tags":["business"],"summary":"/business/{business_id}/maximums","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessMaximum.register","tags":["business"],"summary":"/business/{business_id}/maximums","description":"Create a maximum rule for the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"maximum":{"type":["number","null"]},"order_type_id":{"enum":[1,2,3,4,5],"type":["integer","null"]},"paymethod_id":{"type":["integer","null"]},"site_id":{"type":["integer","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/maximums/{maximum_id}":{"delete":{"operationId":"BusinessMaximum.delete","tags":["business"],"summary":"/business/{business_id}/maximums/{maximum_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"maximum_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessMaximum.find","tags":["business"],"summary":"/business/{business_id}/maximums/{maximum_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"maximum_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"BusinessMaximum.update","tags":["business"],"summary":"/business/{business_id}/maximums/{maximum_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"maximum_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"maximum":{"type":["number","null"]},"order_type_id":{"enum":[1,2,3,4,5],"type":["integer","null"]},"paymethod_id":{"type":["integer","null"]},"site_id":{"type":["integer","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus":{"get":{"operationId":"Menu.findAll","tags":["business"],"summary":"/business/{business_id}/menus","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Menu.register","tags":["business"],"summary":"/business/{business_id}/menus","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"all_products":{},"products":{},"schedule":{},"shared":{},"snooze_until":{},"snooze_until_data":{"items":{"type":"string"},"type":"array"},"use_business_schedule":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus/{menu_id}":{"delete":{"operationId":"Menu.delete","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}","description":"Delete the selected menu associated with a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Menu.find","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Menu.update","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"all_products":{},"enabled":{},"products":{},"schedule":{},"shared":{},"sites":{},"snooze_until":{},"snooze_until_data":{"items":{"type":"string"},"type":"array"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus/{menu_id}/metafields":{"get":{"operationId":"MenuMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"MenuMetafield.register","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus/{menu_id}/metafields/{metafield_id}":{"delete":{"operationId":"MenuMetafield.delete","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"MenuMetafield.find","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"MenuMetafield.update","tags":["business"],"summary":"/business/{business_id}/menus/{menu_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus_shared/{menu_id}":{"delete":{"operationId":"Menu.delete_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}","description":"Delete a shared menu association from the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Menu.update_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}","description":"Update the enabled or snooze settings for a shared menu association.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"snooze_until":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus_shared/{menu_id}/extras/{extra_id}":{"put":{"operationId":"Extra.update_menu_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}/extras/{extra_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"extra_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"snooze_until":{"format":"date-time","type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus_shared/{menu_id}/options/{option_id}":{"put":{"operationId":"ExtraOption.update_menu_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}/options/{option_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"snooze_until":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus_shared/{menu_id}/products":{"get":{"operationId":"Product.findAll_menu_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}/products","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/business/{business_id}/menus_shared/{menu_id}/products/{product_id}":{"put":{"operationId":"Product.update_menu_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}/products/{product_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"snooze_until":{"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/menus_shared/{menu_id}/suboptions/{suboption_id}":{"put":{"operationId":"ExtraOptionSuboption.update_menu_shared","tags":["business"],"summary":"/business/{business_id}/menus_shared/{menu_id}/suboptions/{suboption_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"menu_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"suboption_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"snooze_until":{"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/business/{business_id}/metafields":{"get":{"operationId":"BusinessMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/metafields","description":"List metafields attached to the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessMetafield.register","tags":["business"],"summary":"/business/{business_id}/metafields","description":"Create a metafield attached to the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/metafields/{metafield_id}":{"delete":{"operationId":"BusinessMetafield.delete","tags":["business"],"summary":"/business/{business_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessMetafield.find","tags":["business"],"summary":"/business/{business_id}/metafields/{metafield_id}","description":"Retrieve one metafield belonging to the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"BusinessMetafield.update","tags":["business"],"summary":"/business/{business_id}/metafields/{metafield_id}","description":"Update one metafield attached to the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/offers":{"get":{"operationId":"Offer.findAll","tags":["business"],"summary":"/business/{business_id}/offers","description":"List offers associated with the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Offer.register","tags":["business"],"summary":"/business/{business_id}/offers","description":"Create a business offer. Offers can apply automatically or use a coupon; coupon is required when type is 2.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"businesses":{"default":[]},"categories":{},"coupon":{},"delivery_zones":{},"image":{},"loyalty_levels":{},"paymethods":{},"products":{},"sites":{},"users":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/offers/{offer_id}":{"delete":{"operationId":"Offer.delete","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}","description":"Delete the selected offer associated with a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Offer.find","tags":["business"],"summary":"Find Business Offer","description":"Retrieve the selected offer associated with a business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9a-zA-Z_-]+$","type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Offer.update.post","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"businesses":{},"categories":{},"coupon":{},"delivery_zones":{},"image":{},"loyalty_levels":{},"paymethods":{},"products":{},"rank":{},"sites":{},"users":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Offer"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Offer instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Offer.update.put","tags":["business"],"summary":"Update Business Offer","description":"Update an offer or coupon associated with the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"businesses":{},"categories":{},"coupon":{},"delivery_zones":{},"image":{},"loyalty_levels":{},"paymethods":{},"products":{},"rank":{},"sites":{},"users":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Offer"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Offer instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/offers/{offer_id}/metafields":{"get":{"operationId":"OfferMetafield.findAll","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"OfferMetafield.register","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}/metafields","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/offers/{offer_id}/metafields/{metafield_id}":{"delete":{"operationId":"OfferMetafield.delete","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"OfferMetafield.find","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"OfferMetafield.update","tags":["business"],"summary":"/business/{business_id}/offers/{offer_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/place_groups":{"get":{"operationId":"PlaceGroup.findAll","tags":["business"],"summary":"/business/{business_id}/place_groups","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"PlaceGroup.register","tags":["business"],"summary":"/business/{business_id}/place_groups","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/place_groups/{place_group_id}":{"delete":{"operationId":"PlaceGroup.delete","tags":["business"],"summary":"/business/{business_id}/place_groups/{place_group_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"place_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"PlaceGroup.find","tags":["business"],"summary":"/business/{business_id}/place_groups/{place_group_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"place_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"put":{"operationId":"PlaceGroup.update","tags":["business"],"summary":"/business/{business_id}/place_groups/{place_group_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"place_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"name":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/places":{"get":{"operationId":"Place.findAll","tags":["business"],"summary":"/business/{business_id}/places","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Place.register","tags":["business"],"summary":"/business/{business_id}/places","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"name":{},"place_group_id":{"type":"integer"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/places/{place_id}":{"delete":{"operationId":"Place.delete","tags":["business"],"summary":"/business/{business_id}/places/{place_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"place_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Place.find","tags":["business"],"summary":"/business/{business_id}/places/{place_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"place_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"put":{"operationId":"Place.update","tags":["business"],"summary":"/business/{business_id}/places/{place_id}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"place_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"name":{},"place_group_id":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/products":{"get":{"operationId":"Product.findAllBusiness","tags":["business"],"summary":"/business/{business_id}/products","description":"List products associated with the selected business.","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"professional_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"menu_id","schema":{"type":"integer"}},{"in":"query","name":"mode","schema":{"type":"string"}},{"in":"query","name":"timestamp","schema":{"type":"integer"}},{"in":"query","name":"type","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/business/{business_id}/third_party_integrations":{"get":{"operationId":"BusinessThirdPartyIntegration.findAll","tags":["business"],"summary":"/business/{business_id}/third_party_integrations","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/BusinessThirdPartyIntegration"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the BusinessThirdPartyIntegration projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/third_party_integrations/{third_party_integration_key}":{"delete":{"operationId":"BusinessThirdPartyIntegration.delete_next","tags":["business"],"summary":"/business/{business_id}/third_party_integrations/{third_party_integration_key}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"third_party_integration_key","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessThirdPartyIntegration.find_next","tags":["business"],"summary":"/business/{business_id}/third_party_integrations/{third_party_integration_key}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"third_party_integration_key","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessThirdPartyIntegration.update_next","tags":["business"],"summary":"/business/{business_id}/third_party_integrations/{third_party_integration_key}","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"third_party_integration_key","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"minLength":1,"type":["string","null"]},"setup_status":{"maxLength":255,"minLength":1,"type":["string","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business_id}/validate_cart":{"get":{"operationId":"Business.validate_cart","tags":["business"],"summary":"/business/{business_id}/validate_cart","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"products","required":true,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"type","required":true,"schema":{"type":"integer"}},{"in":"query","name":"timestamp","required":false,"schema":{"type":"integer"}},{"in":"query","name":"params","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/business/{business}":{"delete":{"operationId":"Business.delete","tags":["business"],"summary":"/business/{business}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Business.find.business_business","tags":["business"],"summary":"/business/{business}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"professional_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"dropdownoption","schema":{"type":"integer"}},{"in":"query","name":"location","schema":{"type":"string"}},{"in":"query","name":"menu_id","schema":{"type":"integer"}},{"in":"query","name":"mode","schema":{"type":"string"}},{"in":"query","name":"student_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}},{"in":"query","name":"type","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Business.update","tags":["business"],"summary":"/business/{business}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"about":{},"address":{},"address_notes":{},"agents":{"items":{"type":"integer"},"type":"array"},"always_deliver":{"type":"boolean"},"cancel_order_after_minutes":{"type":["integer","null"]},"cellphone":{},"city_id":{"type":"integer"},"city_name":{},"country":{},"country_code":{},"currency":{},"delivery_price":{"type":"number"},"delivery_tax_rate":{"type":"number"},"delivery_tax_type":{"type":"number"},"delivery_time":{},"description":{},"disabled_reason":{},"email":{},"enabled":{"type":"boolean"},"eta_status_times":{"contentMediaType":"application/json","type":"string"},"eta_variation_time":{"maximum":2147483647,"minimum":1,"type":"integer"},"external_id":{},"facebook_profile":{},"featured":{"type":"boolean"},"fixed_usage_fee":{"type":"number"},"franchise_id":{"type":["integer","null"]},"front_layout":{},"header":{},"instagram_profile":{},"locality":{},"location":{"contentMediaType":"application/json","type":"string"},"logo":{},"maximum":{"type":["number","null"]},"minimum":{"type":"number"},"name":{},"neighborhood":{},"order_default_priority":{"maximum":99,"type":"integer"},"owner_id":{"type":"integer"},"owners":{"items":{"type":"integer"},"type":"array"},"parent_business_id":{"type":["integer","null"]},"percentage_usage_fee":{"type":"number"},"phone":{},"pickup_time":{},"pinterest_profile":{},"price_level":{},"printer_id":{"type":"integer"},"ribbon":{"contentMediaType":"application/json","type":"string"},"route":{},"schedule":{},"seo_description":{},"seo_image":{},"seo_title":{},"service_fee":{"type":"number"},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},"snapchat_profile":{},"snooze_until":{"type":["string","null"]},"state":{},"state_code":{},"street_number":{},"sublocality":{},"tax":{"type":"number"},"tax_id":{"type":["integer","null"]},"tax_type":{"type":"number"},"taxes":{"items":{"type":"integer"},"type":"array"},"tiktok_profile":{},"timezone":{"type":"string"},"types":{"items":{"type":"integer"},"type":"array"},"whatsapp_number":{},"zipcode":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/duplicate":{"post":{"operationId":"Business.duplicate","tags":["business"],"summary":"/business/{business}/duplicate","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/gallery":{"get":{"operationId":"BusinessGallery.findAll","tags":["business"],"summary":"/business/{business}/gallery","description":"List gallery items for the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessGallery.register","tags":["business"],"summary":"/business/{business}/gallery","description":"Create a gallery item for the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"description":{},"file":{},"title":{},"type":{"type":"integer"},"video":{"type":"string"}},"required":["business_id","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/gallery/{gallery}":{"delete":{"operationId":"BusinessGallery.delete","tags":["business"],"summary":"/business/{business}/gallery/{gallery}","description":"Delete a gallery item from the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessGallery.find","tags":["business"],"summary":"/business/{business}/gallery/{gallery}","description":"Retrieve one gallery item from the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/logs":{"get":{"operationId":"BusinessLog.findAll","tags":["business"],"summary":"/business/{business}/logs","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/paymethods/{paymethod_id}/users/{user_id}":{"get":{"operationId":"UserPaymethod.findAll_next","tags":["business"],"summary":"/business/{business}/paymethods/{paymethod_id}/users/{user_id}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"business_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserPaymethod.register_next","tags":["business"],"summary":"/business/{business}/paymethods/{paymethod_id}/users/{user_id}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"sandbox":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/paymethods/{paymethod_id}/users/{user_id}/paymethods":{"get":{"operationId":"UserPaymethodPaymethod.findAll_next","tags":["business"],"summary":"/business/{business}/paymethods/{paymethod_id}/users/{user_id}/paymethods","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"business_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserPaymethodPaymethod.register_next","tags":["business"],"summary":"/business/{business}/paymethods/{paymethod_id}/users/{user_id}/paymethods","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"external_id":{},"type":{},"type_data":{},"user_paymethod_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/paymethods/{paymethod_id}/users/{user_id}/paymethods/{user_paymethod_paymethod_id}":{"delete":{"operationId":"UserPaymethodPaymethod.delete_next","tags":["business"],"summary":"/business/{business}/paymethods/{paymethod_id}/users/{user_id}/paymethods/{user_paymethod_paymethod_id}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_paymethod_paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/reviews":{"get":{"operationId":"Review.findAll","tags":["business"],"summary":"/business/{business}/reviews","description":"List reviews associated with the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Review.register","tags":["business"],"summary":"/business/{business}/reviews","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-uuid-access-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{},"delivery":{"minimum":1,"type":"integer"},"enabled":{"type":"boolean"},"order_id":{"type":"integer"},"package":{"minimum":1,"type":"integer"},"quality":{"minimum":1,"type":"integer"},"quality_tags":{"items":{},"type":["array","null"]},"service":{"minimum":1,"type":"integer"}},"required":["delivery","order_id","package","quality","service"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/business/{business}/reviews/{review}":{"delete":{"operationId":"Review.delete","tags":["business"],"summary":"/business/{business}/reviews/{review}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"review","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Review.find","tags":["business"],"summary":"/business/{business}/reviews/{review}","description":"Retrieve one review associated with the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"review","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"put":{"operationId":"Review.update","tags":["business"],"summary":"/business/{business}/reviews/{review}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"review","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{},"delivery":{"minimum":1,"type":"integer"},"enabled":{"type":"boolean"},"order_id":{"type":"integer"},"package":{"minimum":1,"type":"integer"},"quality":{"minimum":1,"type":"integer"},"quality_tags":{"items":{},"type":["array","null"]},"service":{"minimum":1,"type":"integer"},"user_id":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/webhooks":{"get":{"operationId":"BusinessWebhook.findAll","tags":["business"],"summary":"/business/{business}/webhooks","description":"List webhook configurations for the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessWebhook.register","tags":["business"],"summary":"/business/{business}/webhooks","description":"Create a webhook configuration for the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"delay":{"minLength":1,"type":"string"},"hook":{"type":"string"},"url":{"type":"string"}},"required":["business_id","hook","url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business/{business}/webhooks/{webhook}":{"delete":{"operationId":"BusinessWebhook.delete","tags":["business"],"summary":"/business/{business}/webhooks/{webhook}","description":"Delete a webhook configuration from the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"webhook","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"BusinessWebhook.update","tags":["business"],"summary":"/business/{business}/webhooks/{webhook}","description":"Update a webhook configuration for the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"webhook","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"delay":{"minLength":1,"type":"string"},"hook":{"type":"string"},"url":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business_types":{"get":{"operationId":"BusinessType.findAll","tags":["business_types"],"summary":"/business_types","description":"List business types available to the project, subject to current filters.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"order_type_id","required":true,"schema":{"enum":[1,2,3,4,5,6,7,8,9],"type":"integer"}},{"in":"query","name":"location","required":true,"schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"dropdown_option_id","schema":{"type":"integer"}},{"in":"query","name":"dropdownoption","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"BusinessType.register","tags":["business_types"],"summary":"/business_types","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"image":{},"name":{}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/business_types/{business_type_id}":{"delete":{"operationId":"BusinessType.delete","tags":["business_types"],"summary":"/business_types/{business_type_id}","parameters":[{"in":"path","name":"business_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessType.find","tags":["business_types"],"summary":"/business_types/{business_type_id}","description":"Retrieve one business type by its identifier.","parameters":[{"in":"path","name":"business_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"BusinessType.update","tags":["business_types"],"summary":"/business_types/{business_type_id}","parameters":[{"in":"path","name":"business_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"image":{},"name":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/businesses":{"get":{"operationId":"Business.findAll_next","tags":["businesses"],"summary":"/businesses","parameters":[{"in":"header","name":"x-internal-product-x","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"order_type_id","required":true,"schema":{"enum":[1,2,3,4,5,6,7,8,9],"type":"integer"}},{"in":"query","name":"location","required":true,"schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"dropdownoption","required":false,"schema":{"type":"integer"}},{"in":"query","name":"dropdown_option_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"disabled_business","schema":{"type":"boolean"}},{"in":"query","name":"menu_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Business"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Business projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/businesses/{business}":{"get":{"operationId":"Business.find_next","tags":["businesses"],"summary":"/businesses/{business}","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ParamsTree"},{"in":"query","name":"order_type_id","required":true,"schema":{"enum":[1,2,3,4,5,6,7,8,9],"type":"integer"}},{"in":"query","name":"location","required":true,"schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"ignore_menu_schedule","schema":{"type":"boolean"}},{"in":"query","name":"professional_id","schema":{"type":"integer"}},{"in":"query","name":"student_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/cart_groups":{"post":{"operationId":"CartGroup.register","tags":["cart_groups"],"summary":"/cart_groups","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"carts":{"items":{},"type":"array"},"user_id":{"type":"integer"}},"required":["carts"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartGroup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartGroup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/cart_groups/{cart_group_id}":{"get":{"operationId":"CartGroup.find.get","tags":["cart_groups"],"summary":"/cart_groups/{cart_group_id}","parameters":[{"in":"path","name":"cart_group_id","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}]}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartGroup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartGroup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/cart_groups/{cart_group_id}/confirm":{"post":{"operationId":"CartGroup.confirm.post","tags":["cart_groups"],"summary":"/cart_groups/{cart_group_id}/confirm","parameters":[{"in":"path","name":"cart_group_id","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}]}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"paymethod_id":{},"user_id":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartGroup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartGroup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/cart_groups/{cart_group_id}/place":{"post":{"operationId":"CartGroup.place.post","tags":["cart_groups"],"summary":"/cart_groups/{cart_group_id}/place","parameters":[{"in":"path","name":"cart_group_id","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}]}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"type":"number"},"meta_location":{},"paymethod_data":{"contentMediaType":"application/json","type":"string"},"paymethod_id":{"type":"integer"},"user_id":{"type":"integer"}},"required":["amount"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartGroup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartGroup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/cart_groups/{cart_group_id}/prepare":{"get":{"operationId":"CartGroup.prepare.get","tags":["cart_groups"],"summary":"/cart_groups/{cart_group_id}/prepare","parameters":[{"in":"path","name":"cart_group_id","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}]}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/cart_groups/{cart_group_id}/wallets":{"post":{"operationId":"CartGroup.add_wallet.post","tags":["cart_groups"],"summary":"/cart_groups/{cart_group_id}/wallets","parameters":[{"in":"path","name":"cart_group_id","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}]}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"maximum":2147483647,"minimum":1,"type":"number"},"user_id":{},"wallet_id":{"type":"integer"}},"required":["wallet_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartGroup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartGroup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/cart_groups/{cart_group_id}/wallets/{wallet_id}":{"delete":{"operationId":"CartGroup.remove_wallet.delete","tags":["cart_groups"],"summary":"/cart_groups/{cart_group_id}/wallets/{wallet_id}","parameters":[{"in":"path","name":"cart_group_id","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","type":"string"}]}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartGroup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartGroup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts":{"get":{"operationId":"Cart.findAll","tags":["carts"],"summary":"/carts","description":"List carts visible to the authenticated caller.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"mode","schema":{"type":"string"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/add_offer":{"post":{"operationId":"Cart.add_offer","tags":["carts"],"summary":"/carts/add_offer","description":"Apply an offer to a cart.","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"coupon":{"maxLength":255,"minLength":1,"type":"string"},"force":{"type":"boolean"},"offer_id":{"type":"integer"},"user_id":{}},"required":["business_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/add_product":{"post":{"operationId":"Cart.add_product","tags":["carts"],"summary":"/carts/add_product","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"platform_product":{"contentMediaType":"application/json","type":"string"},"product":{"contentMediaType":"application/json","type":"string"},"product.professional_id":{"type":"integer"},"product.service_start":{"format":"date-time","type":"string"},"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Cart"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/add_reservation":{"post":{"operationId":"Cart.add_reservation","tags":["carts"],"summary":"/carts/add_reservation","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"platform_reservation":{},"product":{},"reservation":{"contentMediaType":"application/json","type":"string"},"user_id":{}},"required":["reservation"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Cart"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/apply_coupon":{"post":{"operationId":"Cart.apply_coupon","tags":["carts"],"summary":"/carts/apply_coupon","description":"Apply or clear a coupon for the selected cart business.","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"coupon":{"maxLength":255,"type":["string","null"]},"user_id":{}},"required":["business_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/change_driver_tip":{"post":{"operationId":"Cart.change_driver_tip","tags":["carts"],"summary":"/carts/change_driver_tip","description":"Change the driver tip amount or rate for the selected cart business.","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"driver_tip":{"minimum":0,"type":"number"},"driver_tip_rate":{"maximum":100,"minimum":0,"type":"number"},"user_id":{}},"required":["business_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/change_paymethod":{"post":{"operationId":"Cart.change_paymethod","tags":["carts"],"summary":"/carts/change_paymethod","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"paymethod_data":{"contentMediaType":"application/json","type":["string","null"]},"paymethod_id":{"type":["integer","null"]},"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/change_place":{"post":{"operationId":"Cart.change_place","tags":["carts"],"summary":"/carts/change_place","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"place_id":{"type":["integer","null"]},"user_id":{}},"required":["business_id","place_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/clear":{"post":{"operationId":"Cart.clear","tags":["carts"],"summary":"/carts/clear","description":"Remove all product selections from the identified cart.","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"user_id":{},"uuid":{}},"required":["uuid"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Cart"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/confirm_group":{"post":{"operationId":"Cart.confirm_group","tags":["carts"],"summary":"/carts/confirm_group","parameters":[{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"carts":{"items":{},"type":"array"},"user_id":{"type":"integer"}},"required":["carts"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/dashboard":{"get":{"operationId":"Cart.dashboard","tags":["carts"],"summary":"/carts/dashboard","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/CartDashboardProjection"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/multi_product":{"post":{"operationId":"Cart.multi_product","tags":["carts"],"summary":"/carts/multi_product","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"platform_products":{"contentMediaType":"application/json","type":"string"},"products":{"contentMediaType":"application/json","type":"string"},"removed_products":{"contentMediaType":"application/json","type":"string"},"user_id":{},"uuid":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Cart"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/place_group":{"post":{"operationId":"Cart.place_group","tags":["carts"],"summary":"/carts/place_group","parameters":[{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"type":"number"},"carts":{"items":{},"type":"array"},"meta_location":{},"paymethod_data":{"contentMediaType":"application/json","type":"string"},"paymethod_id":{"type":"integer"},"user_id":{"type":"integer"},"wallet_data":{"contentMediaType":"application/json","type":"string"},"wallet_id":{"type":"integer"}},"required":["amount","carts"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/prepare_checkout":{"post":{"operationId":"Cart.prepare_checkout","tags":["carts"],"summary":"/carts/prepare_checkout","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"carts":{"items":{},"type":"array"},"user_id":{"type":"integer"}},"required":["carts"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/remove_offer":{"post":{"operationId":"Cart.remove_offer","tags":["carts"],"summary":"/carts/remove_offer","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"offer_id":{"type":"integer"},"user_id":{}},"required":["business_id","offer_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/remove_product":{"post":{"operationId":"Cart.remove_product","tags":["carts"],"summary":"/carts/remove_product","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"platform_product":{"contentMediaType":"application/json","type":"string"},"product":{"contentMediaType":"application/json","type":"string"},"user_id":{},"uuid":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Cart"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/update_product":{"post":{"operationId":"Cart.update_product","tags":["carts"],"summary":"/carts/update_product","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"platform_product":{},"product":{"contentMediaType":"application/json","type":"string"},"product.professional_id":{"type":"integer"},"product.service_start":{"format":"date-time","type":"string"},"user_id":{}},"required":["product"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Cart"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Cart instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}":{"get":{"operationId":"Cart.find","tags":["carts"],"summary":"/carts/{cart_id}","description":"Retrieve one cart by its UUID, subject to caller scope.","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Cart.update","tags":["carts"],"summary":"/carts/{cart_id}","description":"Update mutable fields on the identified cart.","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"product":{},"student_id":{},"user_id":{},"vehicle":{"properties":{"car_registration":{},"color":{},"model":{},"type":{}},"required":["car_registration","color","model","type"],"type":"object"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/businesses":{"get":{"operationId":"Cart.businesses","tags":["carts"],"summary":"/carts/{cart_id}/businesses","description":"List businesses currently represented in the selected cart.","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Business"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Business projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/confirm":{"post":{"operationId":"Cart.confirm","tags":["carts"],"summary":"/carts/{cart_id}/confirm","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/metafields":{"get":{"operationId":"CartMetafield.findAll","tags":["carts"],"summary":"/carts/{cart_id}/metafields","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"CartMetafield.register","tags":["carts"],"summary":"/carts/{cart_id}/metafields","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"user_id":{},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/metafields/bulk_sync":{"post":{"operationId":"CartMetafield.bulk_sync","tags":["carts"],"summary":"/carts/{cart_id}/metafields/bulk_sync","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"metafields":{"items":{"properties":{"key":{"minLength":1,"type":"string"}},"required":["key"],"type":"object"},"type":"array"}},"required":["metafields"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/metafields/{metafield}":{"delete":{"operationId":"CartMetafield.delete","tags":["carts"],"summary":"/carts/{cart_id}/metafields/{metafield}","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"CartMetafield.find","tags":["carts"],"summary":"/carts/{cart_id}/metafields/{metafield}","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"CartMetafield.sync","tags":["carts"],"summary":"/carts/{cart_id}/metafields/{metafield}","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[a-zA-Z0-9_]+$","type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Metafield"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Metafield instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"CartMetafield.update","tags":["carts"],"summary":"/carts/{cart_id}/metafields/{metafield}","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"user_id":{},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/offers":{"get":{"operationId":"Cart.available_offers","tags":["carts"],"summary":"/carts/{cart_id}/offers","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"query","name":"only_applicable","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/place":{"post":{"operationId":"Cart.place","tags":["carts"],"summary":"/carts/{cart_id}/place","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{},"delivery_zone_id":{},"meta_location":{},"on_behalf_of":{},"paymethod_data":{},"paymethod_id":{"type":"integer"},"recaptcha_type":{"type":"string"},"user_id":{},"verification_code":{}},"required":["paymethod_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/products/{product_id}":{"put":{"operationId":"CartProduct.update","tags":["carts"],"summary":"/carts/{cart_id}/products/{product_id}","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"priority":{"type":"integer"},"status":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CartProduct"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized CartProduct instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/upselling":{"get":{"operationId":"Cart.upselling","tags":["carts"],"summary":"/carts/{cart_id}/upselling","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Product"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Product instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/wallets":{"post":{"operationId":"Cart.add_wallet","tags":["carts"],"summary":"/carts/{cart_id}/wallets","description":"Apply wallet value to the selected cart.","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"maximum":2147483647,"minimum":1,"type":"number"},"user_id":{},"wallet_id":{"type":"integer"}},"required":["wallet_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/carts/{cart_id}/wallets/{wallet_id}":{"delete":{"operationId":"Cart.remove_wallet","tags":["carts"],"summary":"/carts/{cart_id}/wallets/{wallet_id}","description":"Remove the selected wallet allocation from a cart.","parameters":[{"in":"path","name":"cart_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/categories":{"get":{"operationId":"Category.findAll_next","tags":["categories"],"summary":"/categories","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Category"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Category projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/checkoutfields":{"get":{"operationId":"CheckoutField.findAll","tags":["checkoutfields"],"summary":"/checkoutfields","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"CheckoutField.register","tags":["checkoutfields"],"summary":"/checkoutfields","description":"Create a project checkout field used by checkout validation.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"name":{},"required":{"type":"boolean"},"status":{"type":"boolean"},"type":{}},"required":["code","name","required","status","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/checkoutfields/{checkoutfield}":{"delete":{"operationId":"CheckoutField.delete","tags":["checkoutfields"],"summary":"/checkoutfields/{checkoutfield}","description":"Delete the selected checkout field.","parameters":[{"in":"path","name":"checkoutfield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"CheckoutField.find","tags":["checkoutfields"],"summary":"/checkoutfields/{checkoutfield}","description":"Retrieve the selected checkout field.","parameters":[{"in":"path","name":"checkoutfield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"CheckoutField.update","tags":["checkoutfields"],"summary":"/checkoutfields/{checkoutfield}","description":"Update the selected checkout field.","parameters":[{"in":"path","name":"checkoutfield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"name":{"type":"string"},"required":{"type":"boolean"},"status":{"type":"boolean"},"type":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/codes/generate":{"post":{"operationId":"Code.generate.post","tags":["codes"],"summary":"/codes/generate","description":"Generate a verification code for the supplied channel and recipient.","parameters":[{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-INTERNAL-PRODUCT-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"channel":{"enum":[1,2,3,4,5,6,7,8],"type":"integer"},"country_phone_code":{"type":"string"},"email":{"type":"string"},"send_data":{"contentMediaType":"application/json","maxLength":10000,"minLength":1,"type":"string"},"size":{"enum":[4,6,8],"type":"integer"},"to":{"type":"string"},"type":{"enum":[1,2,3,4,5],"type":"integer"}},"required":["channel","size","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/codes/verify":{"get":{"operationId":"Code.verify.get","tags":["codes"],"summary":"/codes/verify","description":"Verify a code using the supplied verification data.","parameters":[{"in":"query","name":"type","required":true,"schema":{"enum":[1,2,3,4,5],"type":"integer"}},{"in":"query","name":"channel","required":false,"schema":{"enum":[1,2,3,4,5,6,7,8],"type":"integer"}},{"in":"query","name":"send_data","required":false,"schema":{"contentMediaType":"application/json","maxLength":10000,"minLength":1,"type":"string"}},{"in":"query","name":"code","required":false,"schema":{"maxLength":8,"minLength":4,"type":"string"}},{"in":"query","name":"cellphone","schema":{"type":"string"}},{"in":"query","name":"country_phone_code","schema":{"type":"string"}},{"in":"query","name":"email","schema":{"type":"string"}},{"in":"query","name":"to","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Code.verify.post","tags":["codes"],"summary":"/codes/verify","description":"Verify a code using the supplied verification data.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"channel":{"enum":[1,2,3,4,5,6,7,8],"type":"integer"},"code":{"maxLength":8,"minLength":4,"type":"string"},"country_phone_code":{"type":"string"},"email":{},"send_data":{"contentMediaType":"application/json","maxLength":10000,"minLength":1,"type":"string"},"to":{},"type":{"enum":[1,2,3,4,5],"type":"integer"}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/config_categories":{"post":{"operationId":"ConfigCategory.register","tags":["config_categories"],"summary":"/config_categories","description":"Create a configuration category for the project.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"key":{},"more_info":{},"name":{},"parent_category_id":{"type":"integer"},"rank":{"type":"integer"},"support_url":{},"video":{}},"required":["key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/config_categories/{config_category}":{"delete":{"operationId":"ConfigCategory.delete","tags":["config_categories"],"summary":"/config_categories/{config_category}","description":"Delete the selected configuration category.","parameters":[{"in":"path","name":"config_category","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ConfigCategory.find","tags":["config_categories"],"summary":"/config_categories/{config_category}","description":"Retrieve the selected configuration category.","parameters":[{"in":"path","name":"config_category","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ConfigCategory.update","tags":["config_categories"],"summary":"/config_categories/{config_category}","description":"Update the selected configuration category.","parameters":[{"in":"path","name":"config_category","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"key":{},"more_info":{},"name":{},"parent_category_id":{"type":"integer"},"rank":{"type":"integer"},"support_url":{},"video":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/configs":{"get":{"operationId":"Config.findAll","tags":["configs"],"summary":"/configs","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Config.register","tags":["configs"],"summary":"/configs","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"image":{},"key":{},"options":{"contentMediaType":"application/json","type":"string"},"type":{"enum":[1,2,3,4,5],"type":"integer"},"value":{}},"required":["key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/configs/{config}":{"delete":{"operationId":"Config.delete","tags":["configs"],"summary":"/configs/{config}","parameters":[{"in":"path","name":"config","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Config.find","tags":["configs"],"summary":"/configs/{config}","parameters":[{"in":"path","name":"config","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Config.update","tags":["configs"],"summary":"/configs/{config}","parameters":[{"in":"path","name":"config","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"image":{},"key":{},"options":{"contentMediaType":"application/json","type":"string"},"type":{"enum":[1,2,3,4,5],"type":"integer"},"value":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/controls/orders":{"get":{"operationId":"Controls.orders","tags":["controls"],"summary":"/controls/orders","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"agents":{"type":"array"},"assignable_driver_groups":{"type":"array"},"businesses":{"type":"array"},"cities":{"type":"array"},"driver_groups":{"type":"array"},"drivers":{"type":"array"},"paymethods":{"type":"array"}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/controls/orders/{order_id}":{"get":{"operationId":"Controls.order","tags":["controls"],"summary":"/controls/orders/{order_id}","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries":{"get":{"operationId":"Country.findAll","tags":["countries"],"summary":"/countries","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Country.register","tags":["countries"],"summary":"/countries","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"enabled":{"type":"boolean"},"name":{}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries/{country_id}/configs":{"get":{"operationId":"CountryConfig.findAll","tags":["countries"],"summary":"/countries/{country_id}/configs","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/countries/{country_id}/configs/{config_id}":{"get":{"operationId":"CountryConfig.find","tags":["countries"],"summary":"/countries/{country_id}/configs/{config_id}","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"config_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"CountryConfig.update.post","tags":["countries"],"summary":"/countries/{country_id}/configs/{config_id}","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"config_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"value":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Config"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Config instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"CountryConfig.update.put","tags":["countries"],"summary":"/countries/{country_id}/configs/{config_id}","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"config_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"value":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Config"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Config instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries/{country_id}/metafields":{"get":{"operationId":"CountryMetafield.findAll","tags":["countries"],"summary":"/countries/{country_id}/metafields","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"CountryMetafield.register","tags":["countries"],"summary":"/countries/{country_id}/metafields","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries/{country_id}/metafields/{metafield_id}":{"delete":{"operationId":"CountryMetafield.delete","tags":["countries"],"summary":"/countries/{country_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"CountryMetafield.find","tags":["countries"],"summary":"/countries/{country_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"CountryMetafield.update","tags":["countries"],"summary":"/countries/{country_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"country_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries/{country}":{"delete":{"operationId":"Country.delete","tags":["countries"],"summary":"/countries/{country}","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Country.find","tags":["countries"],"summary":"/countries/{country}","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Country.update","tags":["countries"],"summary":"/countries/{country}","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"enabled":{"type":"boolean"},"name":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries/{country}/cities":{"get":{"operationId":"City.findAll","tags":["countries"],"summary":"/countries/{country}/cities","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"City.register","tags":["countries"],"summary":"/countries/{country}/cities","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"administrator_id":{"type":["integer","null"]},"country_id":{"type":"integer"},"enabled":{"type":"boolean"},"name":{}},"required":["country_id","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/countries/{country}/cities/{city}":{"delete":{"operationId":"City.delete","tags":["countries"],"summary":"/countries/{country}/cities/{city}","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"city","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"City.find","tags":["countries"],"summary":"/countries/{country}/cities/{city}","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"city","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"City.update","tags":["countries"],"summary":"/countries/{country}/cities/{city}","parameters":[{"in":"path","name":"country","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"city","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"administrator_id":{"type":["integer","null"]},"country_id":{"type":"integer"},"enabled":{"type":"boolean"},"name":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/current":{"get":{"operationId":"CurrentProject.current","tags":["current"],"summary":"/current","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/SystemProjectCurrentProjection"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized SystemProject instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/delivery_options":{"get":{"operationId":"DeliveryOption.findAll","tags":["delivery_options"],"summary":"/delivery_options","description":"List delivery options for the current project.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"DeliveryOption.register","tags":["delivery_options"],"summary":"/delivery_options","description":"Create a delivery option for the current project.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"delivery_type_id":{"type":["integer","null"]},"enabled":{"type":"boolean"},"name":{"type":"string"}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/delivery_options/{delivery_option_id}":{"delete":{"operationId":"DeliveryOption.delete","tags":["delivery_options"],"summary":"/delivery_options/{delivery_option_id}","description":"Delete the selected delivery option.","parameters":[{"in":"path","name":"delivery_option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"DeliveryOption.find","tags":["delivery_options"],"summary":"/delivery_options/{delivery_option_id}","description":"Retrieve the selected delivery option.","parameters":[{"in":"path","name":"delivery_option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"put":{"operationId":"DeliveryOption.update","tags":["delivery_options"],"summary":"/delivery_options/{delivery_option_id}","description":"Update the selected delivery option.","parameters":[{"in":"path","name":"delivery_option_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"delivery_type_id":{"type":["integer","null"]},"enabled":{"type":"boolean"},"name":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/delivery_zones":{"get":{"operationId":"DeliveryZone.findAll_next","tags":["delivery_zones"],"summary":"/delivery_zones","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"filtered_by_business","schema":{"contentMediaType":"application/json","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/DeliveryZone"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the DeliveryZone projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/devices":{"get":{"operationId":"Device.findAll","tags":["devices"],"summary":"/devices","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Device.register","tags":["devices"],"summary":"/devices","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"name":{},"user_id":{"type":"integer"}},"required":["business_id","name","user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/devices/{device_id}":{"delete":{"operationId":"Device.delete","tags":["devices"],"summary":"/devices/{device_id}","parameters":[{"in":"path","name":"device_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Device.find","tags":["devices"],"summary":"/devices/{device_id}","parameters":[{"in":"path","name":"device_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Device.update","tags":["devices"],"summary":"/devices/{device_id}","parameters":[{"in":"path","name":"device_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"name":{},"user_id":{"type":"integer"}},"required":["business_id","user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/driver_companies/{driver_company_external_id}/external_drivers/{external_driver_external_id}/location":{"post":{"operationId":"ExternalDriverLocation.register","tags":["driver_companies"],"summary":"/driver_companies/{driver_company_external_id}/external_drivers/{external_driver_external_id}/location","parameters":[{"in":"path","name":"driver_company_external_id","required":true,"schema":{"pattern":"^[A-Za-z0-9_\\-]+$","type":"string"}},{"in":"path","name":"external_driver_external_id","required":true,"schema":{"pattern":"^[A-Za-z0-9_\\-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"external_delivery_id":{"type":["string","null"]},"latitude":{"type":"number"},"longitude":{"type":"number"},"timestamp":{}},"required":["latitude","longitude"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"driverCompanyKey":[]}]}},"/drivergroups":{"get":{"operationId":"DriverGroup.findAll","tags":["drivergroups"],"summary":"/drivergroups","description":"List driver groups for the current project.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"DriverGroup.register","tags":["drivergroups"],"summary":"/drivergroups","description":"Create a driver group for the current project.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"administrator_id":{"type":"number"},"administrators":{"items":{"type":"integer"},"type":"array"},"allowed_paymethods":{"items":{"type":"integer"},"type":"array"},"autoassign_autoassign_driver":{"type":"boolean"},"autoassign_autoreject_time":{"maximum":604800,"type":["integer","null"]},"autoassign_customer_max_distance_from_business":{"type":["integer","null"]},"autoassign_forced_assignment":{"type":"boolean"},"autoassign_groupable_individual_orders_only":{"type":"boolean"},"autoassign_increment_radius":{"maximum":999999,"minimum":1,"type":"integer"},"autoassign_initial_radius":{"maximum":999999,"minimum":1,"type":"integer"},"autoassign_max_azimuth_diff":{"maximum":180,"minimum":1,"type":["integer","null"]},"autoassign_max_in_driver_almost_arrived_to_customer":{"type":"integer"},"autoassign_max_in_driver_on_way":{"type":"integer"},"autoassign_max_in_driver_waiting_for_customer":{"minimum":1,"type":"integer"},"autoassign_max_radius":{"maximum":999999,"minimum":1,"type":"integer"},"autoreject_after_expiration":{"type":["boolean","null"]},"business":{"items":{"type":"integer"},"type":"array"},"driver_available_max_distance":{"maximum":999999.99,"type":["number","null"]},"driver_companies":{"items":{"type":"integer"},"type":"array"},"drivers":{"items":{"type":"integer"},"type":"array"},"enabled":{"type":"boolean"},"name":{"type":"string"},"orders_group_max_distance_between_delivery":{"maximum":999999.99,"type":"number"},"orders_group_max_distance_between_pickup":{"maximum":999999.99,"type":["number","null"]},"priority":{"type":"integer"},"schedule":{},"temporary_drivers":{"items":{},"type":["array","null"]},"timezone":{"minLength":1,"type":["string","null"]},"type":{"type":"integer"}},"required":["business","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{driver_group_id}/deliveryzones":{"get":{"operationId":"DriverGroupDeliveryZone.findAll","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/deliveryzones","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"DriverGroupDeliveryZone.register","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/deliveryzones","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{},"data":{"contentMediaType":"application/json","type":"string"},"driver_group_id":{"type":"integer"},"dropdown_option_id":{"type":"integer"},"enabled":{"type":"boolean"},"hourly_delivery_times":{"contentMediaType":"application/json","type":"string"},"minimum":{"type":"number"},"name":{},"price":{"type":"number"},"schedule":{"contentMediaType":"application/json","type":"string"},"type":{"enum":[1,2,3,4,5],"type":"integer"}},"required":["driver_group_id","minimum","name","price","schedule","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{driver_group_id}/deliveryzones/{delivery_zone_id}":{"delete":{"operationId":"DriverGroupDeliveryZone.delete","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/deliveryzones/{delivery_zone_id}","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"delivery_zone_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"DriverGroupDeliveryZone.find","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/deliveryzones/{delivery_zone_id}","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"delivery_zone_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"DriverGroupDeliveryZone.update","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/deliveryzones/{delivery_zone_id}","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"delivery_zone_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{},"business_id":{"type":"integer"},"businesses":{"items":{"type":"integer"},"type":"array"},"data":{"contentMediaType":"application/json","type":"string"},"dropdown_option_id":{"type":"integer"},"enabled":{"type":"boolean"},"hourly_delivery_times":{"contentMediaType":"application/json","type":"string"},"minimum":{"type":"number"},"name":{},"price":{"type":"number"},"schedule":{"contentMediaType":"application/json","type":"string"},"type":{"enum":[1,2,3,4,5],"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{driver_group_id}/drivers":{"get":{"operationId":"DriverGroupDriver.findAll","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/drivers","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"delivery_block_from","required":false,"schema":{"type":"string"}},{"in":"query","name":"delivery_block_to","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/User"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the User projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{driver_group_id}/logs":{"get":{"operationId":"DriverGroupLog.findAll","tags":["drivergroups"],"summary":"/drivergroups/{driver_group_id}/logs","parameters":[{"in":"path","name":"driver_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{drivergroup_id}":{"delete":{"operationId":"DriverGroup.delete","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}","description":"Delete the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"DriverGroup.find","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}","description":"Retrieve the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"DriverGroup.update","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}","description":"Update the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"administrator_id":{"type":"number"},"administrators":{"items":{"type":"integer"},"type":"array"},"allowed_paymethods":{"items":{"type":"integer"},"type":"array"},"autoassign_autoassign_driver":{"type":"boolean"},"autoassign_autoreject_time":{"maximum":604800,"type":["integer","null"]},"autoassign_customer_max_distance_from_business":{"type":["integer","null"]},"autoassign_forced_assignment":{"type":"boolean"},"autoassign_groupable_individual_orders_only":{"type":"boolean"},"autoassign_increment_radius":{"maximum":999999,"minimum":1,"type":"integer"},"autoassign_initial_radius":{"maximum":999999,"minimum":1,"type":"integer"},"autoassign_max_azimuth_diff":{"maximum":180,"minimum":1,"type":["integer","null"]},"autoassign_max_in_driver_almost_arrived_to_customer":{"type":"integer"},"autoassign_max_in_driver_on_way":{"type":"integer"},"autoassign_max_in_driver_waiting_for_customer":{"minimum":1,"type":"integer"},"autoassign_max_radius":{"maximum":999999,"minimum":1,"type":"integer"},"autoreject_after_expiration":{"type":["boolean","null"]},"business":{"items":{"type":"integer"},"type":"array"},"driver_available_max_distance":{"maximum":999999.99,"type":["number","null"]},"driver_companies":{"items":{"type":"integer"},"type":"array"},"drivers":{"items":{"type":"integer"},"type":"array"},"enabled":{"type":"boolean"},"name":{"type":"string"},"orders_group_max_distance_between_delivery":{"maximum":999999.99,"type":"number"},"orders_group_max_distance_between_pickup":{"maximum":999999.99,"type":["number","null"]},"priority":{"type":"integer"},"schedule":{},"temporary_drivers":{"items":{},"type":["array","null"]},"timezone":{"minLength":1,"type":["string","null"]},"type":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{drivergroup_id}/metafields":{"get":{"operationId":"DriverGroupMetafield.findAll","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}/metafields","description":"List the metafields associated with the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"DriverGroupMetafield.register","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}/metafields","description":"Create a metafield for the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivergroups/{drivergroup_id}/metafields/{metafield_id}":{"delete":{"operationId":"DriverGroupMetafield.delete","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}/metafields/{metafield_id}","description":"Delete a metafield associated with the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"DriverGroupMetafield.find","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}/metafields/{metafield_id}","description":"Retrieve one metafield associated with the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"DriverGroupMetafield.update","tags":["drivergroups"],"summary":"/drivergroups/{drivergroup_id}/metafields/{metafield_id}","description":"Update a metafield associated with the selected driver group.","parameters":[{"in":"path","name":"drivergroup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivers/sync_schedule_events":{"post":{"operationId":"User.sync_schedule_events","tags":["drivers"],"summary":"/drivers/sync_schedule_events","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivers/{driver_id}/delivery_blocks":{"post":{"operationId":"DeliveryBlock.register","tags":["drivers"],"summary":"/drivers/{driver_id}/delivery_blocks","parameters":[{"in":"path","name":"driver_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"break_end":{"type":"string"},"break_start":{"type":"string"},"description":{"minLength":1,"type":"string"},"end":{"type":"string"},"name":{"minLength":1,"type":"string"},"rrule":{"minLength":1,"type":"string"},"start":{"type":"string"},"until":{"type":"string"}},"required":["end","start"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/DeliveryBlock"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized DeliveryBlock instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivers/{driver_id}/delivery_blocks/{delivery_block_id}":{"post":{"operationId":"DeliveryBlock.update.post","tags":["drivers"],"summary":"/drivers/{driver_id}/delivery_blocks/{delivery_block_id}","parameters":[{"in":"path","name":"driver_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"delivery_block_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"break_end":{"type":"string"},"break_start":{"type":"string"},"description":{"minLength":1,"type":"string"},"end":{"type":"string"},"name":{"minLength":1,"type":"string"},"propagation":{"enum":["none","all","from_now","from_event"],"type":"string"},"rrule":{"minLength":1,"type":["string","null"]},"start":{"type":"string"},"until":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/DeliveryBlock"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized DeliveryBlock instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"DeliveryBlock.update.put","tags":["drivers"],"summary":"/drivers/{driver_id}/delivery_blocks/{delivery_block_id}","parameters":[{"in":"path","name":"driver_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"delivery_block_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"break_end":{"type":"string"},"break_start":{"type":"string"},"description":{"minLength":1,"type":"string"},"end":{"type":"string"},"name":{"minLength":1,"type":"string"},"propagation":{"enum":["none","all","from_now","from_event"],"type":"string"},"rrule":{"minLength":1,"type":["string","null"]},"start":{"type":"string"},"until":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/DeliveryBlock"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized DeliveryBlock instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivers/{user_id}/assign_requests":{"get":{"operationId":"AssignRequest.findAll","tags":["drivers"],"summary":"/drivers/{user_id}/assign_requests","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/drivers/{user_id}/assign_requests/{request_id}":{"get":{"operationId":"AssignRequest.find","tags":["drivers"],"summary":"/drivers/{user_id}/assign_requests/{request_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"request_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"AssignRequest.update","tags":["drivers"],"summary":"/drivers/{user_id}/assign_requests/{request_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"request_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"type":"integer"}},"required":["status"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/dropdownoptions":{"get":{"operationId":"DropdownOption.findAll","tags":["dropdownoptions"],"summary":"/dropdownoptions","description":"List dropdown options available to the project.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"DropdownOption.register","tags":["dropdownoptions"],"summary":"/dropdownoptions","description":"Create a dropdown option available to project configuration and supported resources.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"city_id":{"type":"number"},"enabled":{"type":"boolean"},"name":{}},"required":["city_id","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/dropdownoptions/{dropdownoption}":{"delete":{"operationId":"DropdownOption.delete","tags":["dropdownoptions"],"summary":"/dropdownoptions/{dropdownoption}","description":"Delete the selected dropdown option.","parameters":[{"in":"path","name":"dropdownoption","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"const":"OK","type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"DropdownOption.find","tags":["dropdownoptions"],"summary":"/dropdownoptions/{dropdownoption}","description":"Retrieve the selected dropdown option.","parameters":[{"in":"path","name":"dropdownoption","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"DropdownOption.update","tags":["dropdownoptions"],"summary":"/dropdownoptions/{dropdownoption}","description":"Update the selected dropdown option.","parameters":[{"in":"path","name":"dropdownoption","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"city_id":{"type":"number"},"enabled":{"type":"boolean"},"name":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/emails/send":{"post":{"operationId":"Email.send","tags":["emails"],"summary":"/emails/send","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{},"email":{},"name":{},"send_to":{},"subject_code":{"enum":["interested_ordering_app","interested_business_app","interested_driver_app","interested_dashboard_app"],"maxLength":255,"minLength":1,"type":"string"}},"required":["subject_code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/event_rules":{"get":{"operationId":"EventRule.findAll","tags":["event_rules"],"summary":"/event_rules","description":"List event rules configured for the project.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"EventRule.register","tags":["event_rules"],"summary":"/event_rules","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"date":{"type":"string"},"description":{"type":"string"},"enabled":{"type":"boolean"},"launch_type":{"enum":["date","times"],"type":"string"},"name":{"type":"string"},"times":{"items":{"type":"integer"},"type":"array"},"type":{"enum":["abandoned_cart"],"type":"string"}},"required":["launch_type","name","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/event_rules/{event_rule_id}":{"delete":{"operationId":"EventRule.delete","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}","description":"Delete the selected event rule.","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"EventRule.find","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}","description":"Retrieve one event rule by identifier.","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"EventRule.update","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}","description":"Update the selected event rule.","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"date":{},"description":{},"enabled":{"type":"boolean"},"launch_type":{"enum":["date","times"],"type":"string"},"name":{},"times":{"items":{"type":"integer"},"type":"array"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/event_rules/{event_rule_id}/channels":{"get":{"operationId":"EventRuleChannel.findAll","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}/channels","description":"List channels belonging to the selected event rule.","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"EventRuleChannel.register","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}/channels","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"type":"string"},"channel":{"enum":["email","notification","sms","webhook"],"maxLength":255,"minLength":1,"type":"string"},"enabled":{"type":"boolean"},"title":{"type":"string"},"webhook":{}},"required":["body","channel"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/event_rules/{event_rule_id}/channels/{event_rule_channel_id}":{"delete":{"operationId":"EventRuleChannel.delete","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}/channels/{event_rule_channel_id}","description":"Delete the selected channel from an event rule.","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_rule_channel_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"EventRuleChannel.find","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}/channels/{event_rule_channel_id}","description":"Retrieve one channel belonging to the selected event rule.","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_rule_channel_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"EventRuleChannel.update","tags":["event_rules"],"summary":"/event_rules/{event_rule_id}/channels/{event_rule_channel_id}","parameters":[{"in":"path","name":"event_rule_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"event_rule_channel_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"type":"string"},"enabled":{"type":"boolean"},"title":{"type":"string"},"webhook":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/fees":{"get":{"operationId":"Fee.findAll","tags":["fees"],"summary":"/fees","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Fee.register","tags":["fees"],"summary":"/fees","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":["integer","null"]},"delivery_type":{"enum":["delivery","pickup","eatin","curbside","driver_thru","seat_delivery","catering_delivery","catering_pickup","reservation"],"type":["string","null"]},"description":{},"enabled":{"type":"boolean"},"end_date":{},"external_id":{},"fixed":{"type":"number"},"fixed_minimum":{"type":["number","null"]},"name":{},"paymethod_id":{"type":["integer","null"]},"percentage":{"type":"number"},"recipient":{"enum":["business","platform"],"type":["string","null"]},"recurring_day":{"maximum":31,"minimum":0,"type":["integer","null"]},"recurring_period":{"enum":["weekly","monthly"],"type":["string","null"]},"site_id":{"type":["integer","null"]},"start_date":{},"target":{"enum":["business","customer"],"type":"string"},"taxable":{"type":"boolean"},"type":{"enum":["product","business"],"type":"string"}},"required":["fixed","name","percentage"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/fees/{fee_id}":{"delete":{"operationId":"Fee.delete","tags":["fees"],"summary":"/fees/{fee_id}","parameters":[{"in":"path","name":"fee_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Fee.find","tags":["fees"],"summary":"/fees/{fee_id}","parameters":[{"in":"path","name":"fee_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Fee.update","tags":["fees"],"summary":"/fees/{fee_id}","parameters":[{"in":"path","name":"fee_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":["integer","null"]},"delivery_type":{"enum":["delivery","pickup","eatin","curbside","driver_thru","seat_delivery","catering_delivery","catering_pickup","reservation"],"type":["string","null"]},"description":{},"enabled":{"type":"boolean"},"end_date":{},"external_id":{},"fixed":{"type":"number"},"fixed_minimum":{"type":["number","null"]},"name":{},"paymethod_id":{"type":["integer","null"]},"percentage":{"type":"number"},"recipient":{"enum":["business","platform"],"type":["string","null"]},"recurring_day":{"maximum":31,"minimum":0,"type":["integer","null"]},"recurring_period":{"enum":["weekly","monthly"],"type":["string","null"]},"site_id":{"type":["integer","null"]},"start_date":{},"target":{"enum":["business","customer"],"type":"string"},"taxable":{"type":"boolean"},"type":{"enum":["product","business"],"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/files":{"get":{"operationId":"File.findAll","tags":["files"],"summary":"/files","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"File.register","tags":["files"],"summary":"/files","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"source":{"type":"string"},"type":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/files/{file_id}":{"delete":{"operationId":"File.delete","tags":["files"],"summary":"/files/{file_id}","parameters":[{"in":"path","name":"file_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/franchises":{"get":{"operationId":"Franchise.findAll","tags":["franchises"],"summary":"/franchises","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Franchise.register","tags":["franchises"],"summary":"/franchises","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":["integer","null"]},"cellphone":{},"country_phone_code":{"minimum":1,"type":["integer","null"]},"description":{"type":"string"},"header":{},"internal_name":{},"logo":{},"name":{"type":"string"},"phone":{},"ribbon":{"contentMediaType":"application/json","type":"string"},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},"timezone":{"type":"string"}},"required":["name","slug"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/franchises/{franchise_id}":{"delete":{"operationId":"Franchise.delete","tags":["franchises"],"summary":"/franchises/{franchise_id}","description":"Delete the selected franchise.","parameters":[{"in":"path","name":"franchise_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Franchise.find","tags":["franchises"],"summary":"/franchises/{franchise_id}","parameters":[{"in":"path","name":"franchise_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Franchise.update","tags":["franchises"],"summary":"/franchises/{franchise_id}","parameters":[{"in":"path","name":"franchise_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":["integer","null"]},"cellphone":{},"country_phone_code":{"minimum":1,"type":["integer","null"]},"description":{"type":"string"},"header":{},"internal_name":{},"logo":{},"name":{"type":"string"},"phone":{},"ribbon":{"contentMediaType":"application/json","type":"string"},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},"timezone":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/frontends/first_load":{"get":{"operationId":"Frontend.first_load","tags":["frontends"],"summary":"/frontends/first_load","parameters":[{"in":"header","name":"x-internal-product-x","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ParamsTree"},{"in":"query","name":"configs_keys","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/gift_cards":{"get":{"operationId":"GiftCard.findAll","tags":["gift_cards"],"summary":"/gift_cards","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/gift_cards/redeem":{"post":{"operationId":"GiftCard.redeem","tags":["gift_cards"],"summary":"/gift_cards/redeem","parameters":[{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"password":{}},"required":["code","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/GiftCard"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized GiftCard instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/gift_cards/{id}":{"delete":{"operationId":"GiftCard.delete","tags":["gift_cards"],"summary":"/gift_cards/{id}","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"GiftCard.find","tags":["gift_cards"],"summary":"/gift_cards/{id}","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/gift_cards/{id}/send":{"post":{"operationId":"GiftCard.send","tags":["gift_cards"],"summary":"/gift_cards/{id}/send","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{},"message":{},"title":{},"user_name":{}},"required":["email"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/helpers/addresses/validate":{"post":{"operationId":"Helper.addresses_validate","tags":["helpers"],"summary":"/helpers/addresses/validate","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"properties":{"address":{"properties":{"addressLines":{"items":{"type":"string"},"type":"array"},"regionCode":{"maxLength":10,"minLength":1,"type":"string"}},"required":["addressLines","regionCode"],"type":"object"}},"required":["address"],"type":"object"},"google_api_key":{"maxLength":255,"minLength":1,"type":"string"}},"required":["body","google_api_key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/importers":{"post":{"operationId":"Importer.register","tags":["importers"],"summary":"/importers","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mapping":{"contentMediaType":"application/json","type":"string"},"name":{"type":"string"},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},"type":{"enum":["sync_products","sync_categories","sync_businesses","sync_extras","sync_extra_options","sync_extra_option_suboptions","sync_extra_products","sync_users","sync_orders","sync_order_businesses","sync_order_customers","sync_order_products","sync_order_product_options","sync_order_product_option_suboptions","sync_order_business_relations","sync_menus","sync_menu_products","sync_multiple"],"maxLength":255,"type":"string"}},"required":["mapping","name","slug","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Importer"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Importer instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/importers/{importer_id}":{"delete":{"operationId":"Importer.delete","tags":["importers"],"summary":"/importers/{importer_id}","parameters":[{"in":"path","name":"importer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Importer"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Importer instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Importer.update.post","tags":["importers"],"summary":"/importers/{importer_id}","parameters":[{"in":"path","name":"importer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mapping":{"contentMediaType":"application/json","type":"string"},"name":{},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Importer.update.put","tags":["importers"],"summary":"/importers/{importer_id}","parameters":[{"in":"path","name":"importer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mapping":{"contentMediaType":"application/json","type":"string"},"name":{},"slug":{"maxLength":255,"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/importers/{importer_id}/jobs":{"get":{"operationId":"ImporterJob.findAll","tags":["importers"],"summary":"/importers/{importer_id}/jobs","parameters":[{"in":"path","name":"importer_id","required":true,"schema":{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/languages":{"get":{"operationId":"Language.findAll","tags":["languages"],"summary":"/languages","description":"List languages configured for the project.","parameters":[{"in":"header","name":"x-internal-product-x","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Language.register","tags":["languages"],"summary":"/languages","description":"Create a language configuration for the project.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"enabled":{"type":"boolean"},"name":{},"rtl":{"type":"boolean"}},"required":["code","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/languages/{language}":{"delete":{"operationId":"Language.delete","tags":["languages"],"summary":"/languages/{language}","description":"Delete the selected language.","parameters":[{"in":"path","name":"language","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Language.find","tags":["languages"],"summary":"/languages/{language}","description":"Retrieve the selected language.","parameters":[{"in":"path","name":"language","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Language.update","tags":["languages"],"summary":"/languages/{language}","description":"Update the selected language.","parameters":[{"in":"path","name":"language","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{"type":"string"},"default":{"type":"boolean"},"enabled":{"type":"boolean"},"name":{"type":"string"},"rtl":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/logistic/orders/{order_id}/information":{"get":{"operationId":"LogisticOrder.information","tags":["logistic"],"summary":"/logistic/orders/{order_id}/information","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Order"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Order instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/logs":{"get":{"operationId":"Log.findAll","tags":["logs"],"summary":"/logs","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/LogFindAll"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the LogFindAll projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Log.register","tags":["logs"],"summary":"/logs","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"event":{"maxLength":255,"minLength":1,"type":"string"},"event_data":{"items":{},"type":"array"},"exception":{"items":{},"properties":{"file":{"type":["string","null"]},"language":{"enum":["php","js","python","ruby","java","go"],"type":["string","null"]},"line":{"maximum":2147483647,"type":["integer","null"]},"message":{"type":["string","null"]},"trace":{"items":{},"type":["array","null"]}},"type":["array","null"]},"files_file":{},"group_key":{"maxLength":255,"minLength":1,"type":["string","null"]},"key":{"maxLength":255,"minLength":1,"type":["string","null"]},"message":{"maxLength":2000,"minLength":1,"type":"string"},"metadata":{"items":{},"type":["array","null"]},"model":{"enum":["User","Order","Business","Menu","Product","Extra","ExtraOption","ExtraOptionSuboption"],"maxLength":255,"type":"string"},"model_id":{"maximum":2147483647,"minimum":1,"type":["integer","null"]},"parent_model":{"enum":["User","Order","Business","Menu","Product","Extra","ExtraOption","ExtraOptionSuboption"],"maxLength":255,"type":"string"},"parent_model_id":{"maximum":2147483647,"minimum":1,"type":["integer","null"]},"request":{"items":{},"properties":{"execution_time":{"maximum":2147483647,"type":["integer","null"]},"headers":{"items":{},"type":["array","null"]},"method":{"enum":["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"],"type":["string","null"]},"payload":{"type":["string","null"]},"payload_type":{"enum":["json","xml","plain"],"type":["string","null"]},"status":{"maximum":2147483647,"type":["integer","null"]},"url":{"type":["string","null"]}},"type":["array","null"]},"response":{"items":{},"properties":{"content":{"type":["string","null"]},"content_type":{"enum":["json","xml","plain"],"type":["string","null"]},"headers":{"items":{},"type":["array","null"]}},"type":["array","null"]},"type":{"enum":["info","warning","critical"],"type":"string"}},"required":["event","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/logs/{log_id}":{"get":{"operationId":"Log.find","tags":["logs"],"summary":"/logs/{log_id}","parameters":[{"in":"path","name":"log_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Log"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Log projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/loyalty_levels":{"get":{"operationId":"LoyaltyLevel.findAll","tags":["loyalty_levels"],"summary":"/loyalty_levels","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/LoyaltyLevel"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the LoyaltyLevel projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"LoyaltyLevel.register","tags":["loyalty_levels"],"summary":"/loyalty_levels","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"benefits":{"items":{},"type":"array"},"description":{},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"images":{},"maximum_accumulation_fixed":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation_percentage":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"minimum_points":{"maximum":2147483647,"minimum":0,"type":"integer"},"name":{}},"required":["accumulation_rate","minimum_points","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/LoyaltyLevel"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized LoyaltyLevel instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/loyalty_levels/{loyalty_level_id}":{"delete":{"operationId":"LoyaltyLevel.delete","tags":["loyalty_levels"],"summary":"/loyalty_levels/{loyalty_level_id}","parameters":[{"in":"path","name":"loyalty_level_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"LoyaltyLevel.find","tags":["loyalty_levels"],"summary":"/loyalty_levels/{loyalty_level_id}","parameters":[{"in":"path","name":"loyalty_level_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/LoyaltyLevel"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the LoyaltyLevel projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"LoyaltyLevel.update.post","tags":["loyalty_levels"],"summary":"/loyalty_levels/{loyalty_level_id}","parameters":[{"in":"path","name":"loyalty_level_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"benefits":{"items":{},"type":"array"},"description":{},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"images":{},"maximum_accumulation_fixed":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation_percentage":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"minimum_points":{"maximum":2147483647,"minimum":0,"type":"integer"},"name":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/loyalty_plans":{"get":{"operationId":"LoyaltyPlan.findAll","tags":["loyalty_plans"],"summary":"/loyalty_plans","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/LoyaltyPlan"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the LoyaltyPlan projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"LoyaltyPlan.register","tags":["loyalty_plans"],"summary":"/loyalty_plans","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"businesses":{"items":{},"type":"array"},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"maximum_redemption_type":{"enum":[1,2],"type":["integer","null"]},"name":{},"redemption_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"type":{"enum":["credit_point","cashback"],"maxLength":255,"minLength":1,"type":"string"}},"required":["accumulation_rate","businesses","name","redemption_rate","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/LoyaltyPlan"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized LoyaltyPlan instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/loyalty_plans/{loyalty_plan_id}":{"delete":{"operationId":"LoyaltyPlan.delete","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"LoyaltyPlan.find","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/LoyaltyPlan"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the LoyaltyPlan projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"LoyaltyPlan.update.post","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"businesses":{"items":{},"type":"array"},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"maximum_redemption_type":{"enum":[1,2],"type":["integer","null"]},"name":{},"redemption_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"type":{"enum":["credit_point","cashback"],"maxLength":255,"minLength":1,"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"LoyaltyPlan.update.put","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"businesses":{"items":{},"type":"array"},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"maximum_redemption_type":{"enum":[1,2],"type":["integer","null"]},"name":{},"redemption_rate":{"maximum":2147483647,"minimum":0,"type":"number"},"type":{"enum":["credit_point","cashback"],"maxLength":255,"minLength":1,"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/loyalty_plans/{loyalty_plan_id}/businesses":{"get":{"operationId":"BusinessLoyaltyPlan.findAll","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}/businesses","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/BusinessLoyaltyPlan"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the BusinessLoyaltyPlan projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessLoyaltyPlan.register","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}/businesses","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulates":{"type":"boolean"},"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"business_id":{"type":"integer"},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_type":{"enum":[1,2],"type":["integer","null"]},"redeems":{"type":"boolean"},"redemption_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]}},"required":["business_id","redeems","accumulates"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/BusinessLoyaltyPlan"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized BusinessLoyaltyPlan instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/loyalty_plans/{loyalty_plan_id}/businesses/{business_id}":{"delete":{"operationId":"BusinessLoyaltyPlan.delete","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}/businesses/{business_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"BusinessLoyaltyPlan.find","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}/businesses/{business_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/BusinessLoyaltyPlan"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the BusinessLoyaltyPlan projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"BusinessLoyaltyPlan.update.post","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}/businesses/{business_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulates":{"type":"boolean"},"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_type":{"enum":[1,2],"type":["integer","null"]},"redeems":{"type":"boolean"},"redemption_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"BusinessLoyaltyPlan.update.put","tags":["loyalty_plans"],"summary":"/loyalty_plans/{loyalty_plan_id}/businesses/{business_id}","parameters":[{"in":"path","name":"loyalty_plan_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"accumulates":{"type":"boolean"},"accumulation_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"expire_after_minutes":{"maximum":2147483647,"minimum":0,"type":["integer","null"]},"maximum_accumulation":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]},"maximum_redemption_type":{"enum":[1,2],"type":["integer","null"]},"redeems":{"type":"boolean"},"redemption_rate":{"maximum":2147483647,"minimum":0,"type":["number","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/marketing_campaigns":{"get":{"operationId":"MarketingCampaign.findAll","tags":["marketing_campaigns"],"summary":"/marketing_campaigns","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/MarketingCampaign"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the MarketingCampaign projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"MarketingCampaign.register","tags":["marketing_campaigns"],"summary":"/marketing_campaigns","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"audience_type":{"enum":["fixed","dynamic"],"maxLength":255,"minLength":1,"type":"string"},"conditions":{"items":{},"type":"array"},"contact_data":{"contentMediaType":"application/json","type":"string"},"contact_type":{"enum":["email","sms","notification","webhook","popup","whatsapp"],"maxLength":255,"minLength":1,"type":"string"},"end_at":{"type":"string"},"force":{"type":"boolean"},"name":{},"scheduled_at":{"type":["string","null"]}},"required":["audience_type","conditions","contact_data","contact_type","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/MarketingCampaign"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized MarketingCampaign instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/marketing_campaigns/audience":{"post":{"operationId":"MarketingCampaign.audience","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/audience","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"conditions":{"items":{},"type":"array"},"contact_type":{"enum":["email","sms","notification","webhook","popup","whatsapp"],"maxLength":255,"minLength":1,"type":"string"}},"required":["conditions","contact_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/marketing_campaigns/{marketing_campaign_id}":{"delete":{"operationId":"MarketingCampaign.delete","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"MarketingCampaign.find","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/MarketingCampaign"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the MarketingCampaign projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"MarketingCampaign.update.post","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"audience_type":{"enum":["fixed","dynamic"],"maxLength":255,"minLength":1,"type":"string"},"conditions":{"items":{},"type":"array"},"contact_data":{"contentMediaType":"application/json","type":"string"},"contact_type":{},"end_at":{"type":"string"},"name":{},"scheduled_at":{"type":["string","null"]},"status":{"enum":["canceled"],"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"MarketingCampaign.update.put","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"audience_type":{"enum":["fixed","dynamic"],"maxLength":255,"minLength":1,"type":"string"},"conditions":{"items":{},"type":"array"},"contact_data":{"contentMediaType":"application/json","type":"string"},"contact_type":{},"end_at":{"type":"string"},"name":{},"scheduled_at":{"type":["string","null"]},"status":{"enum":["canceled"],"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/marketing_campaigns/{marketing_campaign_id}/conditions":{"get":{"operationId":"MarketingCampaignCondition.findAll","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/conditions","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/MarketingCampaignCondition"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the MarketingCampaignCondition projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"MarketingCampaignCondition.register","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/conditions","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"condition":{"enum":[">","=","<",">=","<=","<>","><"],"maxLength":10,"minLength":1,"type":"string"},"date":{"type":"string"},"date_condition":{"enum":[">","=","<",">=","<=","<>","><"],"maxLength":10,"minLength":1,"type":"string"},"max_date":{"type":["string","null"]},"max_value":{"type":"integer"},"type":{"enum":["orders_count","user_created_at","user_last_order_at","user_last_open_cart_at"],"maxLength":255,"minLength":1,"type":"string"},"value":{"type":"integer"}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/MarketingCampaignCondition"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized MarketingCampaignCondition instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/marketing_campaigns/{marketing_campaign_id}/conditions/{marketing_campaign_condition_id}":{"delete":{"operationId":"MarketingCampaignCondition.delete","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/conditions/{marketing_campaign_condition_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"marketing_campaign_condition_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"MarketingCampaignCondition.find","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/conditions/{marketing_campaign_condition_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"marketing_campaign_condition_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/MarketingCampaignCondition"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the MarketingCampaignCondition projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"MarketingCampaignCondition.update.post","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/conditions/{marketing_campaign_condition_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"marketing_campaign_condition_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"condition":{"enum":[">","=","<",">=","<=","<>","><"],"maxLength":10,"minLength":1,"type":"string"},"date":{"type":"string"},"date_condition":{"enum":[">","=","<",">=","<=","<>","><"],"maxLength":10,"minLength":1,"type":"string"},"max_date":{"type":["string","null"]},"max_value":{"type":"integer"},"type":{"enum":["orders_count","user_created_at","user_last_order_at","user_last_open_cart_at"],"maxLength":255,"minLength":1,"type":"string"},"value":{"type":"integer"}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"MarketingCampaignCondition.update.put","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/conditions/{marketing_campaign_condition_id}","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"marketing_campaign_condition_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"condition":{"enum":[">","=","<",">=","<=","<>","><"],"maxLength":10,"minLength":1,"type":"string"},"date":{"type":"string"},"date_condition":{"enum":[">","=","<",">=","<=","<>","><"],"maxLength":10,"minLength":1,"type":"string"},"max_date":{"type":["string","null"]},"max_value":{"type":"integer"},"type":{"enum":["orders_count","user_created_at","user_last_order_at","user_last_open_cart_at"],"maxLength":255,"minLength":1,"type":"string"},"value":{"type":"integer"}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/marketing_campaigns/{marketing_campaign_id}/users":{"get":{"operationId":"MarketingCampaignUser.findAll","tags":["marketing_campaigns"],"summary":"/marketing_campaigns/{marketing_campaign_id}/users","parameters":[{"in":"path","name":"marketing_campaign_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/MarketingCampaignUser"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the MarketingCampaignUser projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/markups":{"get":{"operationId":"Markup.findAll","tags":["markups"],"summary":"/markups","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Markup.register","tags":["markups"],"summary":"/markups","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":["integer","null"]},"delivery_type":{"type":["string","null"]},"enabled":{"type":"boolean"},"name":{"maxLength":100,"type":["string","null"]},"rounding_values":{"items":{"maximum":0.99,"minimum":0,"type":"number"},"type":"array"},"rules":{"properties":{"products":{"items":{},"properties":{"markup_type":{"enum":["percentage","fixed"],"type":["string","null"]},"markup_value":{"minimum":0,"type":["number","null"]}},"type":["array","null"]},"suboptions":{"items":{},"properties":{"markup_type":{"enum":["percentage","fixed"],"type":["string","null"]},"markup_value":{"minimum":0,"type":["number","null"]}},"type":["array","null"]}},"type":"object"},"site_id":{"type":["integer","null"]}},"required":["rules"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Markup"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Markup instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/markups/info":{"get":{"operationId":"Markup.info","tags":["markups"],"summary":"/markups/info","parameters":[{"in":"query","name":"business_id","schema":{"type":"integer"}},{"in":"query","name":"delivery_type","schema":{"type":"string"}},{"in":"query","name":"site_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/markups/{markup_id}":{"delete":{"operationId":"Markup.delete","tags":["markups"],"summary":"/markups/{markup_id}","parameters":[{"in":"path","name":"markup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Markup.find","tags":["markups"],"summary":"/markups/{markup_id}","parameters":[{"in":"path","name":"markup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Markup.update.post","tags":["markups"],"summary":"/markups/{markup_id}","parameters":[{"in":"path","name":"markup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"name":{"maxLength":100,"type":["string","null"]},"rounding_values":{"items":{"maximum":0.99,"minimum":0,"type":"number"},"type":"array"},"rules":{"items":{},"properties":{"products":{"items":{},"properties":{"markup_type":{"enum":["percentage","fixed"],"type":["string","null"]},"markup_value":{"minimum":0,"type":["number","null"]}},"type":["array","null"]},"suboptions":{"items":{},"properties":{"markup_type":{"enum":["percentage","fixed"],"type":["string","null"]},"markup_value":{"minimum":0,"type":["number","null"]}},"type":["array","null"]}},"type":["array","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Markup.update.put","tags":["markups"],"summary":"/markups/{markup_id}","parameters":[{"in":"path","name":"markup_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"name":{"maxLength":100,"type":["string","null"]},"rounding_values":{"items":{"maximum":0.99,"minimum":0,"type":"number"},"type":"array"},"rules":{"items":{},"properties":{"products":{"items":{},"properties":{"markup_type":{"enum":["percentage","fixed"],"type":["string","null"]},"markup_value":{"minimum":0,"type":["number","null"]}},"type":["array","null"]},"suboptions":{"items":{},"properties":{"markup_type":{"enum":["percentage","fixed"],"type":["string","null"]},"markup_value":{"minimum":0,"type":["number","null"]}},"type":["array","null"]}},"type":["array","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/mcp/status":{"get":{"operationId":"Mcp.status","tags":["mcp"],"summary":"/mcp/status","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/occupations":{"get":{"operationId":"Occupation.findAll","tags":["occupations"],"summary":"/occupations","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Occupation"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Occupation projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Occupation.register","tags":["occupations"],"summary":"/occupations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"image":{"contentEncoding":"base64","description":"Image as a URL, base64-encoded content, or data URL.","type":"string"},"name":{}},"required":["name"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"description":{},"image":{"format":"binary","type":"string"},"name":{}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Occupation"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Occupation instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/occupations/{occupation_id}":{"post":{"operationId":"Occupation.update","tags":["occupations"],"summary":"/occupations/{occupation_id}","parameters":[{"in":"path","name":"occupation_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"image":{"contentEncoding":"base64","description":"Image as a URL, base64-encoded content, or data URL.","type":"string"},"name":{}},"type":"object"}},"multipart/form-data":{"schema":{"properties":{"description":{},"image":{"format":"binary","type":"string"},"name":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/offers":{"get":{"operationId":"Offer.findAll_next","tags":["offers"],"summary":"/offers","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Offer.register_next","tags":["offers"],"summary":"/offers","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"businesses":{"default":[]},"categories":{},"coupon":{},"delivery_zones":{},"image":{},"loyalty_levels":{},"paymethods":{},"products":{},"sites":{},"users":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/offers/public":{"get":{"operationId":"Offer.findPublic","tags":["offers"],"summary":"/offers/public","parameters":[{"in":"query","name":"franchise_id","schema":{"type":"integer"}},{"in":"query","name":"location","schema":{"type":"string"}},{"in":"query","name":"order_type_id","schema":{"type":"string"}},{"in":"query","name":"timestamp","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/offers/{offer_id}":{"delete":{"operationId":"Offer.delete_next","tags":["offers"],"summary":"/offers/{offer_id}","parameters":[{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Offer.find_next","tags":["offers"],"summary":"/offers/{offer_id}","parameters":[{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Offer.update_next","tags":["offers"],"summary":"/offers/{offer_id}","parameters":[{"in":"path","name":"offer_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"auto":{"type":"boolean"},"businesses":{},"categories":{"items":{"properties":{"id":{"type":"integer"},"include":{"type":"boolean"},"is_condition":{"type":"boolean"}},"required":["id","is_condition","include"],"type":"object"},"type":["array","null"]},"condition_type":{"enum":[1,2,3],"type":"integer"},"coupon":{},"delivery_zones":{"items":{"type":"integer"},"type":["array","null"]},"description":{"minLength":1,"type":"string"},"image":{},"label":{"minLength":1,"type":"string"},"limit_per_user":{"type":["integer","null"]},"loyalty_levels":{},"max_discount":{"type":["integer","null"]},"order_priority":{"type":"integer"},"order_types_allowed":{"items":{"enum":[1,2,3,4,5],"type":"integer"},"minItems":1,"type":["array","null"]},"paymethods":{"items":{"type":"integer"},"type":["array","null"]},"products":{"items":{"properties":{"id":{"type":"integer"},"include":{"type":"boolean"},"is_condition":{"type":"boolean"}},"required":["id","is_condition","include"],"type":"object"},"type":["array","null"]},"public":{"type":"boolean"},"rank":{"type":["number","null"]},"sites":{"items":{"type":"integer"},"type":["array","null"]},"stackable":{"type":"boolean"},"target":{"enum":[1,2,3],"type":"integer"},"user_order_count":{"type":["integer","null"]},"user_order_count_condition":{"enum":[">","=","<",">=","<=","<>",null],"type":["string","null"]},"users":{"items":{"type":"integer"},"type":["array","null"]},"valid_from_after_user_last_order_minutes":{"type":["integer","null"]},"valid_until_after_user_last_order_minutes":{"type":["integer","null"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/order_groups":{"get":{"operationId":"OrderGroup.findAll","tags":["order_groups"],"summary":"/order_groups","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/order_groups/{order_group_id}":{"get":{"operationId":"OrderGroup.find","tags":["order_groups"],"summary":"/order_groups/{order_group_id}","parameters":[{"in":"path","name":"order_group_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/order_options":{"get":{"operationId":"OrderOption.findAll","tags":["order_options"],"summary":"/order_options","description":"Retrieve the authenticated user's current order options and active carts.","parameters":[{"in":"query","name":"franchise_id","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/OrderOption"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized OrderOption instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"OrderOption.update.post","tags":["order_options"],"summary":"/order_options","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address_id":{"type":"integer"},"city_id":{"type":["integer","null"]},"franchise_id":{},"moment":{"type":["string","null"]},"type":{"enum":[1,2,3,4,5,6,7,8,9],"type":"integer"},"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/OrderOption"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized OrderOption instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"OrderOption.update.put","tags":["order_options"],"summary":"/order_options","parameters":[{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address_id":{"type":"integer"},"city_id":{"type":["integer","null"]},"franchise_id":{},"moment":{"type":["string","null"]},"type":{"enum":[1,2,3,4,5,6,7,8,9],"type":"integer"},"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/OrderOption"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized OrderOption instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders":{"get":{"operationId":"Order.findAll.orders","tags":["orders"],"summary":"/orders","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"business_id","schema":{"type":"integer"}},{"in":"query","name":"customer_phone","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"mode","schema":{"type":"string"}},{"in":"query","name":"scope","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/dashboard":{"get":{"operationId":"Order.dashboard","tags":["orders"],"summary":"/orders/dashboard","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"v","schema":{"default":"1","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/clone":{"post":{"operationId":"Order.clone","tags":["orders"],"summary":"/orders/{order_id}/clone","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"products_code":{"oneOf":[{"items":{"type":"string"},"type":"array"},{"contentMediaType":"application/json","contentSchema":{"items":{"type":"string"},"type":"array"},"type":"string"}]},"user_id":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/fee_events":{"get":{"operationId":"BusinessFeeEvent.findByOrder","tags":["orders"],"summary":"/orders/{order_id}/fee_events","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/locations":{"get":{"operationId":"OrderDriverLocation.findAll","tags":["orders"],"summary":"/orders/{order_id}/locations","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/logs":{"get":{"operationId":"OrderLog.findAll","tags":["orders"],"summary":"/orders/{order_id}/logs","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/messages":{"get":{"operationId":"OrderMessage.findAll","tags":["orders"],"summary":"/orders/{order_id}/messages","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"OrderMessage.register","tags":["orders"],"summary":"/orders/{order_id}/messages","description":"Create a message associated with the selected order.","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"author_id":{"type":"integer"},"can_see":{},"change":{"contentMediaType":"application/json","type":"string"},"comment":{},"driver_id":{"type":"integer"},"file":{},"ip":{},"location":{"contentMediaType":"application/json","type":"string"},"order_id":{"type":"integer"},"source":{},"type":{"type":"integer"}},"required":["author_id","can_see","order_id","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/messages/{message_id}/read":{"get":{"operationId":"OrderMessageRead.read","tags":["orders"],"summary":"/orders/{order_id}/messages/{message_id}/read","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"message_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/metafields":{"get":{"operationId":"OrderMetafield.findAll","tags":["orders"],"summary":"/orders/{order_id}/metafields","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"OrderMetafield.register","tags":["orders"],"summary":"/orders/{order_id}/metafields","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/metafields/{metafield}":{"delete":{"operationId":"OrderMetafield.delete","tags":["orders"],"summary":"/orders/{order_id}/metafields/{metafield}","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"OrderMetafield.find","tags":["orders"],"summary":"/orders/{order_id}/metafields/{metafield}","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"OrderMetafield.sync","tags":["orders"],"summary":"/orders/{order_id}/metafields/{metafield}","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[a-zA-Z0-9_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Metafield"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Metafield instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"OrderMetafield.update","tags":["orders"],"summary":"/orders/{order_id}/metafields/{metafield}","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/product_reviews":{"post":{"operationId":"ProductReview.registerMany","tags":["orders"],"summary":"/orders/{order_id}/product_reviews","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-uuid-access-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"reviews":{"contentMediaType":"application/json","type":"string"}},"required":["reviews"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/orders/{order_id}/products/{product_id}":{"put":{"operationId":"OrderProduct.update","tags":["orders"],"summary":"/orders/{order_id}/products/{product_id}","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"status":{"type":"integer"}},"required":["status"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/OrderProduct"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized OrderProduct instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/receipt":{"post":{"operationId":"Order.receipt","tags":["orders"],"summary":"/orders/{order_id}/receipt","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"channel":{"enum":[1,2],"type":"integer"},"country_phone_code":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"}},"required":["channel"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Order"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Order instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/refund":{"post":{"operationId":"Order.refund","tags":["orders"],"summary":"/orders/{order_id}/refund","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"type":"number"},"description":{"maxLength":255,"minLength":1,"type":"string"},"items":{},"mode":{"type":"string"},"order_payment_event_id":{"type":"integer"},"transfer_to":{"enum":["cash_wallet","source"],"type":"string"},"version":{"type":"string"}},"required":["amount","transfer_to"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order_id}/reorder":{"get":{"operationId":"Order.reorder.get","tags":["orders"],"summary":"/orders/{order_id}/reorder","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/OrderProjection"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Order.reorder.post","tags":["orders"],"summary":"/orders/{order_id}/reorder","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-SOCKET-ID-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"user_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/OrderProjection"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order}":{"delete":{"operationId":"Order.delete","tags":["orders"],"summary":"/orders/{order}","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Order.find.get","tags":["orders"],"summary":"/orders/{order}","parameters":[{"in":"path","name":"order","required":true,"schema":{"oneOf":[{"pattern":"^[0-9]+$","type":"integer"},{"pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","type":"string"}]}},{"in":"header","name":"X-uuid-access-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Order.update.post","tags":["orders"],"summary":"/orders/{order}","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"dependentRequired":{"business_id":["products"],"products":["business_id"]},"oneOf":[{"properties":{"status":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"}},"title":"Regular or driver update"},{"allOf":[{"if":{"properties":{"status":{"const":"8"}},"required":["status"]},"then":{"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"}},"required":["external_driver_id","external_driver_name"]}}],"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"status":{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}},"required":["status"],"title":"Driver-company update"}],"properties":{"business_id":{"type":"integer"},"comment":{"minLength":1,"type":["string","null"]},"customer":{"contentMediaType":"application/json","type":"string"},"customer_id":{"type":"integer"},"delivered_at":{},"delivered_in":{"maximum":2147483647,"type":"integer"},"delivery_datetime":{"type":"string"},"delivery_position":{"minimum":1,"type":["integer","null"]},"delivery_type":{"enum":[1,2,3,4,5],"type":"integer"},"delivery_zone_id":{"type":["integer","null"]},"delivery_zone_price":{"type":"number"},"driver_company_id":{"type":["integer","null"]},"driver_id":{"type":["integer","null"]},"driver_tip":{"minimum":1,"type":"number"},"eta_drive_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"eta_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"external_driver_phone":{},"external_driver_photo":{"minLength":1,"type":"string"},"external_id":{"minLength":1,"type":"string"},"fraud_message":{"maxLength":250,"type":["string","null"]},"fraud_status":{"enum":["valid","invalid","error","void",null],"type":["string","null"]},"location":{"oneOf":[{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},{"contentMediaType":"application/json","contentSchema":{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},"type":"string"}]},"manual_driver_assignment_comment":{"maxLength":255,"minLength":1,"type":["string","null"]},"meta_location":{"contentMediaType":"application/json","type":"string"},"mode":{"type":"string"},"offer_id":{"type":"integer"},"order_group_id":{"type":["integer","null"]},"pay_data":{"minLength":1,"type":"string"},"paymethod_id":{"type":"integer"},"prepared_in":{"maximum":2147483647,"type":"integer"},"priority":{},"products":{"contentMediaType":"application/json","contentSchema":{"items":{"additionalProperties":true,"properties":{"id":{"type":"integer"},"quantity":{"type":"integer"}},"required":["id","quantity"],"type":"object"},"minItems":1,"type":"array"},"type":"string"},"reasons":{"type":"string"},"refund_data":{},"reject_reason":{"maxLength":255,"minLength":1,"type":"string"},"spot_number":{"type":"number"},"status":{"oneOf":[{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"},{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}]},"track_url":{"format":"uri","type":["string","null"]},"vehicle":{"contentMediaType":"application/json","contentSchema":{"additionalProperties":true,"properties":{"car_registration":{},"color":{},"model":{},"type":{}},"required":["type","model","car_registration","color"],"type":"object"},"type":"string"}},"type":"object"}},"multipart/form-data":{"schema":{"dependentRequired":{"business_id":["products"],"products":["business_id"]},"oneOf":[{"properties":{"status":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"}},"title":"Regular or driver update"},{"allOf":[{"if":{"properties":{"status":{"const":"8"}},"required":["status"]},"then":{"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"}},"required":["external_driver_id","external_driver_name"]}}],"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"status":{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}},"required":["status"],"title":"Driver-company update"}],"properties":{"business_id":{"type":"integer"},"comment":{"minLength":1,"type":["string","null"]},"customer":{"contentMediaType":"application/json","type":"string"},"customer_id":{"type":"integer"},"delivered_at":{},"delivered_in":{"maximum":2147483647,"type":"integer"},"delivery_datetime":{"type":"string"},"delivery_position":{"minimum":1,"type":["integer","null"]},"delivery_type":{"enum":[1,2,3,4,5],"type":"integer"},"delivery_zone_id":{"type":["integer","null"]},"delivery_zone_price":{"type":"number"},"driver_company_id":{"type":["integer","null"]},"driver_id":{"type":["integer","null"]},"driver_tip":{"minimum":1,"type":"number"},"eta_drive_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"eta_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"external_driver_phone":{},"external_driver_photo":{"minLength":1,"type":"string"},"external_id":{"minLength":1,"type":"string"},"fraud_message":{"maxLength":250,"type":["string","null"]},"fraud_status":{"enum":["valid","invalid","error","void",null],"type":["string","null"]},"location":{"oneOf":[{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},{"contentMediaType":"application/json","contentSchema":{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},"type":"string"}]},"manual_driver_assignment_comment":{"maxLength":255,"minLength":1,"type":["string","null"]},"meta_location":{"contentMediaType":"application/json","type":"string"},"mode":{"type":"string"},"offer_id":{"type":"integer"},"order_group_id":{"type":["integer","null"]},"pay_data":{"minLength":1,"type":"string"},"paymethod_id":{"type":"integer"},"prepared_in":{"maximum":2147483647,"type":"integer"},"priority":{},"products":{"contentMediaType":"application/json","contentSchema":{"items":{"additionalProperties":true,"properties":{"id":{"type":"integer"},"quantity":{"type":"integer"}},"required":["id","quantity"],"type":"object"},"minItems":1,"type":"array"},"type":"string"},"reasons":{"type":"string"},"refund_data":{},"reject_reason":{"maxLength":255,"minLength":1,"type":"string"},"spot_number":{"type":"number"},"status":{"oneOf":[{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"},{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}]},"status_image_file":{"format":"binary","type":"string"},"track_url":{"format":"uri","type":["string","null"]},"vehicle":{"contentMediaType":"application/json","contentSchema":{"additionalProperties":true,"properties":{"car_registration":{},"color":{},"model":{},"type":{}},"required":["type","model","car_registration","color"],"type":"object"},"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]},{"driverCompanyKey":[]}]},"put":{"operationId":"Order.update.put","tags":["orders"],"summary":"/orders/{order}","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"dependentRequired":{"business_id":["products"],"products":["business_id"]},"oneOf":[{"properties":{"status":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"}},"title":"Regular or driver update"},{"allOf":[{"if":{"properties":{"status":{"const":"8"}},"required":["status"]},"then":{"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"}},"required":["external_driver_id","external_driver_name"]}}],"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"status":{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}},"required":["status"],"title":"Driver-company update"}],"properties":{"business_id":{"type":"integer"},"comment":{"minLength":1,"type":["string","null"]},"customer":{"contentMediaType":"application/json","type":"string"},"customer_id":{"type":"integer"},"delivered_at":{},"delivered_in":{"maximum":2147483647,"type":"integer"},"delivery_datetime":{"type":"string"},"delivery_position":{"minimum":1,"type":["integer","null"]},"delivery_type":{"enum":[1,2,3,4,5],"type":"integer"},"delivery_zone_id":{"type":["integer","null"]},"delivery_zone_price":{"type":"number"},"driver_company_id":{"type":["integer","null"]},"driver_id":{"type":["integer","null"]},"driver_tip":{"minimum":1,"type":"number"},"eta_drive_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"eta_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"external_driver_phone":{},"external_driver_photo":{"minLength":1,"type":"string"},"external_id":{"minLength":1,"type":"string"},"fraud_message":{"maxLength":250,"type":["string","null"]},"fraud_status":{"enum":["valid","invalid","error","void",null],"type":["string","null"]},"location":{"oneOf":[{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},{"contentMediaType":"application/json","contentSchema":{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},"type":"string"}]},"manual_driver_assignment_comment":{"maxLength":255,"minLength":1,"type":["string","null"]},"meta_location":{"contentMediaType":"application/json","type":"string"},"mode":{"type":"string"},"offer_id":{"type":"integer"},"order_group_id":{"type":["integer","null"]},"pay_data":{"minLength":1,"type":"string"},"paymethod_id":{"type":"integer"},"prepared_in":{"maximum":2147483647,"type":"integer"},"priority":{},"products":{"contentMediaType":"application/json","contentSchema":{"items":{"additionalProperties":true,"properties":{"id":{"type":"integer"},"quantity":{"type":"integer"}},"required":["id","quantity"],"type":"object"},"minItems":1,"type":"array"},"type":"string"},"reasons":{"type":"string"},"refund_data":{},"reject_reason":{"maxLength":255,"minLength":1,"type":"string"},"spot_number":{"type":"number"},"status":{"oneOf":[{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"},{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}]},"track_url":{"format":"uri","type":["string","null"]},"vehicle":{"contentMediaType":"application/json","contentSchema":{"additionalProperties":true,"properties":{"car_registration":{},"color":{},"model":{},"type":{}},"required":["type","model","car_registration","color"],"type":"object"},"type":"string"}},"type":"object"}},"multipart/form-data":{"schema":{"dependentRequired":{"business_id":["products"],"products":["business_id"]},"oneOf":[{"properties":{"status":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"}},"title":"Regular or driver update"},{"allOf":[{"if":{"properties":{"status":{"const":"8"}},"required":["status"]},"then":{"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"}},"required":["external_driver_id","external_driver_name"]}}],"properties":{"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"status":{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}},"required":["status"],"title":"Driver-company update"}],"properties":{"business_id":{"type":"integer"},"comment":{"minLength":1,"type":["string","null"]},"customer":{"contentMediaType":"application/json","type":"string"},"customer_id":{"type":"integer"},"delivered_at":{},"delivered_in":{"maximum":2147483647,"type":"integer"},"delivery_datetime":{"type":"string"},"delivery_position":{"minimum":1,"type":["integer","null"]},"delivery_type":{"enum":[1,2,3,4,5],"type":"integer"},"delivery_zone_id":{"type":["integer","null"]},"delivery_zone_price":{"type":"number"},"driver_company_id":{"type":["integer","null"]},"driver_id":{"type":["integer","null"]},"driver_tip":{"minimum":1,"type":"number"},"eta_drive_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"eta_time":{"maximum":2147483647,"minimum":0,"type":"integer"},"external_driver_id":{"minLength":1,"type":"string"},"external_driver_name":{"minLength":1,"type":"string"},"external_driver_phone":{},"external_driver_photo":{"minLength":1,"type":"string"},"external_id":{"minLength":1,"type":"string"},"fraud_message":{"maxLength":250,"type":["string","null"]},"fraud_status":{"enum":["valid","invalid","error","void",null],"type":["string","null"]},"location":{"oneOf":[{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},{"contentMediaType":"application/json","contentSchema":{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},"type":"string"}]},"manual_driver_assignment_comment":{"maxLength":255,"minLength":1,"type":["string","null"]},"meta_location":{"contentMediaType":"application/json","type":"string"},"mode":{"type":"string"},"offer_id":{"type":"integer"},"order_group_id":{"type":["integer","null"]},"pay_data":{"minLength":1,"type":"string"},"paymethod_id":{"type":"integer"},"prepared_in":{"maximum":2147483647,"type":"integer"},"priority":{},"products":{"contentMediaType":"application/json","contentSchema":{"items":{"additionalProperties":true,"properties":{"id":{"type":"integer"},"quantity":{"type":"integer"}},"required":["id","quantity"],"type":"object"},"minItems":1,"type":"array"},"type":"string"},"reasons":{"type":"string"},"refund_data":{},"reject_reason":{"maxLength":255,"minLength":1,"type":"string"},"spot_number":{"type":"number"},"status":{"oneOf":[{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],"type":"integer"},{"enum":["4","6","7","8","9","10","11","12","18","19","22","23","25"],"type":"string"}]},"status_image_file":{"format":"binary","type":"string"},"track_url":{"format":"uri","type":["string","null"]},"vehicle":{"contentMediaType":"application/json","contentSchema":{"additionalProperties":true,"properties":{"car_registration":{},"color":{},"model":{},"type":{}},"required":["type","model","car_registration","color"],"type":"object"},"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]},{"driverCompanyKey":[]}]}},"/orders/{order}/attachments":{"get":{"operationId":"OrderAttachment.findAll","tags":["orders"],"summary":"/orders/{order}/attachments","description":"List attachments associated with the selected order.","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"OrderAttachment.register","tags":["orders"],"summary":"/orders/{order}/attachments","description":"Create an attachment for the selected order.","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"file":{},"note":{"type":"string"},"order_id":{},"type":{"type":"integer"}},"required":["order_id","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders/{order}/attachments/{attachment}":{"delete":{"operationId":"OrderAttachment.delete","tags":["orders"],"summary":"/orders/{order}/attachments/{attachment}","description":"Delete the selected attachment from an order.","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"attachment","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/orders_deprecate.csv":{"get":{"operationId":"Order.deprecate_csv","tags":["orders_deprecate.csv"],"summary":"/orders_deprecate.csv","parameters":[{"in":"query","name":"business_id","schema":{"type":"integer"}},{"in":"query","name":"customer_phone","schema":{"type":"string"}},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/pages":{"get":{"operationId":"Page.findAll","tags":["pages"],"summary":"/pages","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Page.register","tags":["pages"],"summary":"/pages","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{},"enabled":{"type":"boolean"},"name":{},"public":{"type":"boolean"},"seo_description":{},"seo_image_file":{},"seo_title":{},"slug":{},"type":{"enum":["1","2","3"]}},"required":["body","name","slug"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/pages/{page_id}":{"delete":{"operationId":"Page.delete","tags":["pages"],"summary":"/pages/{page_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Page.find","tags":["pages"],"summary":"/pages/{page_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Page.update.post","tags":["pages"],"summary":"/pages/{page_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{},"enabled":{"type":"boolean"},"name":{},"public":{"type":"boolean"},"seo_description":{},"seo_image_file":{},"slug":{},"type":{"enum":["1","2","3"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Page.update.put","tags":["pages"],"summary":"/pages/{page_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{},"enabled":{"type":"boolean"},"name":{},"public":{"type":"boolean"},"seo_description":{},"seo_image_file":{},"slug":{},"type":{"enum":["1","2","3"]}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/pages/{page_id}/metafields":{"get":{"operationId":"PageMetafield.findAll","tags":["pages"],"summary":"/pages/{page_id}/metafields","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"PageMetafield.register","tags":["pages"],"summary":"/pages/{page_id}/metafields","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"pattern":"^[a-zA-Z]\\w+$","type":"string"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["key","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/pages/{page_id}/metafields/{metafield_id}":{"delete":{"operationId":"PageMetafield.delete","tags":["pages"],"summary":"/pages/{page_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"PageMetafield.find","tags":["pages"],"summary":"/pages/{page_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"PageMetafield.update","tags":["pages"],"summary":"/pages/{page_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"page_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"pattern":"^[a-zA-Z]\\w+$","type":"string"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["key"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/payments/{gateway}/capture":{"post":{"operationId":"Payment.capture","tags":["payments"],"summary":"/payments/{gateway}/capture","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"source_id":{},"user_id":{}},"required":["source_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/payments/{gateway}/cards":{"delete":{"operationId":"Payment.deleteCard","tags":["payments"],"summary":"/payments/{gateway}/cards","description":"Delete a stored payment card through the selected payment gateway.","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}},{"in":"query","name":"business_id","required":true,"schema":{"type":"integer"}},{"in":"query","name":"user_id","required":true,"schema":{"type":"integer"}},{"in":"query","name":"card_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Payment.cards","tags":["payments"],"summary":"/payments/{gateway}/cards","description":"List stored payment cards for the selected gateway and authorized user/business context.","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}},{"in":"query","name":"business_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Payment.addCard","tags":["payments"],"summary":"/payments/{gateway}/cards","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"token_id":{},"user_id":{}},"required":["business_id","token_id","user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/payments/{gateway}/cards/default":{"post":{"operationId":"Payment.setDefaultCard","tags":["payments"],"summary":"/payments/{gateway}/cards/default","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"card_id":{},"user_id":{}},"required":["business_id","card_id","user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/payments/{gateway}/confirm":{"post":{"operationId":"Payment.confirm","tags":["payments"],"summary":"/payments/{gateway}/confirm","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"type":"number"},"business_id":{"type":"integer"},"currency":{},"customer":{"contentMediaType":"application/json","type":"string"},"cvc":{},"description":{},"email":{},"exp_month":{},"exp_year":{},"name":{},"number":{},"source_id":{},"subtotal":{"type":"integer"},"user_id":{}},"required":["amount","business_id","currency","description"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/payments/{gateway}/requirements":{"get":{"operationId":"Payment.requirements","tags":["payments"],"summary":"/payments/{gateway}/requirements","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[0-9a-zA-Z_]+$","type":"string"}},{"in":"query","name":"type","required":true,"schema":{"enum":["add_card"],"type":"string"}},{"in":"query","name":"business_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/paymethods":{"get":{"operationId":"Paymethod.findAll","tags":["paymethods"],"summary":"/paymethods","description":"List payment methods available to the project and caller context.","parameters":[{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Paymethod"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Paymethod.register","tags":["paymethods"],"summary":"/paymethods","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"allow_with_zero_balance":{"type":"boolean"},"data_template":{"items":{},"type":["array","null"]},"enabled":{"type":"boolean"},"gateway":{},"name":{}},"required":["gateway","name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Paymethod"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/paymethods/gateway/{gateway}":{"get":{"operationId":"Paymethod.findByGateway","tags":["paymethods"],"summary":"/paymethods/gateway/{gateway}","parameters":[{"in":"path","name":"gateway","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}},{"$ref":"#/components/parameters/ParamsTree"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Paymethod"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Paymethod projection selected by RequestQueryHelper::getFields."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/paymethods/{paymethod}":{"delete":{"operationId":"Paymethod.delete","tags":["paymethods"],"summary":"/paymethods/{paymethod}","parameters":[{"in":"path","name":"paymethod","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"const":"OK","type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Paymethod.find","tags":["paymethods"],"summary":"/paymethods/{paymethod}","description":"Retrieve the selected project payment-method definition.","parameters":[{"in":"path","name":"paymethod","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Paymethod"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Paymethod.update","tags":["paymethods"],"summary":"/paymethods/{paymethod}","description":"Update the selected project payment-method definition.","parameters":[{"in":"path","name":"paymethod","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"gateway":{"type":"string"},"name":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Paymethod"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/platform_products":{"get":{"operationId":"PlatformProduct.findAll","tags":["platform_products"],"summary":"/platform_products","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"PlatformProduct.register","tags":["platform_products"],"summary":"/platform_products","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"duration":{"type":"number"},"enabled":{"type":"boolean"},"image":{},"name":{},"price":{"type":"number"},"type":{"enum":["gift_card","suscription","credit_wallet"],"type":"string"}},"required":["name","price","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/platform_products/{platform_product_id}":{"delete":{"operationId":"PlatformProduct.delete","tags":["platform_products"],"summary":"/platform_products/{platform_product_id}","parameters":[{"in":"path","name":"platform_product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"PlatformProduct.find","tags":["platform_products"],"summary":"/platform_products/{platform_product_id}","parameters":[{"in":"path","name":"platform_product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"PlatformProduct.update","tags":["platform_products"],"summary":"/platform_products/{platform_product_id}","parameters":[{"in":"path","name":"platform_product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"duration":{"type":"number"},"enabled":{"type":"boolean"},"image":{},"name":{},"price":{"type":"number"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/printers":{"get":{"operationId":"PrinterModel.findAll","tags":["printers"],"summary":"/printers","description":"List configured GPRS printer models.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"PrinterModel.register","tags":["printers"],"summary":"/printers","description":"Create a GPRS printer model configuration.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/printers/{printer}":{"delete":{"operationId":"PrinterModel.delete","tags":["printers"],"summary":"/printers/{printer}","description":"Delete the selected printer model.","parameters":[{"in":"path","name":"printer","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"const":"OK","type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"PrinterModel.find","tags":["printers"],"summary":"/printers/{printer}","description":"Retrieve the selected printer model.","parameters":[{"in":"path","name":"printer","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"PrinterModel.update","tags":["printers"],"summary":"/printers/{printer}","description":"Update the selected printer model.","parameters":[{"in":"path","name":"printer","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/products":{"get":{"operationId":"Product.all","tags":["products"],"summary":"/products","description":"List products using the supported project-wide availability and grouping filters.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"dropdownoption","required":false,"schema":{"type":"integer"}},{"in":"query","name":"dropdown_option_id","required":false,"schema":{"type":"integer"}},{"in":"query","name":"groupBy","schema":{"type":"string"}},{"in":"query","name":"location","schema":{"type":"string"}},{"in":"query","name":"order_type_id","schema":{"type":"integer"}},{"in":"query","name":"professional_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}},{"in":"query","name":"type","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"$ref":"#/components/schemas/Business"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Business instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/professionals":{"get":{"operationId":"User.professionalsFindAll","tags":["professionals"],"summary":"/professionals","parameters":[{"in":"query","name":"delivery_block_from","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"delivery_block_to","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"orders_count_condition","schema":{"enum":["eq","ge","gt","le","lt","ne"],"type":"string"}},{"in":"query","name":"orders_count_value","schema":{"type":"integer"}},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"$ref":"#/components/parameters/ParamsTree"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/professionals/{user_id}":{"get":{"operationId":"User.professionalsFind","tags":["professionals"],"summary":"/professionals/{user_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"type":"string"}},{"in":"query","name":"delivery_block_from","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"delivery_block_to","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"User.professionalsUpdate","tags":["professionals"],"summary":"/professionals/{user_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"available":{"type":"boolean"},"bio":{"type":"string"},"businesses":{},"busy":{"type":"boolean"},"cellphone":{"type":"string"},"city_id":{},"country_phone_code":{"type":"string"},"email":{"type":"string"},"enabled":{"type":"boolean"},"guest_token":{},"level":{"type":"integer"},"occupation_id":{"type":"integer"},"password":{"writeOnly":true},"photo":{"contentEncoding":"base64","description":"Photo as a URL, base64-encoded content, or data URL.","type":"string"},"protected":{"type":"boolean"},"schedule":{},"timezone":{"type":"integer"},"verification_code":{}},"type":"object"}},"multipart/form-data":{"schema":{"properties":{"bio":{"type":"string"},"occupation_id":{"type":"integer"},"photo":{"format":"binary","type":"string"},"timezone":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/professionals/{user_id}/google/calendar/sync":{"post":{"operationId":"User.professionalsGoogleCalendarSync","tags":["professionals"],"summary":"/professionals/{user_id}/google/calendar/sync","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/arrived_pickup_spend":{"get":{"operationId":"Report.arrived_pickup_spend","tags":["reports"],"summary":"/reports/arrived_pickup_spend","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/business_distance_average":{"get":{"operationId":"Report.business_distance_average","tags":["reports"],"summary":"/reports/business_distance_average","parameters":[{"in":"query","name":"businesses_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"driver_groups_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"drivers_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"franchises_id","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"from","schema":{"type":"string"}},{"in":"query","name":"order_types_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"timezone","schema":{"type":"string"}},{"in":"query","name":"to","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/customer_satisfaction":{"get":{"operationId":"Report.customer_satisfaction","tags":["reports"],"summary":"/reports/customer_satisfaction","description":"Report average customer satisfaction ratings for orders matching the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/driver_companies_order_time_ranges":{"get":{"operationId":"Report.driver_companies_order_time_ranges","tags":["reports"],"summary":"/reports/driver_companies_order_time_ranges","parameters":[{"in":"query","name":"businesses_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"driver_companies_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"driver_groups_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"franchises_id","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"from","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"lapse","schema":{"enum":["last_30_days","last_7_days","today","yesterday"],"type":"string"}},{"in":"query","name":"order_types_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"timezone","schema":{"type":"string"}},{"in":"query","name":"to","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"body":{"properties":{"rows":{}},"type":"object"},"footer":{"properties":{"rows":{"items":{},"type":"array"}},"type":"object"},"header":{"properties":{"rows":{"items":{},"type":"array"}},"type":"object"},"type":{"type":["string","null"]}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/driver_companies_orders":{"get":{"operationId":"Report.driver_companies_orders","tags":["reports"],"summary":"/reports/driver_companies_orders","parameters":[{"in":"query","name":"businesses_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"driver_companies_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"driver_groups_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"franchises_id","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"from","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"lapse","schema":{"enum":["last_30_days","last_7_days","today","yesterday"],"type":"string"}},{"in":"query","name":"order_types_ids","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"timezone","schema":{"type":"string"}},{"in":"query","name":"to","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"body":{"properties":{"rows":{}},"type":"object"},"footer":{"properties":{"rows":{"items":{},"type":"array"}},"type":"object"},"header":{"properties":{"rows":{"items":{},"type":"array"}},"type":"object"},"type":{"type":["string","null"]}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_accept_spend":{"get":{"operationId":"Report.drivers_accept_spend","tags":["reports"],"summary":"/reports/drivers_accept_spend","description":"Report elapsed time for driver order acceptance using the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_arrived_pickup_spend":{"get":{"operationId":"Report.drivers_arrived_pickup_spend","tags":["reports"],"summary":"Average arrival-to-pickup time","description":"Returns the average elapsed seconds from the driver arriving at the business (`status:3`) to driver pickup completion (`status:9`) for orders created in the selected interval, with an optional driver filter. Returns `null` when no rows qualify.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":["number","null"]}},"required":["result"],"type":"object"}]}}},"description":"Successful response. `result` is the average elapsed seconds as a JSON number, or `null` when no rows qualify."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_available_times":{"get":{"operationId":"Report.drivers_available_times","tags":["reports"],"summary":"/reports/drivers_available_times","description":"Report driver availability time using the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_busy_times":{"get":{"operationId":"Report.drivers_busy_times","tags":["reports"],"summary":"/reports/drivers_busy_times","description":"Report average driver busy time for the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"busy":{"items":{"properties":{"at":{"type":["string","number","integer","boolean","object","array","null"]},"time":{"type":"number"}},"type":"object"},"type":"array"},"not_busy":{"items":{"properties":{"at":{"type":["string","number","integer","boolean","object","array","null"]},"time":{"type":"number"}},"type":"object"},"type":"array"}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_complete_spend":{"get":{"operationId":"Report.drivers_complete_spend","tags":["reports"],"summary":"Average driver completion time","description":"Returns the average elapsed seconds from driver assignment (`driver_assigned`) to driver delivery completion (`status:11`) for orders created in the selected interval, with an optional driver filter. Returns `null` when no rows qualify.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":["number","null"]}},"required":["result"],"type":"object"}]}}},"description":"Successful response. `result` is the average elapsed seconds as a JSON number, or `null` when no rows qualify."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_delivery_spend":{"get":{"operationId":"Report.drivers_delivery_spend","tags":["reports"],"summary":"Average driver delivery time","description":"Returns the average elapsed seconds from driver pickup completion (`status:9`) to driver delivery completion (`status:11`) for orders created in the selected interval, with an optional driver filter. Returns `null` when no rows qualify.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":["number","null"]}},"required":["result"],"type":"object"}]}}},"description":"Successful response. `result` is the average elapsed seconds as a JSON number, or `null` when no rows qualify."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_order_location":{"get":{"operationId":"Report.drivers_order_location","tags":["reports"],"summary":"/reports/drivers_order_location","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_orders_status":{"get":{"operationId":"Report.drivers_orders_status","tags":["reports"],"summary":"/reports/drivers_orders_status","description":"Report order counts grouped by status for the selected drivers and filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_pickup_spend":{"get":{"operationId":"Report.drivers_pickup_spend","tags":["reports"],"summary":"Average driver pickup time","description":"Returns the average elapsed seconds from driver acceptance (`status:8`) to driver pickup completion (`status:9`) for orders created in the selected interval, with an optional driver filter. Returns `null` when no rows qualify.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":["number","null"]}},"required":["result"],"type":"object"}]}}},"description":"Successful response. `result` is the average elapsed seconds as a JSON number, or `null` when no rows qualify."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_sales":{"get":{"operationId":"Report.drivers_sales","tags":["reports"],"summary":"/reports/drivers_sales","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_spend_times":{"get":{"operationId":"Report.drivers_spend_times","tags":["reports"],"summary":"/reports/drivers_spend_times","description":"Report average order status-transition times for the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_top_categories":{"get":{"operationId":"Report.drivers_top_categories","tags":["reports"],"summary":"/reports/drivers_top_categories","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_top_orders":{"get":{"operationId":"Report.drivers_top_orders","tags":["reports"],"summary":"/reports/drivers_top_orders","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/drivers_top_selling":{"get":{"operationId":"Report.drivers_top_selling","tags":["reports"],"summary":"/reports/drivers_top_selling","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/grouping_report":{"get":{"operationId":"Report.grouping_report","tags":["reports"],"summary":"/reports/grouping_report","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"enum":["today","yesterday","last_7_days","last_30_days"],"type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"group_by","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"states","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"download","schema":{"type":"string"}},{"in":"query","name":"operator","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}},"application/vnd.ms-excel":{"schema":{"format":"binary","type":"string"}}},"description":"The action returns a file or a successful JSON envelope, depending on the executed branch."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/hours_report":{"get":{"operationId":"Report.hours_report","tags":["reports"],"summary":"/reports/hours_report","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"enum":["today","yesterday","last_7_days","last_30_days"],"type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"states","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"download","schema":{"type":"string"}},{"in":"query","name":"operator","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}},"application/vnd.ms-excel":{"schema":{"format":"binary","type":"string"}}},"description":"The action returns a file or a successful JSON envelope, depending on the executed branch."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/order_location":{"get":{"operationId":"Report.order_location","tags":["reports"],"summary":"/reports/order_location","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/orders":{"get":{"operationId":"Report.orders","tags":["reports"],"summary":"Order counts over time","description":"Returns order counts grouped into time buckets for orders created in the selected interval. The bucket size is chosen from the interval length, and optional business, business-manager ownership, and app filters are applied.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"additionalProperties":false,"properties":{"orders":{"description":"Value returned from database hydration; its JSON scalar type is intentionally unconstrained."},"time":{"description":"Value returned from database hydration; its JSON scalar type is intentionally unconstrained."}},"required":["orders","time"],"type":"object"},"type":"array"}},"required":["result"],"type":"object"}]}}},"description":"Successful response. `result` is an array of rows with exactly `orders` and `time`; their scalar JSON types are intentionally unconstrained."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/orders_accept_spend":{"get":{"operationId":"Report.orders_accept_spend","tags":["reports"],"summary":"Average business acceptance time","description":"Returns the average elapsed seconds from `delivery_datetime` to business acceptance (`status:7`) for orders created in the selected interval, with optional business, business-manager ownership, and app filters. Returns `null` when no rows qualify.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":["number","null"]}},"required":["result"],"type":"object"}]}}},"description":"Successful response. `result` is the average elapsed seconds as a JSON number, or `null` when no rows qualify."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/orders_drivers":{"get":{"operationId":"Report.orders_drivers","tags":["reports"],"summary":"/reports/orders_drivers","description":"Return driver-related order report data for the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/orders_status":{"get":{"operationId":"Report.orders_status","tags":["reports"],"summary":"/reports/orders_status","description":"Report order counts grouped by status for the selected filters.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/products_report":{"get":{"operationId":"Report.products_report","tags":["reports"],"summary":"/reports/products_report","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"enum":["today","yesterday","last_7_days","last_30_days"],"type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"group_by","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"states","required":false,"schema":{"contentMediaType":"application/json","contentSchema":{"items":{"type":"integer"},"minItems":1,"type":"array"},"type":"string"}},{"in":"query","name":"download","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}},"application/vnd.ms-excel":{"schema":{"format":"binary","type":"string"}}},"description":"The action returns a file or a successful JSON envelope, depending on the executed branch."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/sales":{"get":{"operationId":"Report.sales","tags":["reports"],"summary":"/reports/sales","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/top_categories":{"get":{"operationId":"Report.top_categories","tags":["reports"],"summary":"/reports/top_categories","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/top_selling":{"get":{"operationId":"Report.top_selling","tags":["reports"],"summary":"/reports/top_selling","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}},{"in":"query","name":"app_id","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/reports/users":{"get":{"operationId":"Report.users","tags":["reports"],"summary":"/reports/users","description":"Report registered-user counts grouped by the requested time interval.","parameters":[{"in":"query","name":"lapse","required":false,"schema":{"pattern":"^(today|yesterday|last_7_days|last_30_days|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2},[0-9]{4}-[0-9]{1,2}-[0-9]{1,2})$","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"in":"query","name":"businesses","required":false,"schema":{"type":"string"}},{"in":"query","name":"drivers","required":false,"schema":{"type":"string"}},{"in":"query","name":"timezone","required":false,"schema":{"minLength":2,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/schools":{"get":{"operationId":"School.findAll.schools","tags":["schools"],"summary":"/schools","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/schools/students":{"get":{"operationId":"Student.findAll.schools_students","tags":["schools"],"summary":"/schools/students","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Student.register.schools_students","tags":["schools"],"summary":"/schools/students","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"classroom_id":{},"grade_id":{},"parent_ids":{},"school_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/SchoolStudent"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized SchoolStudent instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/schools/students/{student_id}":{"put":{"operationId":"Student.update.schools_students_student_id","tags":["schools"],"summary":"/schools/students/{student_id}","parameters":[{"in":"path","name":"student_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"classroom_id":{},"grade_id":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/schools/{school_id}":{"get":{"operationId":"School.find","tags":["schools"],"summary":"/schools/{school_id}","parameters":[{"in":"path","name":"school_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/search":{"get":{"operationId":"Search.search","tags":["search"],"summary":"/search","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"order_type_id","required":true,"schema":{"enum":[1,2,3,4,5,6,7,8],"type":"integer"}},{"in":"query","name":"location","required":true,"schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"term","required":false,"schema":{"type":"string"}},{"in":"query","name":"tags","required":false,"schema":{"items":{"type":"integer"},"type":"array"}},{"in":"query","name":"max_distance","required":false,"schema":{"type":"number"}},{"in":"query","name":"max_eta","required":false,"schema":{"type":"integer"}},{"in":"query","name":"max_delivery_price","required":false,"schema":{"type":"number"}},{"in":"query","name":"max_product_price","required":false,"schema":{"type":"number"}},{"in":"query","name":"featured_products","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"in_offer_products","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"level_price","required":false,"schema":{"type":"string"}},{"in":"query","name":"fuzzy","required":false,"schema":{"type":"boolean"}},{"in":"query","name":"fuzzy_threshold","required":false,"schema":{"type":"number"}},{"in":"query","name":"business_types","schema":{"type":"string"}},{"in":"query","name":"closed_businesses","schema":{"default":"disabled","type":"string"}},{"in":"query","name":"debug_timing","schema":{"type":"boolean"}},{"in":"query","name":"excludes","schema":{"type":"string"}},{"in":"query","name":"forceOrderBy","schema":{"type":"string"}},{"in":"query","name":"force_lazy_load_products","schema":{"default":false,"type":"boolean"}},{"in":"query","name":"force_max_distance","schema":{"default":"disabled","type":"string"}},{"in":"query","name":"franchise_ids","schema":{"type":"string"}},{"in":"query","name":"geo_dz_first","schema":{"default":true,"type":"boolean"}},{"in":"query","name":"limit","schema":{"default":10,"type":"integer"}},{"in":"query","name":"price_level","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/search/suggestions":{"get":{"operationId":"Search.suggestions","tags":["search"],"summary":"/search/suggestions","parameters":[{"in":"query","name":"term","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/seo/business/{business}":{"get":{"operationId":"Seo.business","tags":["seo"],"summary":"/seo/business/{business}","description":"Retrieve SEO metadata for the selected business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/seo/business/{business}/category/{category}":{"get":{"operationId":"Seo.category.get","tags":["seo"],"summary":"/seo/business/{business}/category/{category}","description":"Retrieve SEO metadata for the selected category within a business.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"in":"path","name":"category","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/seo/business/{business}/category/{category}/product/{product}":{"get":{"operationId":"Seo.product.get","tags":["seo"],"summary":"/seo/business/{business}/category/{category}/product/{product}","description":"Retrieve product metadata for the selected business and category.","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"in":"path","name":"category","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"in":"path","name":"product","required":true,"schema":{"oneOf":[{"pattern":"^(?![0-9]*$)[a-zA-Z0-9_]+$","type":"string"},{"pattern":"^[0-9]+$","type":"integer"}]}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/seo/general":{"get":{"operationId":"Seo.general","tags":["seo"],"summary":"/seo/general","parameters":[{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/seo/pages/slug/{page_slug}":{"get":{"operationId":"Seo.page_slug","tags":["seo"],"summary":"/seo/pages/slug/{page_slug}","parameters":[{"in":"path","name":"page_slug","required":true,"schema":{"pattern":"^[0-9a-zA-Z-_]+$","type":"string"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/seo/robots":{"get":{"operationId":"Seo.robots","tags":["seo"],"summary":"/seo/robots","parameters":[],"responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/syncs/businesses":{"post":{"operationId":"Business.sync_businesses","tags":["syncs"],"summary":"/syncs/businesses","parameters":[{"in":"query","name":"relation_with","schema":{"default":"business","type":"string"}},{"in":"query","name":"replace_type","schema":{"default":"present-only","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"properties":{"about":{"maxLength":255,"type":["string","null"]},"address":{"maxLength":255,"type":"string"},"address_notes":{"maxLength":255,"type":["string","null"]},"cellphone":{"maxLength":255,"type":["string","null"]},"delivery_price":{"minimum":0,"type":["number","null"]},"description":{"maxLength":255,"type":["string","null"]},"email":{},"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"fixed_usage_fee":{"minimum":0,"type":"number"},"internal_number":{"maxLength":255,"type":["string","null"]},"location":{"properties":{"lat":{"maximum":90,"minimum":-90,"type":"number"},"lng":{"maximum":180,"minimum":-180,"type":"number"}},"required":["lat","lng"],"type":"object"},"metafields":{"items":{"items":{},"type":"array"},"type":"array"},"minimum":{"minimum":0,"type":["number","null"]},"name":{"maxLength":255,"type":"string"},"percentage_usage_fee":{"minimum":0,"type":"number"},"schedule":{},"service_fee":{"minimum":0,"type":"number"},"slug":{"maxLength":255,"type":"string"},"tax":{"minimum":0,"type":"number"},"tax_type":{"enum":[1,2],"type":"integer"},"timezone":{"type":"string"}},"required":["address","enabled","external_id","location","name","slug"],"type":"object"},"type":"array"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/syncs/businesses/{business_id}/menus":{"post":{"operationId":"Menu.sync_menus","tags":["syncs"],"summary":"/syncs/businesses/{business_id}/menus","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"async","schema":{"default":false,"type":"boolean"}},{"in":"query","name":"request_id","schema":{"default":null,"type":"string"}},{"in":"query","name":"version","required":false,"schema":{"default":"v1","enum":["v1","v2"],"type":"string"}},{"description":"Comma-separated list of begin, disable, import, and finalize. Applies only to v2.","in":"query","name":"sync_type","required":false,"schema":{"default":"disable,import","pattern":"^(begin|disable|import|finalize)(,(begin|disable|import|finalize))*$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"properties":{"categories":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"name":{}},"required":["external_id","name","enabled"],"type":"object"},"type":"array"},"extras":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"name":{}},"required":["external_id","name","enabled"],"type":"object"},"type":"array"},"menus":{"items":{"additionalProperties":true,"properties":{"delivery":{},"eatin":{},"enabled":{},"external_id":{},"name":{},"pickup":{}},"required":["external_id","name","delivery","pickup","eatin","enabled"],"type":"object"},"type":"array"}},"title":"Menu sync v1","type":"object"},{"properties":{"categories":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"name":{}},"required":["external_id","name","enabled"],"type":"object"},"type":"array"},"extras":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"name":{}},"required":["external_id","name","enabled"],"type":"object"},"type":"array"},"menus":{"items":{"additionalProperties":true,"properties":{"delivery":{},"eatin":{},"enabled":{},"external_id":{},"name":{},"pickup":{}},"required":["external_id","name","delivery","pickup","eatin","enabled"],"type":"object"},"type":"array"},"metafields":{"items":{"additionalProperties":true,"properties":{"key":{},"model":{},"object_external_id":{},"value":{},"value_type":{}},"required":["model","object_external_id","key","value","value_type"],"type":"object"},"type":"array"},"options":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"extra_external_id":{},"max":{},"min":{},"name":{}},"required":["external_id","extra_external_id","name","min","max","enabled"],"type":"object"},"type":"array"},"products":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"name":{}},"required":["external_id","name","enabled"],"type":"object"},"type":"array"},"suboptions":{"items":{"additionalProperties":true,"properties":{"enabled":{},"external_id":{},"name":{},"option_external_id":{},"price":{}},"required":["external_id","option_external_id","name","price","enabled"],"type":"object"},"type":"array"},"translations":{"items":{"additionalProperties":true,"properties":{"language_code":{},"model":{},"object_external_id":{}},"required":["model","object_external_id","language_code"],"type":"object"},"type":"array"}},"title":"Menu sync v2","type":"object"}]}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/syncs/businesses/{business_id}/menus/availability":{"post":{"operationId":"Menu.sync_menus_availability","tags":["syncs"],"summary":"/syncs/businesses/{business_id}/menus/availability","parameters":[{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"required":["menus"]},{"required":["categories"]},{"required":["products"]},{"required":["extras"]},{"required":["options"]},{"required":["suboptions"]}],"properties":{"categories":{"items":{"anyOf":[{"required":["enabled"]},{"required":["snooze_until"]}],"properties":{"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"snooze_until":{"maxLength":255,"type":["string","null"]}},"required":["external_id"],"type":"object"},"type":"array"},"extras":{"items":{"anyOf":[{"required":["enabled"]},{"required":["snooze_until"]}],"properties":{"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"snooze_until":{"maxLength":255,"type":["string","null"]}},"required":["external_id"],"type":"object"},"type":"array"},"menus":{"items":{"anyOf":[{"required":["enabled"]},{"required":["snooze_until"]}],"properties":{"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"snooze_until":{"maxLength":255,"type":["string","null"]}},"required":["external_id"],"type":"object"},"type":"array"},"options":{"items":{"anyOf":[{"required":["enabled"]},{"required":["snooze_until"]}],"properties":{"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"extra_external_id":{"maxLength":255,"type":"string"},"snooze_until":{"maxLength":255,"type":["string","null"]}},"required":["external_id","extra_external_id"],"type":"object"},"type":"array"},"products":{"items":{"anyOf":[{"required":["enabled"]},{"required":["snooze_until"]}],"properties":{"category_external_id":{"maxLength":255,"type":"string"},"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"snooze_until":{"maxLength":255,"type":["string","null"]}},"required":["external_id","category_external_id"],"type":"object"},"type":"array"},"suboptions":{"items":{"anyOf":[{"required":["enabled"]},{"required":["snooze_until"]}],"properties":{"enabled":{"type":"boolean"},"external_id":{"maxLength":255,"type":"string"},"extra_external_id":{"maxLength":255,"type":"string"},"option_external_id":{"maxLength":255,"type":"string"},"snooze_until":{"maxLength":255,"type":["string","null"]}},"required":["external_id","extra_external_id","option_external_id"],"type":"object"},"type":"array"}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"message":{"type":["string","null"]},"status":{"type":["string","null"]},"summary":{}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/tags":{"get":{"operationId":"Tag.findAll","tags":["tags"],"summary":"/tags","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Tag.register","tags":["tags"],"summary":"/tags","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"image":{},"name":{}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/tags/{tag_id}":{"delete":{"operationId":"Tag.delete","tags":["tags"],"summary":"/tags/{tag_id}","parameters":[{"in":"path","name":"tag_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Tag.find","tags":["tags"],"summary":"/tags/{tag_id}","parameters":[{"in":"path","name":"tag_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Tag.update","tags":["tags"],"summary":"/tags/{tag_id}","parameters":[{"in":"path","name":"tag_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"description":{},"enabled":{"type":"boolean"},"image":{},"name":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/taxes":{"get":{"operationId":"Tax.findAll","tags":["taxes"],"summary":"/taxes","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Tax.register","tags":["taxes"],"summary":"/taxes","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"apply_to_fees":{"type":"boolean"},"description":{},"external_id":{},"name":{},"order_type_rates":{"items":{"properties":{"rate":{"type":["number","null"]},"type":{"enum":["1","2"]}},"type":"object"},"type":"array"},"rate":{"type":"number"},"recipient":{"enum":["business","platform"],"type":["string","null"]},"target":{"enum":["product"],"type":"string"},"type":{"type":"integer"}},"required":["name","rate","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/taxes/{tax_id}":{"delete":{"operationId":"Tax.delete","tags":["taxes"],"summary":"/taxes/{tax_id}","parameters":[{"in":"path","name":"tax_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Tax.find","tags":["taxes"],"summary":"/taxes/{tax_id}","parameters":[{"in":"path","name":"tax_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Tax.update","tags":["taxes"],"summary":"/taxes/{tax_id}","parameters":[{"in":"path","name":"tax_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"apply_to_fees":{"type":"boolean"},"description":{},"external_id":{},"name":{},"order_type_rates":{"items":{"properties":{"rate":{"type":["number","null"]},"type":{"enum":["1","2"]}},"type":"object"},"type":"array"},"rate":{"type":"number"},"recipient":{"enum":["business","platform"],"type":["string","null"]},"target":{"enum":["product"],"type":"string"},"type":{"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/text_messages/send":{"post":{"operationId":"TextMessage.send","tags":["text_messages"],"summary":"/text_messages/send","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{},"country_phone_code":{},"message":{},"provider":{"enum":["twilio","custom"],"maxLength":255,"minLength":1,"type":"string"},"type":{"enum":["whatsapp","sms"],"maxLength":255,"minLength":1,"type":"string"}},"required":["cellphone","country_phone_code","message","provider","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"oneOf":[{"type":"string"},{}]}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/theme":{"get":{"operationId":"SiteTheme.theme","tags":["theme"],"summary":"/theme","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/themes":{"get":{"operationId":"Theme.findAll","tags":["themes"],"summary":"/themes","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Theme.register","tags":["themes"],"summary":"/themes","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{},"structure":{"contentMediaType":"application/json","type":"string"},"values_default":{"contentMediaType":"application/json","type":"string"}},"required":["name","structure","values_default"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/themes/{theme_id}":{"delete":{"operationId":"Theme.delete","tags":["themes"],"summary":"/themes/{theme_id}","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Theme.find","tags":["themes"],"summary":"/themes/{theme_id}","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Theme.update","tags":["themes"],"summary":"/themes/{theme_id}","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"default_values":{"contentMediaType":"application/json","type":"string"},"name":{},"sctructure":{"contentMediaType":"application/json","type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/themes/{theme_id}/gallery":{"get":{"operationId":"ThemeGallery.findAll","tags":["themes"],"summary":"/themes/{theme_id}/gallery","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ThemeGallery.register","tags":["themes"],"summary":"/themes/{theme_id}/gallery","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"allOf":[{"if":{"properties":{"type":{"const":"image"}},"required":["type"]},"then":{"properties":{"file":{"type":"string"}},"required":["file"]}}],"properties":{"description":{},"file":{"type":"string"},"title":{},"type":{"enum":["image","video"],"type":"string"},"video":{}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/themes/{theme_id}/gallery/{gallery}":{"delete":{"operationId":"ThemeGallery.delete","tags":["themes"],"summary":"/themes/{theme_id}/gallery/{gallery}","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ThemeGallery.find","tags":["themes"],"summary":"/themes/{theme_id}/gallery/{gallery}","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ThemeGallery.update","tags":["themes"],"summary":"/themes/{theme_id}/gallery/{gallery}","parameters":[{"in":"path","name":"theme_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"gallery","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"allOf":[{"if":{"properties":{"type":{"const":"image"}},"required":["type"]},"then":{"properties":{"file":{"type":"string"}},"required":["file"]}}],"properties":{"description":{},"file":{"type":"string"},"theme_id":{"type":"integer"},"title":{},"type":{"enum":["image","video"],"type":"string"},"video":{}},"required":["type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/third_party_integrations":{"post":{"operationId":"ThirdPartyIntegration.register","tags":["third_party_integrations"],"summary":"/third_party_integrations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"external_id":{},"key":{},"logo":{"contentEncoding":"base64","description":"Logo as a URL, base64-encoded content, or data URL.","type":"string"},"name":{},"plugin_id":{"type":["integer","null"]},"plugin_root":{},"type":{"enum":["pos","sales_channel"],"type":"string"}},"required":["key","name","type"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"enabled":{"type":"boolean"},"external_id":{},"key":{},"logo":{"format":"binary","type":"string"},"name":{},"plugin_id":{"type":["integer","null"]},"plugin_root":{},"type":{"enum":["pos","sales_channel"],"type":"string"}},"required":["key","name","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ThirdPartyIntegration"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized ThirdPartyIntegration instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/third_party_integrations/run":{"post":{"operationId":"ThirdPartyIntegration.run","tags":["third_party_integrations"],"summary":"/third_party_integrations/run","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"actions":{"items":{},"type":"array"},"business_ids":{"items":{"type":"integer"},"type":"array"},"data":{"default":[],"type":"string"},"third_party_integration_ids":{"items":{"type":"integer"},"type":"array"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/third_party_integrations/{third_party_integration_id}":{"delete":{"operationId":"ThirdPartyIntegration.delete","tags":["third_party_integrations"],"summary":"/third_party_integrations/{third_party_integration_id}","parameters":[{"in":"path","name":"third_party_integration_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ThirdPartyIntegration.update","tags":["third_party_integrations"],"summary":"/third_party_integrations/{third_party_integration_id}","parameters":[{"in":"path","name":"third_party_integration_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"external_id":{},"logo":{"contentEncoding":"base64","description":"Logo as a URL, base64-encoded content, or data URL.","type":"string"},"name":{},"plugin_id":{"type":["integer","null"]},"plugin_root":{}},"type":"object"}},"multipart/form-data":{"schema":{"properties":{"enabled":{"type":"boolean"},"external_id":{},"logo":{"format":"binary","type":"string"},"name":{},"plugin_id":{"type":["integer","null"]},"plugin_root":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ThirdPartyIntegration"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized ThirdPartyIntegration instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/third_party_integrations/{third_party_integration_key}/business/{external_id}":{"get":{"operationId":"ThirdPartyIntegration.findBusiness","tags":["third_party_integrations"],"summary":"/third_party_integrations/{third_party_integration_key}/business/{external_id}","parameters":[{"in":"path","name":"third_party_integration_key","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}},{"in":"path","name":"external_id","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/tracking_events":{"get":{"operationId":"TrackingEvent.findAll","tags":["tracking_events"],"summary":"/tracking_events","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"TrackingEvent.register","tags":["tracking_events"],"summary":"/tracking_events","parameters":[{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"events":{"contentMediaType":"application/json","type":"string"}},"required":["events"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/translations":{"get":{"operationId":"Translation.findAll","tags":["translations"],"summary":"/translations","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"mode","schema":{"type":"string"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"start","schema":{"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"Translation.register","tags":["translations"],"summary":"/translations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{},"language_code":{},"text":{},"version":{"type":"string"}},"required":["key","text"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/translations/{translation}":{"delete":{"operationId":"Translation.delete","tags":["translations"],"summary":"/translations/{translation}","parameters":[{"in":"path","name":"translation","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Translation.find","tags":["translations"],"summary":"/translations/{translation}","parameters":[{"in":"path","name":"translation","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"put":{"operationId":"Translation.update","tags":["translations"],"summary":"/translations/{translation}","parameters":[{"in":"path","name":"translation","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{},"text":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/usage_limits":{"get":{"operationId":"UsageLimit.findAll","tags":["usage_limits"],"summary":"Get the project usage limits","description":"Consumption limits in force for the project, with how much of each one is left. Reading never consumes: the counters are read, not incremented.\n\nLimits split by the caller (IP, user or API key) are never returned. Limits that only monitor are hidden unless `include=monitor` is sent, since they change nothing the client can see.\n\nWhen the counters cannot be read the limits are still returned, with `usage`, `remaining` and `used_pct` null and `degraded` true. The response is never cached (`Cache-Control: no-store`).","parameters":[{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"in":"query","name":"include","schema":{"description":"Adds the limits that only monitor, hidden by default. Any other value answers 400 with `usage_limits.include_invalid`.","enum":["monitor"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"properties":{"as_of":{"description":"UTC instant the counters were read at.","example":"2026-09-17T10:03:41Z","type":"string"},"degraded":{"description":"True when the counters could not be read: the limits are still the ones in force, but their usage is null.","example":false,"type":"boolean"},"limits":{"description":"One entry per limit that applies to this caller. Empty when the project has none.","items":{"properties":{"key":{"description":"Subject the counter is split by. Limits split by IP, user or API key are never returned.","enum":["project","app","client"],"example":"project","type":"string"},"limit":{"description":"What the window holds, in the same unit as usage and remaining. For a `second` window that is ten times the per-second limit.","example":1200,"type":"integer"},"metric":{"description":"What the counter counts: requests for HTTP scopes, units for resource and custom ones.","enum":["requests","units"],"example":"requests","type":"string"},"mode":{"description":"What the limit does when it is reached: `monitor` only counts, `soft` warns in the headers, `hard` answers 429, `ban` answers 429 and blocks the subject for a while. It is the mode actually in force.","enum":["monitor","soft","hard","ban"],"example":"hard","type":"string"},"remaining":{"description":"Left in the current window, never below zero. Null when the counters could not be read.","example":1163,"type":["integer","null"]},"reset_at":{"description":"UTC instant the window rolls over at.","example":"2026-09-17T10:04:00Z","type":"string"},"reset_in":{"description":"Seconds until the window rolls over.","example":23,"type":"integer"},"scope":{"description":"What is counted: `*` the whole project, `http:<METHOD> <template>` one route, `resource:<name>` a resource, `custom:<name>` a programmatic counter.","example":"http:POST orders","type":"string"},"status":{"description":"`warning` from the limit's own warning threshold on, `exceeded` once nothing is left. Null when the counters could not be read.","enum":["ok","warning","exceeded",null],"example":"ok","type":["string","null"]},"usage":{"description":"Spent so far in the current window. Null when the counters could not be read.","example":37,"type":["integer","null"]},"used_pct":{"description":"Percentage of the limit already spent, rounded down. Null when the counters could not be read.","example":3,"type":["integer","null"]},"window":{"description":"Period the counter resets with. `second` is a ten-second sliding window.","enum":["second","minute","hour","day","month"],"example":"minute","type":"string"}},"type":"object"},"type":"array"},"project_id":{"description":"Project the limits belong to.","example":1,"type":"integer"}},"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users":{"get":{"operationId":"User.findAll","tags":["users"],"summary":"/users","parameters":[{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"delivery_block_from","required":false,"schema":{"type":"string"}},{"in":"query","name":"delivery_block_to","required":false,"schema":{"type":"string"}},{"in":"query","name":"orders_count_condition","schema":{"enum":["eq","ge","gt","le","lt","ne"],"type":"string"}},{"in":"query","name":"orders_count_value","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/User"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"User.register.users","tags":["users"],"summary":"/users","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateRequest"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/User"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized User instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users.csv":{"get":{"operationId":"User.csv","tags":["users.csv"],"summary":"/users.csv","parameters":[],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/check_password":{"post":{"operationId":"User.checkPassword","tags":["users"],"summary":"/users/check_password","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"writeOnly":true}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/forgot":{"post":{"operationId":"User.forgot","tags":["users"],"summary":"/users/forgot","parameters":[{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"Origin","required":false,"schema":{"type":"string"}},{"in":"header","name":"Referer","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-INTERNAL-PRODUCT-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/users/me":{"get":{"operationId":"User.find_me","tags":["users"],"summary":"/users/me","parameters":[{"in":"query","name":"delivery_block_from","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"delivery_block_to","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/reset":{"post":{"operationId":"User.reset","tags":["users"],"summary":"/users/reset","description":"Reset a password using the code and random value issued by the forgot-password flow.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"password":{"writeOnly":true},"random":{}},"required":["code","password","random"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/users/user_reviews.csv":{"get":{"operationId":"UserReview.csv","tags":["users"],"summary":"/users/user_reviews.csv","parameters":[{"in":"query","name":"reviewer_id","schema":{"type":"integer"}},{"in":"query","name":"user_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"text/csv":{"schema":{"format":"binary","type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/addresses":{"get":{"operationId":"Address.findAll","tags":["users"],"summary":"/users/{user_id}/addresses","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Address.register","tags":["users"],"summary":"/users/{user_id}/addresses","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-Socket-Id-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{},"address_notes":{},"cellphone":{},"city":{},"country":{},"country_code":{},"default":{"type":"boolean"},"external_id":{},"internal_number":{},"lastname":{},"locality":{},"location":{"contentMediaType":"application/json","type":"string"},"middle_name":{},"name":{},"neighborhood":{},"phone":{},"route":{},"second_lastname":{},"state":{},"state_code":{},"street_number":{},"sublocality":{},"user_id":{"type":"number"},"zipcode":{}},"required":["user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/addresses/{address_id}":{"delete":{"operationId":"Address.delete","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"Address.find","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Address.update","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{},"address_notes":{},"cellphone":{},"city":{},"country":{},"country_code":{},"default":{"type":"boolean"},"external_id":{},"internal_number":{},"lastname":{},"locality":{},"location":{"contentMediaType":"application/json","type":"string"},"middle_name":{},"name":{},"neighborhood":{},"phone":{},"route":{},"second_lastname":{},"state":{},"state_code":{},"street_number":{},"sublocality":{},"user_id":{"type":"number"},"zipcode":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/addresses/{address_id}/metafields":{"get":{"operationId":"AddressMetafield.findAll","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}/metafields","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"AddressMetafield.register","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}/metafields","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model","object_id","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/addresses/{address_id}/metafields/{metafield_id}":{"delete":{"operationId":"AddressMetafield.delete","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"AddressMetafield.find","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"AddressMetafield.update","tags":["users"],"summary":"/users/{user_id}/addresses/{address_id}/metafields/{metafield_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"address_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/alerts":{"get":{"operationId":"User.alerts","tags":["users"],"summary":"/users/{user_id}/alerts","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/drivergroups":{"post":{"operationId":"User.drivergroups","tags":["users"],"summary":"/users/{user_id}/drivergroups","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"driver_group_ids":{"items":{"type":"integer"},"type":"array"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"string"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the documented fields; some values accept variable JSON types."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_businesses":{"get":{"operationId":"FavoriteBusiness.findAll","tags":["users"],"summary":"/users/{user_id}/favorite_businesses","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"franchise_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"FavoriteBusiness.register","tags":["users"],"summary":"/users/{user_id}/favorite_businesses","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"object_id":{"type":"integer"}},"required":["object_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_businesses/{favorite_id}":{"delete":{"operationId":"FavoriteBusiness.delete","tags":["users"],"summary":"/users/{user_id}/favorite_businesses/{favorite_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"favorite_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_orders":{"get":{"operationId":"FavoriteOrder.findAll","tags":["users"],"summary":"/users/{user_id}/favorite_orders","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"franchise_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"FavoriteOrder.register","tags":["users"],"summary":"/users/{user_id}/favorite_orders","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"object_id":{"type":"integer"}},"required":["object_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_orders/{favorite_id}":{"delete":{"operationId":"FavoriteOrder.delete","tags":["users"],"summary":"/users/{user_id}/favorite_orders/{favorite_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"favorite_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_products":{"get":{"operationId":"FavoriteProduct.findAll","tags":["users"],"summary":"/users/{user_id}/favorite_products","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"franchise_id","schema":{"type":"integer"}},{"in":"query","name":"location","schema":{"contentMediaType":"application/json","type":"string"}},{"in":"query","name":"order_type_id","schema":{"type":"integer"}},{"in":"query","name":"timestamp","schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"FavoriteProduct.register","tags":["users"],"summary":"/users/{user_id}/favorite_products","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"object_id":{"type":"integer"}},"required":["object_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_products/{favorite_id}":{"delete":{"operationId":"FavoriteProduct.delete","tags":["users"],"summary":"/users/{user_id}/favorite_products/{favorite_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"favorite_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_users":{"get":{"operationId":"FavoriteUser.findAll","tags":["users"],"summary":"/users/{user_id}/favorite_users","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"FavoriteUser.register","tags":["users"],"summary":"/users/{user_id}/favorite_users","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"object_id":{"type":"integer"}},"required":["object_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/favorite_users/{favorite_id}":{"delete":{"operationId":"FavoriteUser.delete","tags":["users"],"summary":"/users/{user_id}/favorite_users/{favorite_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"favorite_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/google/calendar/sync":{"post":{"operationId":"User.google_calendar_sync","tags":["users"],"summary":"/users/{user_id}/google/calendar/sync","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/google/permissions/request":{"get":{"operationId":"User.google_permission_request","tags":["users"],"summary":"/users/{user_id}/google/permissions/request","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"query","name":"name","schema":{"default":"auth","type":"string"}},{"in":"query","name":"redirect_to","schema":{"type":"string"}}],"responses":{"200":{"description":"Google permission request completed without a response body."},"302":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"Redirect to the Google authorization page.","headers":{"Location":{"required":true,"schema":{"format":"uri","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/intercom/hash":{"post":{"operationId":"User.generate_intercom_hash","tags":["users"],"summary":"/users/{user_id}/intercom/hash","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/locations":{"post":{"operationId":"DriverLocation.register","tags":["users"],"summary":"/users/{user_id}/locations","description":"Record a location update for the selected driver.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"driver_id":{"type":"integer"},"location":{"contentMediaType":"application/json","type":"string"}},"required":["driver_id","location"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/locations/{location}":{"delete":{"operationId":"DriverLocation.delete","tags":["users"],"summary":"/users/{user_id}/locations/{location}","description":"Delete a driver location associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"location","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"const":"OK","type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/mcp_tokens":{"get":{"operationId":"McpToken.findAll","tags":["users"],"summary":"/users/{user_id}/mcp_tokens","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/McpToken"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the McpToken projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"McpToken.register","tags":["users"],"summary":"/users/{user_id}/mcp_tokens","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"data_notice_language":{},"data_notice_version":{},"expires_in_days":{},"name":{"maxLength":100,"type":"string"},"scope":{}},"required":["name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/McpToken"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized McpToken instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/mcp_tokens/{mcp_token_id}":{"delete":{"operationId":"McpToken.delete","tags":["users"],"summary":"/users/{user_id}/mcp_tokens/{mcp_token_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"mcp_token_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/McpToken"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized McpToken instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/metafields":{"get":{"operationId":"UserMetafield.findAll","tags":["users"],"summary":"/users/{user_id}/metafields","description":"List the metafields associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"object"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserMetafield.register","tags":["users"],"summary":"/users/{user_id}/metafields","description":"Create a metafield for the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"pattern":"^[a-zA-Z]\\w+$","type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["key","value","value_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/metafields/{metafield_id}":{"delete":{"operationId":"UserMetafield.delete","tags":["users"],"summary":"/users/{user_id}/metafields/{metafield_id}","description":"Delete a metafield associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"UserMetafield.find","tags":["users"],"summary":"/users/{user_id}/metafields/{metafield_id}","description":"Retrieve one metafield associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"object"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"UserMetafield.update","tags":["users"],"summary":"/users/{user_id}/metafields/{metafield_id}","description":"Update a metafield associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"metafield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"key":{"type":"string"},"model":{},"object_id":{"type":"integer"},"value":{},"value_type":{"enum":["integer","decimal","boolean","text","json"],"type":"string"}},"required":["model"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/paymethods/{paymethod_id}":{"get":{"operationId":"UserPaymethod.findAll","tags":["users"],"summary":"/users/{user_id}/paymethods/{paymethod_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"business_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserPaymethod.register","tags":["users"],"summary":"/users/{user_id}/paymethods/{paymethod_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":["integer","null"]},"external_id":{"type":"string"},"paymethod_id":{"type":"integer"},"sandbox":{"type":"boolean"},"user_id":{"type":"integer"}},"required":["external_id","paymethod_id","sandbox","user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/UserPaymethod"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized UserPaymethod instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/paymethods/{paymethod_id}/paymethods":{"get":{"operationId":"UserPaymethodPaymethod.findAll","tags":["users"],"summary":"/users/{user_id}/paymethods/{paymethod_id}/paymethods","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"business_id","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserPaymethodPaymethod.register","tags":["users"],"summary":"/users/{user_id}/paymethods/{paymethod_id}/paymethods","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"external_id":{"type":"string"},"type":{"enum":["card"],"type":"string"},"type_data":{"items":{},"type":["array","null"]},"user_paymethod_id":{"type":"integer"}},"required":["external_id","type","user_paymethod_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/paymethods/{paymethod_id}/paymethods/{user_paymethod_paymethod_id}":{"delete":{"operationId":"UserPaymethodPaymethod.delete","tags":["users"],"summary":"/users/{user_id}/paymethods/{paymethod_id}/paymethods/{user_paymethod_paymethod_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_paymethod_paymethod_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/products":{"get":{"operationId":"UserProduct.findAll","tags":["users"],"summary":"/users/{user_id}/products","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserProduct.register","tags":["users"],"summary":"/users/{user_id}/products","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"product_id":{"type":"integer"}},"required":["business_id","product_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/UserProduct"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized UserProduct instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/products/{user_product_id}":{"delete":{"operationId":"UserProduct.delete","tags":["users"],"summary":"/users/{user_id}/products/{user_product_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/sessions":{"get":{"operationId":"UserSession.findAll","tags":["users"],"summary":"/users/{user_id}/sessions","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/UserSessionCurrentProjection"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the UserSession projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/sessions/all":{"delete":{"operationId":"UserSession.delete_all","tags":["users"],"summary":"/users/{user_id}/sessions/all","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"query","name":"delete_current","schema":{"anyOf":[{"const":"1","type":"string"},{"const":true,"type":"boolean"}]}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/sessions/{user_session_id}":{"delete":{"operationId":"UserSession.delete","tags":["users"],"summary":"/users/{user_id}/sessions/{user_session_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"user_session_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/UserSession"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized UserSession instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/user_reviews":{"get":{"operationId":"UserReview.findAll","tags":["users"],"summary":"/users/{user_id}/user_reviews","description":"List reviews associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"UserReview.register","tags":["users"],"summary":"/users/{user_id}/user_reviews","description":"Create a review associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-uuid-access-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"comment":{"type":"string"},"order_id":{"type":"integer"},"qualification":{"minimum":1,"type":"integer"},"tags":{"items":{},"type":["array","null"]}},"required":["order_id","qualification"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/users/{user_id}/user_reviews/{review_id}":{"get":{"operationId":"UserReview.find","tags":["users"],"summary":"/users/{user_id}/user_reviews/{review_id}","description":"Retrieve one review associated with the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"review_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/verify":{"post":{"operationId":"User.verification","tags":["users"],"summary":"/users/{user_id}/verify","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{},"channel":{"enum":[1,2,3,4],"type":"integer"},"code":{"maxLength":8,"minLength":4,"type":"string"},"country_phone_code":{}},"required":["channel"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/wallets":{"get":{"operationId":"Wallet.findAll","tags":["users"],"summary":"/users/{user_id}/wallets","description":"List wallets belonging to the selected user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Wallet"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` contains the projection documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/wallets/{wallet_id}":{"get":{"operationId":"Wallet.find","tags":["users"],"summary":"/users/{user_id}/wallets/{wallet_id}","description":"Retrieve the selected wallet belonging to a user.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Wallet.update","tags":["users"],"summary":"/users/{user_id}/wallets/{wallet_id}","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"locked":{"type":"boolean"},"locked_reason":{}},"required":["locked"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/wallets/{wallet_id}/events":{"get":{"operationId":"WalletEvent.findAll","tags":["users"],"summary":"/users/{user_id}/wallets/{wallet_id}/events","description":"List events from the selected user wallet.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"WalletEvent.register","tags":["users"],"summary":"/users/{user_id}/wallets/{wallet_id}/events","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount":{"maximum":2147483647,"minimum":-2147483648,"type":"number"},"description":{}},"required":["amount"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user_id}/wallets/{wallet_id}/events/{wallet_event_id}":{"get":{"operationId":"WalletEvent.find","tags":["users"],"summary":"/users/{user_id}/wallets/{wallet_id}/events/{wallet_event_id}","description":"Retrieve the selected event from a user wallet.","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"wallet_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"wallet_event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user}":{"delete":{"operationId":"User.delete","tags":["users"],"summary":"/users/{user}","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"User.find.users_user","tags":["users"],"summary":"/users/{user}","description":"Returns one user by ID. See the [Get user guide](https://docs.ordering.co/api-reference/guides/get-user) for access-level restrictions and SDK usage.","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"in":"query","name":"delivery_block_from","required":false,"schema":{"type":"string"}},{"in":"query","name":"delivery_block_to","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful envelope. `result` uses the conservative public User projection."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"User.update.users_user","tags":["users"],"summary":"/users/{user}","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdateRequest"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful envelope. `result` uses the conservative public User projection."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user}/notification_tokens":{"get":{"operationId":"NotificationToken.findAll","tags":["users"],"summary":"/users/{user}/notification_tokens","description":"List notification tokens for the selected user.","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"NotificationToken.register","tags":["users"],"summary":"/users/{user}/notification_tokens","description":"Create a notification token for the selected user.","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"app":{"type":"string"},"provider":{},"token":{"type":"string"},"user_id":{"type":"integer"}},"required":["app","token","user_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user}/notification_tokens/{notification_token}":{"delete":{"operationId":"NotificationToken.delete","tags":["users"],"summary":"/users/{user}/notification_tokens/{notification_token}","description":"Delete the selected notification token.","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"notification_token","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users/{user}/reviews":{"get":{"operationId":"User.reviews","tags":["users"],"summary":"/users/{user}/reviews","description":"List completed orders for the selected user that are eligible for a review.","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"properties":{"id":{"type":["string","number","integer","boolean","object","array","null"]}},"type":"object"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/users_new.csv":{"get":{"operationId":"User.new_csv","tags":["users_new.csv"],"summary":"/users_new.csv","parameters":[{"in":"query","name":"orders_count_condition","schema":{"enum":["eq","ge","gt","le","lt","ne"],"type":"string"}},{"in":"query","name":"orders_count_value","schema":{"type":"integer"}},{"in":"query","name":"version","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. `result` returns a JSON object with the documented keys."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/validation_field_order_types":{"get":{"operationId":"ValidationFieldOrderType.findAll","tags":["validation_field_order_types"],"summary":"/validation_field_order_types","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/validation_field_sites":{"get":{"operationId":"ValidationFieldSite.findAll","tags":["validation_field_sites"],"summary":"/validation_field_sites","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/validationfields":{"get":{"operationId":"ValidationField.findAll","tags":["validationfields"],"summary":"/validationfields","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"in":"query","name":"mode","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]},"post":{"operationId":"ValidationField.register","tags":["validationfields"],"summary":"/validationfields","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"name":{},"required":{"type":"boolean"},"status":{"type":"boolean"},"type":{}},"required":["code","name","required","status","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/validationfields/{validationfield_id}":{"delete":{"operationId":"ValidationField.delete","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ValidationField.find","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ValidationField.update","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"code":{},"name":{},"required":{"type":"boolean"},"status":{"type":"boolean"},"type":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/validationfields/{validationfield_id}/order_types/{order_type_id}":{"delete":{"operationId":"ValidationFieldOrderType.delete","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/order_types/{order_type_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"order_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ValidationFieldOrderType.find","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/order_types/{order_type_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"order_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ValidationFieldOrderType.register","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/order_types/{order_type_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"order_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"},"required_with_guest":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ValidationFieldOrderType"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized ValidationFieldOrderType instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ValidationFieldOrderType.update","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/order_types/{order_type_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"order_type_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"},"required_with_guest":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/validationfields/{validationfield_id}/sites/{site_id}":{"delete":{"operationId":"ValidationFieldSite.delete","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/sites/{site_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"site_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"ValidationFieldSite.find","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/sites/{site_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"site_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"ValidationFieldSite.register","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/sites/{site_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"site_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/ValidationFieldSite"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized ValidationFieldSite instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"ValidationFieldSite.update","tags":["validationfields"],"summary":"/validationfields/{validationfield_id}/sites/{site_id}","parameters":[{"in":"path","name":"validationfield_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"site_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/webhooks":{"get":{"operationId":"Webhook.findAll","tags":["webhooks"],"summary":"/webhooks","description":"List webhooks for the current project.","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"items":{"type":"object"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"Webhook.register","tags":["webhooks"],"summary":"/webhooks","description":"Create a webhook for the current project.","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"delay":{"minLength":1,"type":"string"},"hook":{"type":"string"},"url":{"type":"string"}},"required":["hook","url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/webhooks/dispatch":{"post":{"operationId":"Webhook.manual_dispatch","tags":["webhooks"],"summary":"/webhooks/dispatch","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"contentMediaType":"application/json","maxLength":20000,"type":"string"},"delay":{"maximum":864000,"type":"integer"},"headers":{},"query_params":{},"url":{}},"required":["url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/webhooks/services/subscribe":{"post":{"operationId":"WebhookService.subscribe","tags":["webhooks"],"summary":"/webhooks/services/subscribe","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"hook":{},"id":{},"platform":{},"url":{}},"required":["hook","id","platform","url"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Webhook"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Webhook instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/webhooks/services/unsubscribe":{"delete":{"operationId":"WebhookService.unsubscribe","tags":["webhooks"],"summary":"/webhooks/services/unsubscribe","parameters":[{"in":"query","name":"id","required":true,"schema":{"minLength":1,"type":"string"}},{"in":"query","name":"platform","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Webhook"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Webhook instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/webhooks/{webhook}":{"delete":{"operationId":"Webhook.delete","tags":["webhooks"],"summary":"/webhooks/{webhook}","description":"Delete the selected webhook.","parameters":[{"in":"path","name":"webhook","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"type":"string"}},"type":"object"}]}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"Webhook.update","tags":["webhooks"],"summary":"/webhooks/{webhook}","description":"Update the selected webhook.","parameters":[{"in":"path","name":"webhook","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"delay":{"minLength":1,"type":"string"},"hook":{"type":"string"},"url":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/xml/sitemap":{"get":{"operationId":"Xml.sitemap","tags":["xml"],"summary":"/xml/sitemap","parameters":[{"in":"query","name":"hash","schema":{"type":"string"}},{"in":"query","name":"url","schema":{"type":"string"}}],"responses":{"200":{"content":{"text/xml":{"schema":{"type":"string"}}},"description":"File or text response with the media type documented for the operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}}},"description":"Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}}}},"/zapier/business/create":{"post":{"operationId":"Business.register_zapier","tags":["zapier"],"summary":"/zapier/business/create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{},"ribbon":{},"schedule":{},"snooze_until":{},"types":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/business/{business}/update":{"post":{"operationId":"Business.update_zapier","tags":["zapier"],"summary":"/zapier/business/{business}/update","parameters":[{"in":"path","name":"business","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"agents":{},"city_id":{},"email":{},"enabled":{},"order_default_priority":{},"owner_id":{},"owners":{},"ribbon":{},"schedule":{},"slug":{},"snooze_until":{},"tax_id":{},"taxes":{},"types":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/orders":{"post":{"operationId":"Order.findAll.zapier_orders","tags":["zapier"],"summary":"/zapier/orders","parameters":[{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"customer_phone":{"type":"string"},"limit":{},"mode":{"type":"string"},"scope":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/orders/{order_id}/find":{"post":{"operationId":"Order.find","tags":["zapier"],"summary":"/zapier/orders/{order_id}/find","parameters":[{"in":"path","name":"order_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"X-uuid-access-X","required":false,"schema":{"type":"string"}},{"$ref":"#/components/parameters/SparseFieldset"}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"mode":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[]}},"/zapier/orders/{order}/update":{"post":{"operationId":"Order.update","tags":["zapier"],"summary":"/zapier/orders/{order}/update","parameters":[{"in":"path","name":"order","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Forwarded-For","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-Internal-Product-X","required":false,"schema":{"type":"string"}},{"in":"header","name":"X-APP-X","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{},"comment":{},"customer":{},"customer_id":{},"delivered_at":{},"delivered_in":{},"delivery_datetime":{},"delivery_position":{},"delivery_type":{},"delivery_zone_id":{},"delivery_zone_price":{},"driver_company_id":{"type":"string"},"driver_id":{},"driver_tip":{},"eta_drive_time":{},"eta_time":{},"external_driver_id":{},"external_driver_name":{},"external_driver_phone":{},"external_driver_photo":{},"external_id":{},"fraud_message":{},"fraud_status":{},"location":{},"manual_driver_assignment_comment":{},"meta_location":{},"mode":{"type":"string"},"offer_id":{},"order_group_id":{},"pay_data":{},"paymethod_id":{},"prepared_in":{},"priority":{},"products":{},"reasons":{"type":"string"},"refund_data":{},"reject_reason":{},"spot_number":{},"status":{"type":"integer"},"status_image_file":{},"track_url":{},"vehicle":{"properties":{"car_registration":{},"color":{},"model":{},"type":{}},"required":["car_registration","color","model","type"],"type":"object"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]},{"driverCompanyKey":[]}]}},"/zapier/products/create":{"post":{"operationId":"Product.register_zapier","tags":["zapier"],"summary":"/zapier/products/create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"category_id":{"type":"integer"}},"required":["business_id","category_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/products/{product}/update":{"post":{"operationId":"Product.update_zapier","tags":["zapier"],"summary":"/zapier/products/{product}/update","parameters":[{"in":"path","name":"product","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"business_id":{"type":"integer"},"category_id":{"type":"integer"}},"required":["business_id","category_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/users/create":{"post":{"operationId":"User.register.zapier_users_create","tags":["zapier"],"summary":"/zapier/users/create","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"cellphone":{"type":"string"},"city_id":{},"driver_groups_ids":{},"email":{"type":"string"},"guest_token":{"type":"string"},"level":{},"notification_app":{},"notification_provider":{},"notification_token":{},"password":{"writeOnly":true},"products":{},"recaptcha_type":{"type":"string"},"schedule":{},"settings":{},"verification_code":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/User"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized User instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/users/{user}/find":{"post":{"operationId":"User.find.zapier_users_user_find","tags":["zapier"],"summary":"/zapier/users/{user}/find","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"delivery_block_from":{"type":"string"},"delivery_block_to":{"type":"string"}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/zapier/users/{user}/update":{"post":{"operationId":"User.update.zapier_users_user_update","tags":["zapier"],"summary":"/zapier/users/{user}/update","parameters":[{"in":"path","name":"user","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"header","name":"User-Agent","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"available":{"type":"boolean"},"businesses":{},"busy":{"type":"boolean"},"cellphone":{"type":"string"},"city_id":{},"country_phone_code":{"type":"string"},"email":{"type":"string"},"enabled":{"type":"boolean"},"guest_token":{},"level":{"type":"integer"},"password":{"writeOnly":true},"protected":{"type":"boolean"},"schedule":{},"verification_code":{}},"type":"object"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/businesses":{"get":{"operationId":"Business.findAll.internal_name_businesses","tags":["internal_name"],"summary":"/{internal_name}/businesses","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Business"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Business projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/businesses/{business_id}":{"get":{"operationId":"Business.find.internal_name_businesses_business_id","tags":["internal_name"],"summary":"/{internal_name}/businesses/{business_id}","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/Business"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the serialized Business instance ($fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/businesses/{business_id}/catalog":{"get":{"operationId":"BusinessMenu.catalog","tags":["internal_name"],"summary":"/{internal_name}/businesses/{business_id}/catalog","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"},{"in":"query","name":"only_enabled","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/businesses/{business_id}/categories":{"get":{"operationId":"BusinessCategory.findAll","tags":["internal_name"],"summary":"/{internal_name}/businesses/{business_id}/categories","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Category"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Category projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/businesses/{business_id}/menus":{"get":{"operationId":"BusinessMenu.findAll","tags":["internal_name"],"summary":"/{internal_name}/businesses/{business_id}/menus","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"in":"path","name":"business_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/ParamsTree"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"},{"in":"query","name":"only_enabled","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/Menu"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the Menu projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error response for the code declared by the operation. See `result` for available details. Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/products/external/{product_external_id}":{"get":{"operationId":"Product.find_external_id","tags":["internal_name"],"summary":"/{internal_name}/products/external/{product_external_id}","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"in":"path","name":"product_external_id","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{internal_name}/products/{product_id}":{"get":{"operationId":"Product.find_id","tags":["internal_name"],"summary":"/{internal_name}/products/{product_id}","parameters":[{"in":"path","name":"internal_name","required":true,"schema":{"enum":["dashboard","backoffice","admin"],"type":"string"}},{"in":"path","name":"product_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{target}/{target_id}/calendar_events":{"get":{"operationId":"CalendarEvent.findAll","tags":["target"],"summary":"/{target}/{target_id}/calendar_events","parameters":[{"in":"path","name":"target","required":true,"schema":{"enum":["users","business"],"type":"string"}},{"in":"path","name":"target_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"},{"$ref":"#/components/parameters/OrderBy"},{"$ref":"#/components/parameters/Where"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/EnvelopePaginated"},{"properties":{"result":{"items":{"$ref":"#/components/schemas/CalendarEvent"},"type":"array"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the CalendarEvent projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}},"/{target}/{target_id}/calendar_events/{calendar_event_id}":{"delete":{"operationId":"CalendarEvent.delete","tags":["target"],"summary":"/{target}/{target_id}/calendar_events/{calendar_event_id}","parameters":[{"in":"path","name":"target","required":true,"schema":{"enum":["users","business"],"type":"string"}},{"in":"path","name":"target_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"calendar_event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"get":{"operationId":"CalendarEvent.find","tags":["target"],"summary":"/{target}/{target_id}/calendar_events/{calendar_event_id}","parameters":[{"in":"path","name":"target","required":true,"schema":{"enum":["users","business"],"type":"string"}},{"in":"path","name":"target_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"calendar_event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"$ref":"#/components/parameters/SparseFieldset"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"properties":{"result":{"$ref":"#/components/schemas/CalendarEvent"}},"type":"object"}]}}},"description":"Successful envelope. `result` is the CalendarEvent projection requested in ?params (by default, $fillable minus $hidden)."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"post":{"operationId":"CalendarEvent.update.post","tags":["target"],"summary":"/{target}/{target_id}/calendar_events/{calendar_event_id}","parameters":[{"in":"path","name":"target","required":true,"schema":{"enum":["users","business"],"type":"string"}},{"in":"path","name":"target_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"calendar_event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"professional_id":{"type":"integer"},"service_start":{"type":"string"}},"required":["professional_id","service_start"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]},"put":{"operationId":"CalendarEvent.update.put","tags":["target"],"summary":"/{target}/{target_id}/calendar_events/{calendar_event_id}","parameters":[{"in":"path","name":"target","required":true,"schema":{"enum":["users","business"],"type":"string"}},{"in":"path","name":"target_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}},{"in":"path","name":"calendar_event_id","required":true,"schema":{"pattern":"^[0-9]+$","type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"professional_id":{"type":"integer"},"service_start":{"type":"string"}},"required":["professional_id","service_start"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful envelope. The `result` content varies by operation and is returned as JSON."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope (error=true). Validation and business errors share this code."},"401":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/ProjectAccessErrorResponse"}]}}},"description":"Error envelope: missing or invalid session, or a user level outside those allowed. Error response for the code declared by the operation. See `result` for available details. Error envelope: the project does not exist or has no active subscription."},"404":{"description":"Empty response: the requested API version is not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: a project usage limit was exceeded (or the subject is banned). Includes Retry-After and X-RateLimit-Limit/Remaining/Reset/Scope/Key."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: project lookup or initialization failed."},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error envelope: the application is temporarily under maintenance. Error envelope: the project is temporarily under maintenance, or usage limits could not be evaluated and the applicable limit is configured with on_error = closed (Retry-After: 1 header)."}},"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}]}}},"components":{"parameters":{"OrderBy":{"description":"Field to sort by, with `-` prefixed for descending order. Multiple fields can be chained with commas.","in":"query","name":"orderBy","required":false,"schema":{"type":"string"}},"Page":{"description":"Page number, starting at 1. Applies only to lists that return a pagination block.","in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},"PageSize":{"description":"Number of items per page.","in":"query","name":"page_size","required":false,"schema":{"minimum":1,"type":"integer"}},"ParamsTree":{"in":"query","name":"params","required":false,"schema":{"type":"string"}},"SparseFieldset":{"description":"Comma-separated list of fields. It is intersected with the model’s $fillable; an empty or invalid list returns all fields.","in":"query","name":"params","required":false,"schema":{"type":"string"}},"Where":{"description":"JSON filter over the fields the model declares as filterable. Valid fields for each resource are exposed in its `x-ordering-whereable` schema extension.","in":"query","name":"where","required":false,"schema":{"contentMediaType":"application/json","type":"string"}}},"schemas":{"AIConversation":{"properties":{"agent_id":{"type":["integer","null"]},"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"franchise_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"last_message_at":{"format":"date-time","type":["string","null"]},"platform_invoice_id":{"type":["integer","null"]},"status":{},"status_reason":{},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"usage":{"type":["object","array","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"AIConversationMessage":{"properties":{"audio":{"type":["object","array","null"]},"audio_file":{},"channel_message_id":{"type":["integer","null"]},"code":{},"conversation_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"extra_model_attributes":{"additionalProperties":true,"type":["object","null"]},"flagged_reason":{},"group_rank":{},"id":{"type":["integer","null"]},"is_ai_relevant":{"type":["boolean","null"]},"is_flagged":{"type":["boolean","null"]},"is_public":{"type":["boolean","null"]},"label":{},"message":{},"role":{},"sent_at":{"format":"date-time","type":["string","null"]},"suggestions":{"type":["object","array","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"usage":{"type":["object","array","null"]}},"type":"object"},"AIConversationMessageProjection":{"properties":{"audio":{"type":["object","array","null"]},"channel_message_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"group_rank":{},"id":{"type":["integer","null"]},"message":{},"role":{},"suggestions":{"type":["object","array","null"]}},"type":"object"},"AIConversationProjection":{"properties":{"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"franchise_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"last_message_at":{"format":"date-time","type":["string","null"]},"messages_count":{"type":["integer","null"]},"status":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"Business":{"properties":{"about":{"type":["string","null"]},"address":{"type":["string","null"]},"address_notes":{},"alcohol":{},"always_deliver":{},"business_payment_account_id":{"type":["integer","null"]},"cancel_order_after_minutes":{},"cellphone":{"type":["string","null"]},"city_id":{"type":["integer","null"]},"city_name":{"type":["string","null"]},"country":{"type":["string","null"]},"country_code":{"type":["string","null"]},"created_at":{"format":"date-time","type":["string","null"]},"currency":{},"deleted_at":{"format":"date-time","type":["string","null"]},"delivery_price":{"type":["number","null"]},"delivery_tax_rate":{"type":["number","null"]},"delivery_tax_type":{},"delivery_time":{},"description":{"type":["string","null"]},"disabled_reason":{"type":["string","null"]},"email":{"type":["string","null"]},"enabled":{"type":["boolean","null"]},"eta_status_times":{"additionalProperties":true,"type":["object","null"]},"eta_variation_time":{"type":["integer","null"]},"external_id":{"type":["integer","null"]},"facebook_profile":{},"featured":{"type":["boolean","null"]},"fixed_usage_fee":{"type":["number","null"]},"food":{},"franchise_id":{"type":["integer","null"]},"front_layout":{"type":["string","null"]},"groceries":{},"header":{"type":["string","null"]},"id":{"type":["integer","null"]},"instagram_profile":{},"laundry":{},"locality":{"type":["string","null"]},"location":{"additionalProperties":true,"type":["object","null"]},"logo":{"type":["string","null"]},"maximum":{},"minimum":{"type":["number","null"]},"name":{"type":["string","null"]},"neighborhood":{"type":["string","null"]},"order_default_priority":{},"owner_id":{"type":["integer","null"]},"parent_business_id":{"type":["integer","null"]},"percentage_usage_fee":{"type":["number","null"]},"phone":{"type":["string","null"]},"pickup_time":{},"pinterest_profile":{},"preorder_time":{},"price_level":{},"printer_id":{"type":["integer","null"]},"route":{"type":["string","null"]},"schedule":{"additionalProperties":true,"type":["object","null"]},"schedule_ranges":{"type":["string","null"]},"seo_description":{"type":["string","null"]},"seo_image":{"type":["string","null"]},"seo_title":{"type":["string","null"]},"service_fee":{"type":["number","null"]},"site_id":{"type":["integer","null"]},"slug":{"type":["string","null"]},"snapchat_profile":{},"snooze_until":{},"state":{"type":["string","null"]},"state_code":{"type":["string","null"]},"street_number":{"type":["string","null"]},"sublocality":{"type":["string","null"]},"tax":{"type":["number","null"]},"tax_id":{"type":["integer","null"]},"tax_type":{},"tiktok_profile":{},"timezone":{"type":["string","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"use_printer":{},"vertical":{},"whatsapp_number":{},"zipcode":{}},"type":"object"},"BusinessLoyaltyPlan":{"properties":{"accumulates":{"type":["boolean","null"]},"accumulation_rate":{"type":["number","null"]},"business_id":{"type":["number","null"]},"expire_after_minutes":{},"id":{"type":["integer","null"]},"loyalty_plan_id":{"type":["number","null"]},"maximum_accumulation":{"type":["number","null"]},"maximum_redemption_rate":{"type":["number","null"]},"maximum_redemption_type":{},"redeems":{"type":["boolean","null"]},"redemption_rate":{"type":["number","null"]}},"type":"object"},"BusinessThirdPartyIntegration":{"properties":{"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"enabled":{},"external_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"setup_status":{},"third_party_integration_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"CalendarEvent":{"properties":{"cart_product_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"description":{},"duration":{},"end":{"format":"date-time","type":["string","null"]},"external_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"is_recurrent":{},"name":{},"order_id":{"type":["integer","null"]},"order_product_id":{"type":["integer","null"]},"recurrent_rule":{},"reserved_until":{"format":"date-time","type":["string","null"]},"start":{"format":"date-time","type":["string","null"]},"status":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"Cart":{"properties":{"address":{"additionalProperties":true,"type":["object","null"]},"address_id":{"type":["integer","null"]},"agent_id":{"type":["integer","null"]},"business_id":{"type":["integer","null"]},"cart_group_id":{"type":["integer","null"]},"comment":{},"conversation_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"delivery_option_id":{"type":["integer","null"]},"delivery_zone_id":{"type":["integer","null"]},"driver_tip":{},"driver_tip_rate":{"type":["number","null"]},"id":{"type":["integer","null"]},"moment":{"format":"date-time","type":["string","null"]},"offer_id":{"type":["integer","null"]},"on_behalf_of":{},"order_id":{"type":["integer","null"]},"order_type":{},"pay_reference":{},"paymethod_data":{"additionalProperties":true,"type":["object","null"]},"paymethod_id":{"type":["integer","null"]},"place_id":{"type":["integer","null"]},"request_data":{"additionalProperties":true,"type":["object","null"]},"reservation":{"additionalProperties":true,"type":["object","null"]},"site_id":{"type":["integer","null"]},"spot_number":{"type":["integer","null"]},"status":{},"student_id":{"type":["integer","null"]},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]},"uuid":{},"vehicle":{"additionalProperties":true,"type":["object","null"]}},"type":"object"},"CartDashboardProjection":{"properties":{"address":{"additionalProperties":true,"type":["object","null"]},"address_id":{"type":["integer","null"]},"agent_id":{"type":["integer","null"]},"business_id":{"type":["integer","null"]},"cart_group_id":{"type":["integer","null"]},"comment":{},"conversation_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"delivery_option_id":{"type":["integer","null"]},"delivery_zone_id":{"type":["integer","null"]},"driver_tip":{},"driver_tip_rate":{"type":["number","null"]},"id":{"type":["integer","null"]},"moment":{"format":"date-time","type":["string","null"]},"offer_id":{"type":["integer","null"]},"on_behalf_of":{},"order_id":{"type":["integer","null"]},"order_type":{},"pay_reference":{},"paymethod_data":{"additionalProperties":true,"type":["object","null"]},"paymethod_id":{"type":["integer","null"]},"place_id":{"type":["integer","null"]},"reservation":{"additionalProperties":true,"type":["object","null"]},"site_id":{"type":["integer","null"]},"spot_number":{"type":["integer","null"]},"status":{},"student_id":{"type":["integer","null"]},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]},"uuid":{},"vehicle":{"additionalProperties":true,"type":["object","null"]}},"type":"object"},"CartGroup":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"status":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]},"uuid":{}},"type":"object"},"CartProduct":{"properties":{"cart_id":{"type":["integer","null"]},"code":{},"comment":{},"id":{"type":["integer","null"]},"ingredients":{"additionalProperties":true,"type":["object","null"]},"options":{"additionalProperties":true,"type":["object","null"]},"priority":{"type":["integer","null"]},"product_id":{"type":["integer","null"]},"quantity":{"type":["number","null"]},"status":{"type":["integer","null"]}},"type":"object"},"Category":{"properties":{"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":["boolean","null"]},"external_id":{"type":["integer","null"]},"header":{"type":["string","null"]},"id":{"type":["integer","null"]},"image":{"type":["string","null"]},"name":{"type":["string","null"]},"parent_category_id":{"type":["integer","null"]},"preparation_day_of_week":{"type":["integer","null"]},"rank":{"type":["number","null"]},"seo_description":{"type":["string","null"]},"seo_image":{"type":["string","null"]},"seo_title":{"type":["string","null"]},"slug":{"type":["string","null"]},"snooze_until":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"CategoryProjection":{"properties":{"id":{"type":["integer","null"]}},"type":"object"},"Config":{"properties":{"can_replaced_by_businesses":{},"can_replaced_by_sites":{},"config_category_id":{"type":["integer","null"]},"customizable":{},"dependency_key":{},"dependency_value":{},"description":{},"enabled":{},"hidden":{},"id":{"type":["integer","null"]},"image":{},"key":{},"more_info":{},"name":{},"options":{"type":["object","array","null"]},"protected":{},"public":{},"rank":{},"support_url":{},"type":{},"value":{},"video":{}},"type":"object"},"DeliveryBlock":{"properties":{"break_end":{"format":"date-time","type":["string","null"]},"break_start":{"format":"date-time","type":["string","null"]},"created_at":{"format":"date-time","type":["string","null"]},"description":{},"end":{"format":"date-time","type":["string","null"]},"group":{},"id":{"type":["integer","null"]},"name":{},"rrule":{},"start":{"format":"date-time","type":["string","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"DeliveryZone":{"properties":{"address":{},"business_id":{"type":["integer","null"]},"data":{"additionalProperties":true,"type":["object","null"]},"data_geography":{},"data_geography_gist":{},"dropdown_option_id":{"type":["integer","null"]},"enabled":{},"hourly_delivery_times":{"additionalProperties":true,"type":["object","null"]},"id":{"type":["integer","null"]},"minimum":{"type":["number","null"]},"name":{},"owner_type":{},"price":{"type":["number","null"]},"price_percentage":{"type":["number","null"]},"recipient":{},"schedule":{"additionalProperties":true,"type":["object","null"]},"schedule_ranges":{},"snooze_until":{},"type":{}},"type":"object"},"Envelope":{"properties":{"error":{"const":false,"type":"boolean"},"result":{}},"required":["error"],"type":"object"},"EnvelopePaginated":{"properties":{"error":{"const":false,"type":"boolean"},"pagination":{"$ref":"#/components/schemas/Pagination"},"result":{}},"required":["error"],"type":"object"},"ErrorResponse":{"properties":{"error":{"const":true,"type":"boolean"},"result":{"items":{"type":"string"},"type":"array"}},"required":["error","result"],"type":"object"},"Extra":{"properties":{"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":["boolean","null"]},"external_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"name":{"type":["string","null"]},"rank":{"type":["number","null"]},"snooze_until":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"ExtraOption":{"properties":{"allow_suboption_quantity":{"type":["boolean","null"]},"conditioned":{"type":["boolean","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"enabled":{"type":["boolean","null"]},"external_id":{"type":["integer","null"]},"extra_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"image":{"type":["string","null"]},"limit_suboptions_by_max":{"type":["boolean","null"]},"max":{"type":["integer","null"]},"min":{"type":["integer","null"]},"name":{"type":["string","null"]},"rank":{"type":["number","null"]},"respect_to":{"type":["integer","null"]},"snooze_until":{},"updated_at":{"format":"date-time","type":["string","null"]},"with_half_option":{"type":["boolean","null"]}},"type":"object"},"ExtraOptionSuboption":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"description":{"type":["string","null"]},"enabled":{"type":["boolean","null"]},"external_id":{"type":["string","null"]},"extra_option_id":{"type":["integer","null"]},"half_price":{"type":["number","null"]},"id":{"type":["integer","null"]},"image":{"type":["string","null"]},"is_alcohol":{"type":["boolean","null"]},"max":{"type":["integer","null"]},"name":{"type":["string","null"]},"preselected":{"type":["boolean","null"]},"price":{"type":["number","null"]},"rank":{"type":["number","null"]},"sku":{"type":["string","null"]},"snooze_until":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"GiftCard":{"properties":{"activated_at":{},"activated_user_id":{"type":["integer","null"]},"amount":{"type":["number","null"]},"author_id":{"type":["integer","null"]},"code":{},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"message":{},"order_product_id":{"type":["integer","null"]},"owner_id":{"type":["integer","null"]},"password":{},"status":{},"title":{},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_email":{},"user_name":{},"valid_from_date":{},"wallet_event_id":{"type":["integer","null"]}},"type":"object"},"Importer":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"mapping":{"additionalProperties":true,"type":["object","null"]},"name":{},"parent_importer_id":{"type":["integer","null"]},"slug":{},"type":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"Log":{"properties":{"author_id":{"type":["integer","null"]},"changes":{"additionalProperties":true,"type":["object","null"]},"client":{"additionalProperties":true,"type":["object","null"]},"created_at":{"format":"date-time","type":["string","null"]},"created_from":{},"event":{},"event_data":{"additionalProperties":true,"type":["object","null"]},"exception":{"additionalProperties":true,"type":["object","null"]},"files":{},"group_key":{},"id":{"type":["integer","null"]},"key":{},"message":{},"metadata":{"additionalProperties":true,"type":["object","null"]},"model":{},"model_id":{"type":["integer","null"]},"parent_model":{},"parent_model_id":{"type":["integer","null"]},"plugin_id":{"type":["integer","null"]},"request":{"additionalProperties":true,"type":["object","null"]},"response":{"additionalProperties":true,"type":["object","null"]},"type":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"LogFindAll":{"properties":{"author_id":{"type":["integer","null"]},"client":{"additionalProperties":true,"type":["object","null"]},"created_at":{"format":"date-time","type":["string","null"]},"created_from":{},"event":{},"event_data":{"additionalProperties":true,"type":["object","null"]},"files":{},"group_key":{},"id":{"type":["integer","null"]},"message":{},"metadata":{"additionalProperties":true,"type":["object","null"]},"model":{},"model_id":{"type":["integer","null"]},"parent_model":{},"parent_model_id":{"type":["integer","null"]},"plugin_id":{"type":["integer","null"]},"type":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"LoyaltyLevel":{"properties":{"accumulation_rate":{"type":["number","null"]},"benefits":{"type":["object","array","null"]},"created_at":{"format":"date-time","type":["string","null"]},"description":{},"expire_after_minutes":{},"id":{"type":["integer","null"]},"image":{},"maximum_accumulation_fixed":{"type":["number","null"]},"maximum_accumulation_percentage":{"type":["number","null"]},"minimum_points":{"type":["integer","null"]},"name":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"LoyaltyPlan":{"properties":{"accumulation_rate":{"type":["number","null"]},"created_at":{"format":"date-time","type":["string","null"]},"expire_after_minutes":{},"id":{"type":["integer","null"]},"maximum_accumulation":{"type":["number","null"]},"maximum_redemption_rate":{"type":["number","null"]},"maximum_redemption_type":{},"name":{},"redemption_rate":{"type":["number","null"]},"type":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"MarketingCampaign":{"properties":{"audience_type":{},"contact_data":{"additionalProperties":true,"type":["object","null"]},"contact_type":{},"created_at":{"format":"date-time","type":["string","null"]},"enabled":{},"end_at":{},"id":{"type":["integer","null"]},"loops":{},"name":{},"scheduled_at":{},"status":{},"tracking_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"MarketingCampaignCondition":{"properties":{"condition":{},"created_at":{"format":"date-time","type":["string","null"]},"date":{},"date_condition":{},"id":{"type":["integer","null"]},"marketing_campaign_id":{"type":["integer","null"]},"max_date":{},"max_value":{},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"value":{}},"type":"object"},"MarketingCampaignUser":{"properties":{"attempts":{},"bounced_at":{},"canceled_at":{},"clicked_at":{},"complained_at":{},"created_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"marketing_campaign_id":{"type":["integer","null"]},"open_at":{},"queued_at":{},"sent_at":{},"tracking_id":{"type":["integer","null"]},"unsubscribed_at":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"Markup":{"properties":{"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"delivery_type":{},"enabled":{"type":["boolean","null"]},"id":{"type":["integer","null"]},"name":{},"rounding_values":{"type":["object","array","null"]},"rules":{"additionalProperties":true,"type":["object","null"]},"site_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"McpToken":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"data_notice_accepted_at":{"format":"date-time","type":["string","null"]},"data_notice_language":{},"data_notice_version":{},"expires_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"kind":{},"last_used_at":{"format":"date-time","type":["string","null"]},"name":{},"prefix":{},"revoked_at":{"format":"date-time","type":["string","null"]},"scope":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"Menu":{"properties":{"all_products":{"type":["boolean","null"]},"business_id":{"type":["integer","null"]},"catering_delivery":{"type":["boolean","null"]},"catering_pickup":{"type":["boolean","null"]},"comment":{"type":["string","null"]},"curbside":{"type":["boolean","null"]},"delivery":{"type":["boolean","null"]},"driver_thru":{"type":["boolean","null"]},"eatin":{"type":["boolean","null"]},"enabled":{"type":["boolean","null"]},"external_id":{"type":["string","null"]},"id":{"type":["integer","null"]},"name":{"type":["string","null"]},"pickup":{"type":["boolean","null"]},"reservation":{"type":["boolean","null"]},"schedule":{"additionalProperties":true,"type":["object","null"]},"schedule_ranges":{"type":["string","null"]},"seat_delivery":{"type":["boolean","null"]},"snooze_until":{},"use_business_schedule":{"type":["boolean","null"]}},"type":"object"},"Metafield":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"key":{},"model":{},"object_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"value":{},"value_type":{}},"type":"object"},"Occupation":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"description":{},"id":{"type":["integer","null"]},"image":{},"name":{},"rank":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"Offer":{"properties":{"auto":{},"business_id":{"type":["integer","null"]},"condition_type":{},"coupon":{},"description":{},"enabled":{},"end":{},"external_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"image":{},"include_options":{"type":["boolean","null"]},"include_products_with_offer":{},"label":{},"limit":{"type":["integer","null"]},"limit_per_user":{},"max_discount":{"type":["number","null"]},"minimum":{"type":["number","null"]},"name":{},"order_priority":{},"order_types_allowed":{"type":["object","array","null"]},"public":{},"rank":{"type":["number","null"]},"rate":{"type":["number","null"]},"rate_type":{},"schedule":{"type":["object","array","null"]},"sponsor":{},"stackable":{},"start":{},"target":{},"type":{},"user_order_count":{},"user_order_count_condition":{},"valid_from_after_user_last_order_minutes":{},"valid_until_after_user_last_order_minutes":{}},"type":"object"},"Order":{"properties":{"agent_id":{"type":["integer","null"]},"ai_agent_id":{"type":["integer","null"]},"app_id":{"type":["string","null"]},"business_id":{"type":["integer","null"]},"cart_group_id":{"type":["integer","null"]},"cash":{"type":["number","null"]},"cloned_order_id":{"type":["integer","null"]},"comment":{},"conversation_id":{"type":["integer","null"]},"country_code":{"type":["string","null"]},"coupon":{"type":["string","null"]},"created_at":{"format":"date","type":["string","null"]},"currency":{"type":["string","null"]},"currency_rates":{"type":["object","array","null"]},"customer_id":{"type":["integer","null"]},"delivered_in":{"type":["integer","null"]},"delivery_datetime":{"format":"date","type":["string","null"]},"delivery_datetime_utc":{"format":"date","type":["string","null"]},"delivery_option_id":{"type":["integer","null"]},"delivery_position":{"type":["integer","null"]},"delivery_type":{"type":["integer","null"]},"delivery_zone_id":{"type":["integer","null"]},"delivery_zone_price":{"type":["number","null"]},"discount":{"type":["number","null"]},"driver_company_id":{"type":["integer","null"]},"driver_group_id":{"type":["integer","null"]},"driver_id":{"type":["integer","null"]},"driver_tip":{"type":["number","null"]},"eta_drive_time":{"type":["integer","null"]},"eta_preparation_time":{"type":["integer","null"]},"eta_status_times":{"additionalProperties":true,"type":["object","null"]},"eta_time":{"type":["integer","null"]},"eta_variation_time":{"type":["integer","null"]},"expired_at":{"format":"date","type":["string","null"]},"external_driver_id":{"type":["integer","null"]},"external_id":{"type":["string","null"]},"fraud_message":{"type":["string","null"]},"fraud_status":{"type":["string","null"]},"has_items":{"type":["boolean","null"]},"id":{"type":["integer","null"]},"language_id":{"type":["integer","null"]},"last_direct_message_at":{"format":"date-time","type":["string","null"]},"last_driver_assigned_at":{"format":"date","type":["string","null"]},"last_general_message_at":{"format":"date-time","type":["string","null"]},"last_logistic_assign_at":{"format":"date","type":["string","null"]},"last_logistic_attempted_at":{"format":"date","type":["string","null"]},"last_manual_assign_at":{"format":"date","type":["string","null"]},"last_message_at":{"format":"date-time","type":["string","null"]},"locked":{"type":["boolean","null"]},"locked_at":{"format":"date-time","type":["string","null"]},"logistic_attemps":{"type":["integer","null"]},"logistic_status":{"type":["integer","null"]},"manual_driver_assignment_author_id":{"type":["integer","null"]},"manual_driver_assignment_comment":{},"offer":{"type":["number","null"]},"offer_id":{"type":["integer","null"]},"offer_rate":{"type":["number","null"]},"offer_type":{"type":["integer","null"]},"on_behalf_of":{"type":["string","null"]},"order_group_id":{"type":["integer","null"]},"pay_data":{"type":["string","null"]},"paymethod_data":{"additionalProperties":true,"type":["object","null"]},"paymethod_id":{"type":["integer","null"]},"place_id":{"type":["integer","null"]},"prepared_in":{"type":["integer","null"]},"priority":{"type":["integer","null"]},"refund_data":{"type":["string","null"]},"reject_reason":{"type":["string","null"]},"reporting_data":{"additionalProperties":true,"type":["object","null"]},"reservation":{"additionalProperties":true,"type":["object","null"]},"resolved_at":{"format":"date","type":["string","null"]},"service_fee":{"type":["number","null"]},"site_id":{"type":["integer","null"]},"spot_number":{"type":["integer","null"]},"status":{"type":["integer","null"]},"student_id":{"type":["integer","null"]},"summary":{"additionalProperties":true,"type":["object","null"]},"summary_version":{"type":["integer","null"]},"tax":{"type":["number","null"]},"tax_type":{"type":["integer","null"]},"time_status":{"type":["string","null"]},"to_print":{"type":["boolean","null"]},"track_url":{},"updated_at":{"format":"date","type":["string","null"]},"uuid":{"type":["string","null"]},"vehicle":{"additionalProperties":true,"type":["object","null"]}},"type":"object"},"OrderOption":{"properties":{"address_id":{"type":["integer","null"]},"city_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"moment":{"format":"date-time","type":["string","null"]},"type":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"OrderProduct":{"properties":{"allergens":{"type":["object","array","null"]},"calories":{"type":["number","null"]},"code":{"type":["string","null"]},"comment":{"type":["string","null"]},"cost_offer_price":{"type":["number","null"]},"cost_price":{"type":["number","null"]},"dietary_tags":{"type":["object","array","null"]},"external_id":{"type":["string","null"]},"id":{"type":["integer","null"]},"images":{"type":["string","null"]},"ingredients":{"additionalProperties":true,"type":["object","null"]},"name":{"type":["string","null"]},"offer_include_options":{"type":["boolean","null"]},"offer_rate":{"type":["number","null"]},"offer_rate_type":{"type":["integer","null"]},"order_id":{"type":["integer","null"]},"preparation_datetime":{"format":"date-time","type":["string","null"]},"price":{"type":["number","null"]},"priority":{"type":["integer","null"]},"product_id":{"type":["integer","null"]},"quantity":{"type":["integer","null"]},"status":{"type":["integer","null"]},"summary":{"additionalProperties":true,"type":["object","null"]},"upselling":{"type":["boolean","null"]},"weight":{"type":["number","null"]},"weight_unit":{"type":["string","null"]}},"type":"object"},"OrderProjection":{"properties":{"business_id":{"type":["integer","null"]},"id":{"type":["integer","null"]}},"type":"object"},"Pagination":{"description":"Pagination block. Names come directly from the helper, including the misspelled `fisrt_page` key, which coexists with `first_page`.","properties":{"back_page":{"type":["string","null"]},"current_page":{"type":["integer","null"]},"first_page":{"type":["string","null"]},"fisrt_page":{"type":["string","null"]},"from":{"type":["integer","null"]},"last_page":{"type":["string","null"]},"next_page":{"type":["string","null"]},"page_size":{"type":["integer","null"]},"to":{"type":["integer","null"]},"total":{"type":["integer","null"]},"total_pages":{"type":["integer","null"]}},"type":"object"},"Paymethod":{"properties":{"allow_with_zero_balance":{"type":["boolean","null"]},"created_at":{"format":"date-time","type":["string","null"]},"data_template":{"additionalProperties":true,"type":["object","null"]},"enabled":{"type":["boolean","null"]},"featured":{"additionalProperties":true,"type":["object","null"]},"gateway":{"type":["string","null"]},"id":{"type":["integer","null"]},"name":{"type":["string","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"version":{"type":["string","null"]}},"type":"object"},"Product":{"properties":{"allergens":{"type":["object","array","null"]},"barcode":{"type":["string","null"]},"barcode_alternative":{"type":["string","null"]},"calories":{"type":["number","null"]},"category_id":{"type":["integer","null"]},"cost_offer_price":{"type":["number","null"]},"cost_price":{"type":["number","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"description":{"type":["string","null"]},"dietary_tags":{"type":["object","array","null"]},"duration":{},"enabled":{"type":["boolean","null"]},"estimated_person":{"type":["integer","null"]},"external_id":{"type":["integer","null"]},"featured":{"type":["boolean","null"]},"fee_id":{"type":["integer","null"]},"hide_special_instructions":{"type":["boolean","null"]},"id":{"type":["integer","null"]},"images":{"type":["string","null"]},"in_offer":{"type":["boolean","null"]},"inventoried":{"type":["boolean","null"]},"is_alcohol":{"type":["boolean","null"]},"is_hidden":{"type":["boolean","null"]},"load_type":{"type":["string","null"]},"maximum_per_order":{"type":["integer","null"]},"minimum_per_order":{"type":["integer","null"]},"name":{"type":["string","null"]},"offer_include_options":{"type":["boolean","null"]},"offer_price":{"type":["number","null"]},"offer_rate":{"type":["number","null"]},"offer_rate_type":{"type":["integer","null"]},"price":{"type":["number","null"]},"quantity":{"type":["integer","null"]},"rank":{"type":["number","null"]},"seo_description":{"type":["string","null"]},"seo_image":{"type":["string","null"]},"seo_keywords":{"type":["string","null"]},"seo_title":{"type":["string","null"]},"sku":{"type":["string","null"]},"slug":{"type":["string","null"]},"snooze_until":{},"tax_id":{"type":["integer","null"]},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"upselling":{"type":["boolean","null"]},"weight":{"type":["number","null"]},"weight_unit":{"type":["string","null"]}},"type":"object"},"ProductProjection":{"properties":{"id":{"type":["integer","null"]}},"type":"object"},"ProjectAccessErrorResponse":{"properties":{"error":{"const":true,"type":"boolean"},"result":{"type":"string"}},"required":["error","result"],"type":"object"},"SchoolClassroom":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"name":{},"school_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"SchoolGrade":{"properties":{"code":{},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"name":{},"school_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"SchoolStudent":{"properties":{"allergies":{"type":["object","array","null"]},"classroom_id":{"type":["integer","null"]},"code":{},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"dietary_tags":{"type":["object","array","null"]},"grade_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"lastname":{},"name":{},"school_id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"SystemProjectCurrentProjection":{"properties":{"code":{},"current_status":{},"current_status_until":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"name":{}},"type":"object"},"ThirdPartyIntegration":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"enabled":{},"external_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"key":{},"logo":{},"name":{},"plugin_id":{"type":["integer","null"]},"plugin_root":{},"type":{},"updated_at":{"format":"date-time","type":["string","null"]}},"type":"object"},"User":{"additionalProperties":true,"description":"Conservative public User response projection. The API may return additional role-specific or relation fields; credentials, tokens, PINs, guest contact data, and internal-only flags are not part of this base contract.","properties":{"address":{"type":["string","null"]},"address_notes":{"type":["string","null"]},"available":{"type":["boolean","null"]},"birthdate":{"description":"Date with a four-digit year first.","type":["string","null"]},"busy":{"type":["boolean","null"]},"cellphone":{"type":["string","null"]},"country_phone_code":{"description":"Country calling code without plus signs or spaces.","type":["string","null"]},"created_at":{"format":"date-time","readOnly":true,"type":["string","null"]},"email":{"format":"email","type":["string","null"]},"email_verified":{"type":["boolean","null"]},"enabled":{"type":["boolean","null"]},"id":{"readOnly":true,"type":["integer","null"]},"lastname":{"type":["string","null"]},"level":{"description":"0 administrator; 1 legacy meaning pending confirmation; 2 business manager; 3 customer; 4 driver; 5 driver manager; 6 waiter; 7 waiter manager; 8 professional; 9 call-center agent.","type":["integer","null"]},"location":{"additionalProperties":true,"type":["object","null"]},"middle_name":{"type":["string","null"]},"name":{"type":["string","null"]},"phone_verified":{"type":["boolean","null"]},"photo":{"type":["string","null"]},"second_lastname":{"type":["string","null"]},"updated_at":{"format":"date-time","readOnly":true,"type":["string","null"]},"zipcode":{"type":["string","null"]}},"title":"User","type":"object"},"UserCreateRequest":{"additionalProperties":true,"description":"Create requirements vary by caller role and project configuration. A standard create requires email and password; privileged flows may accept either email or cellphone and may make password optional.","properties":{"cellphone":{"minLength":6,"type":"string"},"city_id":{"type":"integer"},"country_code":{"maxLength":2,"minLength":2,"type":"string"},"country_phone_code":{"minLength":1,"type":"string"},"email":{"format":"email","type":"string"},"lastname":{"minLength":1,"type":"string"},"level":{"maximum":9,"minimum":0,"type":"integer"},"location":{"additionalProperties":true,"type":"object"},"name":{"minLength":1,"type":"string"},"password":{"minLength":8,"type":"string","writeOnly":true},"schedule":{"additionalProperties":true,"type":"object"},"settings":{"additionalProperties":true,"type":"object"}},"type":"object"},"UserPaymethod":{"properties":{"business_id":{"type":["integer","null"]},"created_at":{"format":"date-time","type":["string","null"]},"deleted_at":{"format":"date-time","type":["string","null"]},"external_id":{"type":["string","null"]},"id":{"type":["integer","null"]},"paymethod_id":{"type":["integer","null"]},"sandbox":{"type":["boolean","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"UserProduct":{"properties":{"business_id":{"type":["integer","null"]},"id":{"type":["integer","null"]},"product_id":{"type":["integer","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"UserResponse":{"properties":{"error":{"const":false,"type":"boolean"},"result":{"$ref":"#/components/schemas/User"}},"required":["error","result"],"type":"object"},"UserSession":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"device":{"additionalProperties":true,"type":["object","null"]},"id":{"type":["integer","null"]},"token":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]},"valid":{"type":["boolean","null"]},"valid_thru":{"format":"date-time","type":["string","null"]}},"type":"object"},"UserSessionCurrentProjection":{"properties":{"created_at":{"format":"date-time","type":["string","null"]},"current":{"type":"boolean"},"device":{"additionalProperties":true,"type":["object","null"]},"id":{"type":["integer","null"]},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]},"valid":{"type":["boolean","null"]},"valid_thru":{"format":"date-time","type":["string","null"]}},"required":["current"],"type":"object"},"UserUpdateRequest":{"allOf":[{"$ref":"#/components/schemas/UserCreateRequest"}],"description":"Partial update. No ordinary profile field is unconditionally required. Authorization determines whether level and driver_zone_restriction are applied."},"ValidationFieldOrderType":{"properties":{"enabled":{},"id":{"type":["integer","null"]},"order_type_id":{"type":["integer","null"]},"required":{},"required_with_guest":{},"validation_field_id":{"type":["integer","null"]}},"type":"object"},"ValidationFieldSite":{"properties":{"enabled":{},"id":{"type":["integer","null"]},"required":{},"site_id":{"type":["integer","null"]},"validation_field_id":{"type":["integer","null"]}},"type":"object"},"Wallet":{"properties":{"balance":{"type":["number","null"]},"code":{},"created_at":{"format":"date-time","type":["string","null"]},"id":{"type":["integer","null"]},"locked":{"type":["boolean","null"]},"locked_at":{},"locked_reason":{},"type":{},"updated_at":{"format":"date-time","type":["string","null"]},"user_id":{"type":["integer","null"]}},"type":"object"},"Webhook":{"properties":{"delay":{},"disabled_reason":{},"disabled_until":{"format":"date-time","type":["string","null"]},"external_id":{"type":["integer","null"]},"external_id_source":{},"headers":{},"hook":{},"id":{"type":["integer","null"]},"query_params":{"type":["object","array","null"]},"retry_on_fail":{},"transformer":{"additionalProperties":true,"type":["object","null"]},"url":{}},"type":"object"}},"securitySchemes":{"apiKeyAuth":{"description":"Project or user API key, in the `X-Api-Key` header.","in":"header","name":"X-Api-Key","type":"apiKey"},"bearerAuth":{"bearerFormat":"JWT","description":"Session JWT sent in `Authorization: Bearer <token>`.","scheme":"bearer","type":"http"},"driverCompanyKey":{"description":"API key for a driver company in the `x-business-api-key-x` header.","in":"header","name":"x-business-api-key-x","type":"apiKey"}}}}
