> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stora.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Show a Deal

> Retrieve a specific deal by its ID.

Required authorization scope: `public.deal:read`




## OpenAPI

````yaml /2025-09/openapi.json get /2025-09/deals/{deal_id}
openapi: 3.1.1
info:
  title: Stora Public API
  version: 2025-09
  x-build-date: '2026-05-20'
  description: >-
    The Stora Public API gives you programmatic access to your self-storage
    business. Use it to build custom integrations, automate operational
    workflows, and sync data with the tools you already use.
  termsOfService: https://www.stora.co/terms-of-service
  contact:
    name: Stora Support
    url: https://www.stora.co/contact
servers:
  - url: https://public-api.stora.co
    description: Production
security: []
tags:
  - name: Contacts
    description: >-
      Contact is the end user of an operator’s storage business — an individual
      or company that inquires, books, signs agreements, and pays for storage.
  - name: Contract Templates
    description: >-
      Contract Template is a reusable contract blueprint. It contains the
      contract content with fillable fields and variables that Stora can
      pre‑fill at document generation time for a specific contact and tenancy.
  - name: Contracts
    description: >-
      Contract is a document generated from a contract template for a specific
      contact. It tracks the signing lifecycle, moving through statuses such as
      pending, signed, voided, declined, and deleted.
  - name: Coupons
    description: >-
      Coupon is a reusable promotion that reduces the price a contact pays by
      either a percentage or a fixed amount. It can be applied to eligible
      charges such as unit rent or product and may be limited by duration,
      number of uses, or scope.
  - name: Credit Notes
    description: >-
      Credit Note reduces or reverses part or all of a previously issued
      invoice. It references the original invoice and contact, along with the
      specified corrected amounts and taxes.
  - name: Deals
    description: >-
      Deal refers to the collection of information pertaining to a potential
      order including contact, site, unit types, protection.
  - name: Deals / Stages
    description: Deal Stage refers to the stages a deal transitions through.
  - name: Identity Verifications
    description: Identity Verification tracks the process of verifying a contacts identity.
  - name: Images
    description: >-
      Serves images associated with resources such as sites and unit types. The
      endpoint redirects to a temporary pre-signed storage URL where the image
      can be downloaded.
  - name: Invoices
    description: >-
      Invoice is a finalized billing document issued to a contact for their
      storage subscriptions and related charges. It itemizes line items like
      unit rent and protection, applies taxes and discounts, and tracks totals,
      balance due, and status over time.
  - name: Notes
    description: >-
      A note is a text annotation attached to a resource such as a contact,
      unit, subscription, or task. Notes capture observations, reminders, or
      context added by staff or integrations.
  - name: OAuth 2
    description: >-
      The Stora Public API supports two OAuth 2.0 flows. Use **Client
      Credentials** if you are an operator building your own integration. Use
      **Authorization Code** if you are a partner integrating on behalf of an
      operator.
  - name: Orders
    description: >-
      Order captures a contact’s intent to rent storage, including the selected
      site and unit type, move‑in date, pricing, and optional add‑ons like
      protection, products, and services. It tracks status over its lifecycle,
      and may lead to a subscription that bills on a recurring basis.
  - name: Orders / Line Items
    description: >-
      Order Line Items are the individual charges that make up an order. Each
      line item represents a product or service such as unit rent, protection,
      or a one‑off fee, and includes its quantity, unit price, and currency.
  - name: Product Categories
    description: >-
      Product Category groups related products and services into a logical
      classification used for pricing and display.
  - name: Products
    description: >-
      Product represents a sellable item or service offered by the operator. It
      defines attributes such as name, description, pricing model, currency, and
      category, which determine how it’s presented and billed.
  - name: Protection Levels
    description: >-
      Protection Level is an optional add‑on that protects a contact’s stored
      goods up to a chosen coverage amount. It’s priced and billed alongside
      storage, appears as its own product or line item, and follows the same tax
      and discount rules as other charges.
  - name: Sites
    description: >-
      Site is a single physical self‑storage location operated by the operator.
      It’s the container for everything specific to that location: units and
      unit types, pricing and taxes, access control, and reporting.
  - name: Staff
    description: >-
      Staff refers to a member of an organization who works on behalf of the
      operator.
  - name: Subscriptions
    description: >-
      Subscription is an ongoing billing agreement that charges a contact on a
      recurring schedule for storage and related services. It defines the
      billing period and active prices, accrues charges into invoices, and
      reflects proration, discounts, and taxes.
  - name: Tasks
    description: Tasks represent individual pieces of work or actions.
  - name: Tenancies
    description: >-
      Tenancy represents an ongoing storage agreement between a contact and an
      operator, tied to a site and one or more allocated units.
  - name: Timeline / Events
    description: >-
      An event represents a custom timeline entry created by an external
      integration, such as a CRM or messaging app.
  - name: Timeline / Sources
    description: >-
      A source represents the origin of a custom timeline event, such as an
      external CRM, or a custom integration.
  - name: Timeline / Templates
    description: >-
      A template defines the message format for a custom timeline event,
      including the Liquid template and available variables.
  - name: Unit Allocations
    description: >-
      Unit Allocation represents the assignment of a specific unit to a tenancy,
      tracking reservation and access details.
  - name: Unit Types
    description: >-
      Unit Type represents a standardized storage offering at a site, such as
      “50 sq ft indoor” or “20 ft container.” It defines core attributes used
      for pricing and availability, including size, features or access type, and
      display name.
  - name: Units
    description: >-
      Unit is a specific, bookable storage space at a site, for example “Unit
      A‑012” of a given unit type. It carries concrete attributes like
      identifier and status.
  - name: Webhook Endpoints
    description: >-
      Webhook endpoints are used to receive notifications when specific events
      occur in Stora. We will send a `POST` request to the endpoint with the
      event payload.
  - name: Webhooks
    description: >-
      Webhooks are HTTP callbacks that send real-time `POST` requests to your
      configured endpoints when specific events occur in Stora. When an event
      happens (such as an invoice being paid or a credit note being created),
      Stora will immediately send a webhook notification to all endpoints
      subscribed to that event type.
externalDocs:
  description: Stora Public API documentation website
  url: https://docs.stora.co/2025-09/
paths:
  /2025-09/deals/{deal_id}:
    parameters:
      - name: deal_id
        in: path
        description: The ID of the deal to retrieve
        required: true
        schema:
          type: string
    get:
      tags:
        - Deals
      summary: Show a Deal
      description: |
        Retrieve a specific deal by its ID.

        Required authorization scope: `public.deal:read`
      operationId: deal_show
      parameters:
        - name: expand
          explode: false
          in: query
          schema:
            type: array
            items:
              type: string
          description: >-
            This endpoint supports expandable responses. For more, see the
            [documentation
            page](https://docs.stora.co/2025-09/guides/responses#expanding-responses).
          required: false
      responses:
        '200':
          description: deal detail
          content:
            application/json:
              examples:
                default:
                  value:
                    deal:
                      id: deal_127b3057d5df338e
                      assignee:
                        id: staff_947b3057d5df338e
                      contact:
                        id: con_1234567890abcdef
                      created_at: '2025-02-22T14:41:00Z'
                      creator:
                        id: staff_947b3057d5df338e
                      line_items:
                        - item:
                            id: plvl_e8f3ad0a07e47566
                          quantity: 1
                          type: protection
                        - item:
                            id: utype_f18fc91387cdf710
                          quantity: 1
                          type: unit_type
                      lost_reason: null
                      metadata: {}
                      name: First Deal
                      note: £50 per month
                      site:
                        id: site_14b419f1096013f1
                      stage:
                        id: dstg_127b3057d5df338e
                      starts_at: null
                      status: open
                      updated_at: '2025-02-22T14:41:00Z'
                      value_estimate: £50 per month
                    meta:
                      request_id: 01563646-58c1-4607-8fe0-cae3e92c4477
                      curies:
                        - name: bo
                          href: https://app.stora.test{rel}
                          templated: true
                          title: Backoffice
                        - name: sf
                          href: https://acme.stora.test{rel}
                          templated: true
                          title: Storefront
                  summary: deal detail
                deleted_stage:
                  value:
                    deal:
                      id: deal_227b3057d5df338e
                      assignee: null
                      contact:
                        id: con_1234567890abcdef
                      created_at: '2025-02-22T14:41:00Z'
                      creator:
                        id: staff_947b3057d5df338e
                      line_items:
                        - item:
                            id: plvl_e8f3ad0a07e47566
                          quantity: 1
                          type: protection
                        - item:
                            id: utype_f18fc91387cdf710
                          quantity: 1
                          type: unit_type
                      lost_reason: null
                      metadata: {}
                      name: Archived Deal
                      note: £50 per month
                      site: null
                      stage:
                        created_at: '2025-02-22T14:41:00Z'
                        name: Second Stage - (Deleted)
                        position: 2
                        updated_at: '2025-02-22T14:41:00Z'
                      starts_at: null
                      status: open
                      updated_at: '2025-02-22T14:41:00Z'
                      value_estimate: £50 per month
                    meta:
                      request_id: 01563646-58c1-4607-8fe0-cae3e92c4477
                      curies:
                        - name: bo
                          href: https://app.stora.test{rel}
                          templated: true
                          title: Backoffice
                        - name: sf
                          href: https://acme.stora.test{rel}
                          templated: true
                          title: Storefront
                  summary: deal detail (with deleted stage)
                expanded:
                  value:
                    deal:
                      id: deal_127b3057d5df338e
                      assignee:
                        id: staff_947b3057d5df338e
                        created_at: '2025-02-22T14:41:00Z'
                        email: john@doe.com
                        name: John Doe
                        updated_at: '2025-02-22T14:41:00Z'
                      contact:
                        id: con_1234567890abcdef
                        address: null
                        company_registration_number: null
                        created_at: '2025-02-22T14:41:00Z'
                        email: example@email.com
                        full_name: Jane Doe
                        identity_check:
                          required: false
                          status: not_attempted
                        marketing_source: null
                        metadata: {}
                        phone_number: null
                        source: null
                        stripe_customer_id: null
                        tax_id: null
                        tenancies_count: 0
                        type: null
                        updated_at: '2025-02-22T14:41:00Z'
                        use_case: null
                      created_at: '2025-02-22T14:41:00Z'
                      creator:
                        id: staff_947b3057d5df338e
                        created_at: '2025-02-22T14:41:00Z'
                        email: john@doe.com
                        name: John Doe
                        updated_at: '2025-02-22T14:41:00Z'
                      line_items:
                        - item:
                            id: plvl_e8f3ad0a07e47566
                            account_code: null
                            cover_level:
                              amount: 2000000
                              currency: GBP
                              formatted: £20,000.00
                            created_at: '2025-02-22T14:41:00Z'
                            public: true
                            stripe_product_id: test_Sj6us30iGDiaXO
                            updated_at: '2025-02-22T14:41:00Z'
                          quantity: 1
                          type: protection
                        - item:
                            id: utype_f18fc91387cdf710
                            _links:
                              sf:new_order:
                                href: >-
                                  /sites/site-name-self-storage-units/order/contact-details?unit_type_slug=standard-storage-unit
                                title: New order
                            created_at: '2025-02-22T14:41:00Z'
                            dimensions:
                              height: 11
                              length: 12
                              measurement_unit: ft
                              width: 10
                            dynamic_pricing: false
                            images:
                              default: null
                            name: Standard Storage Unit
                            promotion: null
                            require_insurance_coverage: true
                            require_security_deposit: true
                            security_deposit:
                              amount: 5000
                              currency: GBP
                              formatted: £50.00
                            selling_points:
                              - Spacious
                              - Affordable
                              - Secure
                            size_description: 10x12 ft
                            slug: standard-storage-unit
                            status: bookable
                            stripe_product_id: test_Sj6uOSWhCLm5et
                            updated_at: '2025-02-22T14:41:00Z'
                          quantity: 1
                          type: unit_type
                      lost_reason: null
                      metadata: {}
                      name: First Deal
                      note: £50 per month
                      site:
                        id: site_14b419f1096013f1
                        access_hours: null
                        address: null
                        created_at: '2025-02-22T14:41:00Z'
                        description: null
                        directions:
                          google_maps_url: null
                        images:
                          default: null
                        name: Site Name
                        opened_at: null
                        phone: '012345789'
                        updated_at: '2025-02-22T14:41:00Z'
                      stage:
                        id: dstg_127b3057d5df338e
                        created_at: '2025-02-22T14:41:00Z'
                        name: first
                        position: 1
                        updated_at: '2025-02-22T14:41:00Z'
                      starts_at: null
                      status: open
                      updated_at: '2025-02-22T14:41:00Z'
                      value_estimate: £50 per month
                    meta:
                      request_id: 01563646-58c1-4607-8fe0-cae3e92c4477
                      curies:
                        - name: bo
                          href: https://app.stora.test{rel}
                          templated: true
                          title: Backoffice
                        - name: sf
                          href: https://acme.stora.test{rel}
                          templated: true
                          title: Storefront
                  summary: deal detail (fully expanded)
              schema:
                $ref: '#/components/schemas/deal_single'
      security:
        - Bearer:
            - public.deal:read
        - OAuth2:
            - public.deal:read
components:
  schemas:
    deal_single:
      type: object
      description: Single Deal
      additionalProperties: false
      properties:
        deal:
          $ref: '#/components/schemas/Deal'
        meta:
          $ref: '#/components/schemas/Meta'
    Deal:
      type: object
      description: Deal
      additionalProperties: false
      properties:
        id:
          type: string
          description: Unique identifier for the deal.
        name:
          type: string
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the deal.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the deal.
        value_estimate:
          type:
            - 'null'
            - string
          deprecated: true
          description: >-
            **Deprecated — will be removed. Use `note` instead.** Estimate of
            the total value of this deal to the operator. Can reflect storage
            fees alone, or the combined value of storage, insurance, and any
            additional services included in the deal.
        note:
          type:
            - 'null'
            - string
          description: >-
            Free-text note for the deal. Displayed under 'Deal value estimate'
            in Backoffice.
        status:
          type: string
          enum:
            - open
            - won
            - lost
          description: Status of the deal.
        lost_reason:
          type:
            - 'null'
            - string
          enum:
            - accessibility_concern
            - better_deal_elsewhere
            - chose_competitor
            - contract_terms
            - decided_not_to_use_storage
            - didnt_respond
            - due_to_unstaffed_site
            - facility_condition
            - financial_reasons
            - lack_of_response
            - location_issues
            - needs_extra_services
            - no_longer_needed
            - poor_customer_service
            - price_concerns
            - security_concerns
            - size_availability
            - timing
            - unable_to_reach_customer
            - unable_to_take_deliveries
            - other
            - null
          description: Reason for loss of deal if lost.
        site:
          description: >-
            Site associated with the deal. **Expandable** (shows only ID when
            not expanded).
          oneOf:
            - $ref: '#/components/schemas/Site'
            - type: 'null'
        contact:
          $ref: '#/components/schemas/Contact'
          description: >-
            Contact associated with the deal. **Expandable** (shows only ID when
            not expanded).
        starts_at:
          format: date-time
          type:
            - string
            - 'null'
          description: Start date of the deal.
        assignee:
          description: >-
            Staff member assigned to the deal. **Expandable** (shows only ID
            when not expanded).
          oneOf:
            - $ref: '#/components/schemas/Staff'
            - type: 'null'
        creator:
          description: >-
            Creator of the deal. Can be Staff, Access Token or Application.
            **Expandable** (shows only ID when not expanded).
          oneOf:
            - $ref: '#/components/schemas/Staff'
            - $ref: '#/components/schemas/AccessToken'
            - $ref: '#/components/schemas/Application'
        stage:
          $ref: '#/components/schemas/DealStage'
          description: >-
            Stage that the deal is currently in. **Expandable** (shows only ID
            when not expanded). Shows stage data with id omitted if the stage is
            deleted, noted by `- (Deleted)` in the `name` field.
        line_items:
          type: array
          description: >-
            List of line items associated with the deal. Each item references
            either a unit type or a protection level.
          items:
            $ref: '#/components/schemas/DealLineItem'
            description: Line item associated with the deal.
        metadata:
          $ref: '#/components/schemas/Metadata'
    Meta:
      type: object
      properties:
        request_id:
          type: string
          description: Unique request identifier.
        curies:
          type: array
          description: CURIE definitions for resolving namespaced link relations.
          items:
            $ref: '#/components/schemas/Curie'
    Site:
      type: object
      description: Site
      additionalProperties: false
      properties:
        id:
          type: string
          description: Unique identifier for the site.
        name:
          type: string
          description: Name of the site.
        description:
          type:
            - string
            - 'null'
          description: Description of the site.
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the site.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the site.
        phone:
          type:
            - string
            - 'null'
          description: Phone number of the site.
        opened_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Date and time when the site was/will be opened.
        directions:
          type:
            - object
            - 'null'
          description: Directions to the site.
          additionalProperties: false
          properties:
            google_maps_url:
              type:
                - string
                - 'null'
              description: URL to Google Maps for the site.
        images:
          type: object
          additionalProperties: false
          properties:
            default:
              type:
                - object
                - 'null'
              additionalProperties: false
              properties:
                original:
                  type: string
                  format: uri
                  description: Original unresized image.
                small:
                  type: string
                  format: uri
                  description: Resized to max 250x250px.
                medium:
                  type: string
                  format: uri
                  description: Resized to max 500x500px.
                large:
                  type: string
                  format: uri
                  description: Resized to max 1000x1000px.
        access_hours:
          type:
            - object
            - 'null'
          description: Access hours for the site.
          additionalProperties: false
          properties:
            monday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
            tuesday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
            wednesday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
            thursday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
            friday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
            saturday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
            sunday:
              $ref: '#/components/schemas/SiteAccessHoursDay'
        address:
          type:
            - object
            - 'null'
          description: Address of the site.
          additionalProperties: false
          properties:
            line_1:
              type:
                - string
                - 'null'
              description: First line of the address.
            line_2:
              type:
                - string
                - 'null'
              description: Second line of the address (optional).
            city:
              type:
                - string
                - 'null'
              description: City of the site.
            postal_code:
              type:
                - string
                - 'null'
              description: Postal code of the site.
    Contact:
      type: object
      description: Contact
      additionalProperties: false
      properties:
        id:
          type: string
          description: Unique identifier for the contact.
          pattern: ^con_
        address: 0990a489-89a0-4e27-bf51-e2b982cfb59b
        email:
          type: string
          description: Email address of the contact.
          format: email
        full_name:
          type: string
          description: Full name of the contact.
        marketing_source:
          type:
            - string
            - 'null'
          description: Source of marketing for the contact.
          enum:
            - used_before
            - recommendation
            - received_leaflet
            - seen_building_signs
            - seen_advert
            - facebook_marketplace
            - google_search
            - other_online_search
            - social_media
            - email
            - radio
            - other
            - null
        phone_number:
          type:
            - string
            - 'null'
          description: Phone number of the contact.
        source:
          type:
            - string
            - 'null'
          description: Source of the contact information.
          enum:
            - pre_open
            - incomplete_booking
            - registered_interest
            - price_interest
            - quotation_request
            - booking
            - popup
            - external_enquiry
            - phone
            - walkin
            - import
            - other
            - null
        tax_id:
          type:
            - string
            - 'null'
          description: Tax identification number of the contact.
        company_registration_number:
          type:
            - string
            - 'null'
          description: Company registration number of the contact.
        type:
          type:
            - string
            - 'null'
          description: Type of the contact (e.g., domestic, company).
          enum:
            - domestic
            - company
            - student
            - charity
            - local_authority
            - null
        use_case:
          type:
            - string
            - 'null'
          description: Use case for the contact.
          enum:
            - business_needs
            - moving_home
            - more_space
            - refurb
            - travelling
            - other
            - null
        metadata:
          $ref: '#/components/schemas/Metadata'
        stripe_customer_id:
          type:
            - string
            - 'null'
          description: Stripe Customer identifier associated with the contact.
        tenancies_count:
          description: Number of tenancies associated with the contact.
          type: integer
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the contact.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the contact.
        identity_check:
          type: object
          additionalProperties: false
          properties:
            required:
              type: boolean
              description: >-
                Whether the contact is required to complete identity
                verification based on the operator's checkin settings.
            status:
              type: string
              description: >-
                Status of the contact's latest identity verification.
                `not_attempted` is unique to this field (infers no identity
                verification resource yet exists for this contact).
              enum:
                - failed
                - processing
                - succeeded
                - cancelled
                - not_attempted
    Staff:
      type: object
      description: Staff
      additionalProperties: false
      properties:
        id:
          type: string
          pattern: ^staff_
          description: Unique identifier for the staff member.
        name:
          type: string
        email:
          type: string
          format: email
          description: Email address of the staff member.
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the staff.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the staff.
    AccessToken:
      type: object
      description: Access Token
      additionalProperties: false
      properties:
        id:
          type: string
          pattern: ^tok_
          description: Unique identifier for the access token.
        name:
          type: string
          description: Name of the access token.
    Application:
      type: object
      description: Application
      additionalProperties: false
      properties:
        id:
          type: string
          pattern: ^app_
          description: Unique identifier for the application.
        name:
          type: string
          description: Name of the application.
    DealStage:
      type: object
      description: Stage
      additionalProperties: false
      properties:
        id:
          type: string
          description: Unique identifier for the stage.
        name:
          type: string
        position:
          description: >-
            Numerical position in which the stage is placed in the defined deal
            journey.
          type: integer
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the stage.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the stage.
    DealLineItem:
      type: object
      description: Deal Line Item
      additionalProperties: false
      properties:
        item:
          description: >-
            Item associated with the line item. Can be a Unit type or Protection
            level. **Expandable** (shows only ID when not expanded).
          oneOf:
            - $ref: '#/components/schemas/UnitType'
            - $ref: '#/components/schemas/ProtectionLevel'
            - type: 'null'
        quantity:
          type: integer
          description: Quantity of the item in the deal line item.
        type:
          type: string
          description: The kind of line item.
          enum:
            - unit_type
            - protection
    Metadata:
      type: object
      description: >-
        Set of key-value pairs for storing additional information. [Learn more
        about metadata.](https://docs.stora.co/2025-09/guides/metadata)
      additionalProperties:
        type: string
    Curie:
      type: object
      description: CURIE definition for resolving namespaced link relations.
      additionalProperties: false
      properties:
        name:
          type: string
          description: CURIE prefix name
          enum:
            - bo
            - sf
        href:
          type: string
          description: URI template for resolving the CURIE.
        templated:
          type: boolean
          description: Whether the href is a URI template.
        title:
          type: string
          description: Human-readable title.
    SiteAccessHoursDay:
      type: object
      description: Access Hours Day
      additionalProperties: false
      properties:
        status:
          enum:
            - set_hours
            - appointment
            - closed
          type: string
        open:
          type:
            - string
            - 'null'
          description: >-
            Opening time in HH:MM format. Has `null` for `appointment` or
            `closed` status.
        close:
          type:
            - string
            - 'null'
          description: >-
            Closing time in HH:MM format. Has `null` for `appointment` or
            `closed` status.
    UnitType:
      type: object
      description: Unit Type
      additionalProperties: false
      properties:
        id:
          type: string
          pattern: ^utype_
          description: Unique identifier for the unit type.
        name:
          type: string
          description: Name of the unit type.
        status:
          enum:
            - bookable
            - hidden
            - lead_capture
          type: string
        slug:
          type: string
          description: >-
            URL-friendly identifier for the unit type, typically used in web
            addresses.
        size_description:
          type: string
          description: Description of the size of the unit type.
        selling_points:
          type: array
          items:
            type: string
          description: List of selling points for the unit type.
        stripe_product_id:
          type: string
          description: >-
            Stripe Product ID associated with the unit type, used for payment
            processing.
        require_insurance_coverage:
          type: boolean
          description: Indicates whether insurance coverage is required for this unit type.
        require_security_deposit:
          type: boolean
          description: Indicates whether a security deposit is required for this unit type.
        promotion:
          description: >-
            Promotional coupon associated with the unit type. **Expandable**
            (shows only ID when not expanded).
          oneOf:
            - $ref: '#/components/schemas/Coupon'
            - type: 'null'
        site:
          $ref: '#/components/schemas/Site'
          description: >-
            Site associated with the unit type. **Expandable** (shows only ID
            when not expanded).
        dynamic_pricing:
          type: boolean
          description: Indicates whether dynamic pricing is enabled for this unit type.
        dimensions:
          type: object
          description: Dimensions of the unit type.
          properties:
            length:
              type: number
              description: Length of the unit in feet.
            width:
              type: number
              description: Width of the unit in feet.
            height:
              type: number
              description: Height of the unit in feet.
            measurement_unit:
              enum:
                - ft
                - m
              type: string
        security_deposit:
          description: Security deposit amount for the unit type.
          oneOf:
            - $ref: '#/components/schemas/Money'
            - type: 'null'
        images:
          type: object
          additionalProperties: false
          properties:
            default:
              type:
                - object
                - 'null'
              additionalProperties: false
              properties:
                original:
                  type: string
                  format: uri
                  description: Original unresized image.
                small:
                  type: string
                  format: uri
                  description: Resized to max 250x250px.
                medium:
                  type: string
                  format: uri
                  description: Resized to max 500x500px.
                large:
                  type: string
                  format: uri
                  description: Resized to max 1000x1000px.
        created_at:
          type: string
          format: date-time
          description: Creation date and time for the unit type.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time for the unit type.
        prices:
          type: array
          description: >-
            List of prices associated with the unit type, including different
            pricing options.
          items:
            $ref: '#/components/schemas/Price'
        _links:
          $ref: '#/components/schemas/Links'
    ProtectionLevel:
      type: object
      description: Protection Level
      additionalProperties: false
      properties:
        id:
          type: string
          pattern: ^plvl_
          description: Unique identifier for the protection level.
        stripe_product_id:
          type: string
          description: >-
            Stripe Product ID associated with the protection level, used for
            payment processing.
        cover_level:
          $ref: '#/components/schemas/Money'
          description: Monetary value representing the cover level of the protection.
        account_code:
          type:
            - string
            - 'null'
          description: Account code associated with the protection level.
        public:
          type: boolean
          description: Indicates whether the protection level is available for selection.
        prices:
          type: array
          items:
            $ref: '#/components/schemas/Price'
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the protection level.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the protection level.
    Coupon:
      oneOf:
        - $ref: '#/components/schemas/CouponPercentage'
        - $ref: '#/components/schemas/CouponAmount'
        - description: ID-only reference (unexpanded)
          type: object
          additionalProperties: false
          properties:
            id:
              type: string
              pattern: ^cpn_
    Money:
      type: object
      description: Money
      additionalProperties: false
      properties:
        amount:
          type: integer
          description: Amount of money in the smallest currency unit (e.g., cents for USD).
        currency:
          enum:
            - AED
            - AUD
            - BGN
            - BRL
            - CAD
            - CHF
            - CZK
            - DKK
            - EUR
            - GBP
            - HKD
            - HUF
            - MXN
            - MYR
            - NOK
            - NZD
            - PLN
            - RON
            - SEK
            - SGD
            - THB
            - USD
          description: ISO 4217 currency code.
          type: string
        formatted:
          type: string
          description: >-
            Formatted string representation of the money amount, including the
            currency symbol.
    Price:
      type: object
      description: Price
      additionalProperties: false
      properties:
        price:
          $ref: '#/components/schemas/Money'
          description: Price for the specified billing period.
        billing_period:
          enum:
            - monthly
            - weekly
            - every_four_weeks
            - every_three_months
            - every_six_months
            - yearly
            - one_time
          description: Billing period for the price.
          type: string
        stripe_price_id:
          type: string
          description: >-
            Stripe Price ID associated with this price, used for payment
            processing.
    Links:
      type: object
      description: Links related to the resource.
      additionalProperties:
        type: object
        additionalProperties: false
        properties:
          href:
            type: string
            description: Relative path for API links, relative path for CURIE links.
          method:
            type: string
            description: Available only for API links. Other links use always `get`.
            enum:
              - get
              - post
              - patch
              - delete
          title:
            type: string
            description: Human-readable label for the link.
          reference:
            type:
              - string
              - 'null'
            description: >-
              OpenAPI reference for API links. Component schema for self links,
              path operation for action links.
    CouponPercentage:
      type: object
      description: Coupon with percentage discount
      additionalProperties: false
      required:
        - type
      properties:
        id:
          type: string
          pattern: ^cpn_
          description: Unique identifier for the coupon.
        type:
          const: percentage
          description: Type of the coupon, which is `percentage` in this case.
        percent:
          type: number
          description: >-
            Percentage discount provided by the coupon. E.g. 20 for a 20%
            discount.
        name:
          type: string
          description: Name of the coupon.
        code:
          type:
            - string
            - 'null'
          description: Unique code for the coupon for non-public coupons.
        title:
          type:
            - string
            - 'null'
          description: Title of the coupon.
        public:
          type: boolean
          description: >-
            Indicates if the coupon is publicly available for any contact to
            use. When set to `true`, the `code` field is not used.
        max_redemptions:
          type:
            - integer
            - 'null'
          description: Maximum number of times the coupon can be redeemed.
        duration:
          enum:
            - once
            - forever
            - repeating
          description: Duration of the coupon.
          type: string
        billing_period:
          type:
            - string
            - 'null'
          enum:
            - monthly
            - weekly
            - every_four_weeks
            - every_three_months
            - every_six_months
            - yearly
            - one_time
            - null
          description: Used for `repeating` duration.
        months:
          type:
            - integer
            - 'null'
          description: >-
            Number of months the coupon is valid for, applicable for `repeating`
            duration.
        auto_apply_to:
          $ref: '#/components/schemas/CouponAutoApplyTo'
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the coupon.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the coupon.
    CouponAmount:
      type: object
      description: Coupon with fixed amount discount
      additionalProperties: false
      required:
        - type
      properties:
        id:
          type: string
          pattern: ^cpn_
          description: Unique identifier for the coupon.
        type:
          const: amount
          description: Type of the coupon, which is `amount` in this case.
        amount:
          $ref: '#/components/schemas/Money'
          description: Amount deducted from the price when the coupon is applied.
        name:
          type: string
          description: Name of the coupon.
        code:
          type:
            - string
            - 'null'
          description: Unique code for the coupon for non-public coupons.
        title:
          type:
            - string
            - 'null'
          description: Title of the coupon.
        public:
          type: boolean
          description: >-
            Indicates if the coupon is publicly available for any contact to
            use. When set to `true`, the `code` field is not used.
        max_redemptions:
          type:
            - integer
            - 'null'
          description: Maximum number of times the coupon can be redeemed.
        duration:
          enum:
            - once
            - forever
            - repeating
          description: Duration of the coupon.
          type: string
        billing_period:
          type:
            - string
            - 'null'
          enum:
            - monthly
            - weekly
            - every_four_weeks
            - every_three_months
            - every_six_months
            - yearly
            - one_time
            - null
          description: Used for `repeating` duration.
        months:
          type:
            - integer
            - 'null'
          description: >-
            Number of months the coupon is valid for, applicable for `repeating`
            duration.
        auto_apply_to:
          $ref: '#/components/schemas/CouponAutoApplyTo'
        created_at:
          type: string
          format: date-time
          description: Creation date and time of the coupon.
        updated_at:
          type: string
          format: date-time
          description: Last update date and time of the coupon.
    CouponAutoApplyTo:
      type: object
      description: Defines how the coupon should be auto-applied when used on an order.
      additionalProperties: false
      properties:
        unit_types:
          type: boolean
          description: Whether the coupon applies to unit type line items.
        protections:
          type: boolean
          description: Whether the coupon applies to protection line items.
        products:
          type: boolean
          description: Whether the coupon applies to product line items.
        subscriptions:
          type: boolean
          description: Whether the coupon applies to the subscription.
  securitySchemes:
    Bearer:
      description: Bearer Token necessary to use API
      type: http
      scheme: bearer
      bearerFormat: token
    OAuth2:
      type: oauth2
      description: OAuth 2 authentication
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes:
            public.access_token:read: Access Token (Read)
            public.application:read: Application (Read)
            public.contact:read: Contact (Read)
            public.contact:write: Contact (Write)
            public.contract:read: Contract (Read)
            public.contract_template:read: Contract Template (Read)
            public.coupon:read: Coupon (Read)
            public.credit_note:read: Credit Note (Read)
            public.deal:read: Deal (Read)
            public.deal:write: Deal (Write)
            public.deal_stage:read: Deal Stage (Read)
            public.identity_verification:read: Identity Verification (Read)
            public.invoice:read: Invoice (Read)
            public.note:read: Note (Read)
            public.note:write: Note (Write)
            public.order:read: Order (Read)
            public.order:write: Order (Write)
            public.product:read: Product (Read)
            public.product:write: Product (Write)
            public.product_category:read: Product Category (Read)
            public.protection_level:read: Protection Level (Read)
            public.protection_level:write: Protection Level (Write)
            public.site:read: Site (Read)
            public.staff:read: Staff (Read)
            public.subscription:read: Subscription (Read)
            public.task:read: Task (Read)
            public.task:write: Task (Write)
            public.tenancy:read: Tenancy (Read)
            public.timeline_event:read: Timeline Event (Read)
            public.timeline_event:write: Timeline Event (Write)
            public.timeline_source:read: Timeline Source (Read)
            public.timeline_template:read: Timeline Template (Read)
            public.unit:read: Unit (Read)
            public.unit:write: Unit (Write)
            public.unit_allocation:read: Unit Allocation (Read)
            public.unit_type:read: Unit Type (Read)
            public.unit_type:write: Unit Type (Write)
            public.webhook_endpoint:read: Webhook Endpoint (Read)
            public.webhook_endpoint:write: Webhook Endpoint (Write)
        authorizationCode:
          authorizationUrl: https://app.stora.co/oauth2/authorize
          tokenUrl: /oauth2/token
          scopes:
            public.access_token:read: Access Token (Read)
            public.application:read: Application (Read)
            public.contact:read: Contact (Read)
            public.contact:write: Contact (Write)
            public.contract:read: Contract (Read)
            public.contract_template:read: Contract Template (Read)
            public.coupon:read: Coupon (Read)
            public.credit_note:read: Credit Note (Read)
            public.deal:read: Deal (Read)
            public.deal:write: Deal (Write)
            public.deal_stage:read: Deal Stage (Read)
            public.identity_verification:read: Identity Verification (Read)
            public.invoice:read: Invoice (Read)
            public.note:read: Note (Read)
            public.note:write: Note (Write)
            public.order:read: Order (Read)
            public.order:write: Order (Write)
            public.product:read: Product (Read)
            public.product:write: Product (Write)
            public.product_category:read: Product Category (Read)
            public.protection_level:read: Protection Level (Read)
            public.protection_level:write: Protection Level (Write)
            public.site:read: Site (Read)
            public.staff:read: Staff (Read)
            public.subscription:read: Subscription (Read)
            public.task:read: Task (Read)
            public.task:write: Task (Write)
            public.tenancy:read: Tenancy (Read)
            public.timeline_event:read: Timeline Event (Read)
            public.timeline_event:write: Timeline Event (Write)
            public.timeline_source:read: Timeline Source (Read)
            public.timeline_template:read: Timeline Template (Read)
            public.unit:read: Unit (Read)
            public.unit:write: Unit (Write)
            public.unit_allocation:read: Unit Allocation (Read)
            public.unit_type:read: Unit Type (Read)
            public.unit_type:write: Unit Type (Write)
            public.webhook_endpoint:read: Webhook Endpoint (Read)
            public.webhook_endpoint:write: Webhook Endpoint (Write)

````