components:
  headers:
    xFabricRequestIdResponseHeader:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      required: false
      schema:
        type: string
  parameters:
    xFabricChannelId:
      description: A single sales channel ID.
      example: '12'
      in: header
      name: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required.
      required: true
      schema:
        type: string
    xFabricChannelIdOptional:
      description: >-
        x-fabric-channel-id identifies the sales channel through which the API
        request is being made; primarily for multichannel use cases. It is an
        optional field. The default US channel is 12 while the default Canada
        channel is 13.
      example: '12'
      in: header
      name: x-fabric-channel-id
      required: false
      schema:
        type: string
    xFabricChannelIds:
      description: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required. A comma separated list of
        sales channel IDs. This comma separated list of sales channel IDs are
        required when using multiple channels.
      example: 12, 13, 16
      in: header
      name: x-fabric-channel-ids
      required: false
      schema:
        type: string
    xFabricChannelIdsOptional:
      description: >-
        x-fabric-channel-id identifies the sales channel through which the API
        request is being made; primarily for multichannel use cases. It is an
        optional field. The default US channel is 12 while the default Canada
        channel is 13. This field is optional. **Note:** Use `xFabricChannelIds`
        for multiple channels, and `xFabricChannelId` for a single channel.
      example: 12, 13, 16
      in: header
      name: x-fabric-channel-ids
      required: false
      schema:
        type: string
    xFabricRequestId:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      in: header
      name: x-fabric-request-id
      required: false
      schema:
        type: string
    xFabricTenantId:
      description: >-
        A header used by fabric to identify the tenant making the request. You
        must include tenant id in the authentication header for an API request
        to access any of fabric’s endpoints. You can retrieve the tenant id ,
        which is also called account id, from
        [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
        This header is required.
      example: 5f328bf0b5f328bf0b5f328b
      in: header
      name: x-fabric-tenant-id
      required: true
      schema:
        type: string
  schemas:
    auditLog:
      type: object
      description: Audit log to capture change history
      properties:
        lineItemId:
          type: string
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it during order creation, in UUID
            format.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
        auditId:
          type: string
          description: System-generated audit ID (UUID format)
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
        auditType:
          type: string
          description: Audit type such as cancel, return, etc.
          example: CANCEL
        employeeId:
          type: string
          description: Employee (ID or name) who made the last update
          example: 6227
        auditedAt:
          type: string
          format: date-time
          description: Audit time (UTC)
          example: '2023-03-12T09:24:54.804Z'
        source:
          type: string
          description: >-
            Merchant-defined source from where the update was initiated. There
            are no predefined values; possible values could be Customer Service
            Representative (CSR), Point-of-Sale (POS), etc.
          example: POS
        reasonCode:
          type: string
          description: Merchant-defined reason code, varies from merchant to merchant
          example: Scratched item
        subReasonCode:
          type: string
          description: >-
            Merchant-defined sub reason code; provides more clarity to audit
            reason
          example: Scratched item
        policyCode:
          type: string
          description: >-
            Configurable in Copilot as per requirement. If omitted, default
            policy is used.
          example: POS
        note:
          type: string
          description: Additional info, if any
          example: Note
        lineItemNumber:
          type: integer
          format: int32
          description: Item identifier
          example: 1
        sku:
          type: string
          description: Stock keeping unit (SKU), unique item identifier
          example: SKU0023
        quantity:
          type: integer
          format: int32
          description: Ordered quantity of given item
          example: 1
        amount:
          type: number
          format: double
          description: Amount for which audit is done
          example: 2.4
        paymentToken:
          $ref: '#/components/schemas/orderPaymentToken'
          description: >-
            Payment token provided by payment provider. Must be provided during
            order creation if the payment life cycle orchestration is through
            fabric Orders (OMS).
        updatedFields:
          type: array
          items:
            $ref: '#/components/schemas/orderAuditLogUpdatedField'
        attributes:
          type: object
          description: Custom attributes
          example:
            key: value
        isSuccess:
          type: boolean
          default: 'false'
          description: >-
            true: Update operation (any update to the service) is successful
            <br> false: Update operation has failed
          example: true
    bulkCreateCapacityOverrideRequest:
      type: object
      description: >-
        Request payload for creating Capacity Overrides in bulk across multiple
        locations. Each override specifies custom allocation limits and applies
        to a defined schedule.
      properties:
        capacity:
          type: integer
          format: int32
          description: >-
            The maximum number of allocations each location can handle
            simultaneously. When current allocations reach this number, the
            location is considered "AtCapacity" and will not receive further
            allocations during the override period.
          example: 30
        schedule:
          $ref: '#/components/schemas/CapacityOverrideScheduleResource'
          description: >-
            The date and time range during which the capacity override will be
            active.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason code indicating the purpose of the
            override (for example, seasonal demand, maintenance, holidays).
          example: holiday
        notes:
          $ref: '#/components/schemas/orderNote'
          description: >-
            Optional notes or additional context related to the override
            request.
          example: Any additional info
        createdBy:
          type: string
          description: >-
            Identifier or name of the user or system initiating this bulk
            override request.
          example: Carl Doe
        updatedBy:
          type: string
          description: >-
            Identifier or name of the user or system that last updated the
            override request.
          example: Carl Doe
        locationNumbers:
          type: array
          description: >-
            A list of unique identifiers for the locations affected by the
            override.
          example:
            - '1234'
            - '5678'
          items:
            type: string
      required:
        - capacity
        - locationNumbers
        - reasonCode
        - schedule
    capacity:
      type: object
      description: >-
        Location Capacity Model used by fulfillment specialist to optimize
        fulfillments across the distribution network and monitor productivity by
        location
      properties:
        maxAllocations:
          type: integer
          format: int32
          description: >-
            Maximum allocations this location can take at any given time. When
            `currentAllocations=maxAllocations`, this location is AtCapacity and
            cannot take any further allocations.
          example: 30
        currentAllocations:
          type: integer
          format: int32
          description: Current allocations at this location.
          example: 5
          readOnly: true
        infiniteAllocation:
          type: boolean
        allocationPercentage:
          type: integer
          format: int32
          description: >-
            Current percentage of allocations at this location. Calculated by
            `(currentAllocations / maxAllocations)*100`.
          example: 20
        isCapacityFull:
          type: boolean
          description: If location has no allocation capacity limit.
          example: true
    capacityOverrideResponse:
      type: object
      description: >-
        Response object representing a capacity override at a specific location,
        including status, allocation limit, time window, and audit information.
      properties:
        capacityOverrideId:
          type: string
          description: A system-generated unique identifier for the capacity override.
          example: 9320183a01e214
        capacityOverrideNumber:
          type: string
          description: >-
            A merchant-defined unique reference number for the capacity
            override.
          example: capacityOverride1
        locationNumber:
          type: string
          description: >-
            A unique identifier for the location where the capacity override
            applies, as defined by the merchant.
          example: '23'
        status:
          type: string
          description: The current status of the capacity override.
          enum:
            - CREATED
            - STARTED
            - ENDED
            - CANCELLED
          example: CREATED
        capacity:
          type: integer
          format: int32
          description: >-
            The maximum number of allocations the location can accept at any
            point during the override period. When `currentAllocations` equals
            this value, the location is considered "AtCapacity" and cannot
            receive further orders.
          example: 30
        schedule:
          $ref: '#/components/schemas/CapacityOverrideScheduleResource'
          description: >-
            The date and time window during which the capacity override is in
            effect.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason for the override, used for traceability or
            reporting (for example, holiday, peak demand).
          example: holiday
        notes:
          $ref: '#/components/schemas/orderNote'
          description: >-
            Optional notes or comments providing additional context for the
            override.
          example: Any additional info
        createdBy:
          type: string
          description: Identifier or name of the user or system that created the override.
          example: Carl Doe
        createdAt:
          type: string
          format: date-time
          description: >-
            The timestamp when the capacity override was created, in ISO 8601
            UTC format.
          example: '2022-05-12T09:30:31Z'
        updatedBy:
          type: string
          description: >-
            Identifier or name of the user or system that last updated the
            override.
          example: Carl Doe
        updatedAt:
          type: string
          format: date-time
          description: >-
            The timestamp of the most recent update to the override record, in
            ISO 8601 UTC format.
          example: '2022-05-12T09:30:31Z'
        auditLogs:
          type: array
          description: A list of audit log entries tracking changes made to the override.
          items:
            $ref: '#/components/schemas/auditLog'
      required:
        - capacity
        - reasonCode
        - schedule
    capacityOverrideSearchRequest:
      type: object
      description: Capacity Override search request
      example:
        sort: '-capacityOverride.createdAt'
        filters:
          - field: capacityOverride.status
            value: CREATED
            condition: EQ
      properties:
        sort:
          type: string
          default: '-capacityOverride.createdAt'
          description: Resource property on which data needed to be sorted on.
          example: +capacityOverride.createdAt
          pattern: >-
            (^[+-]capacityOverride\.[a-zA-Z.\-_]*)(,([+-]alert\.[a-zA-Z.\-_]*)){0,}
        filters:
          type: array
          items:
            $ref: '#/components/schemas/CapacityOverrideSearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
      required:
        - filters
    CapacityOverrideCancellationRequest:
      type: object
      description: >-
        Request payload used to cancel an existing Capacity Override. Includes a
        reason for the cancellation, typically used for audit or reporting
        purposes.
      properties:
        reasonCode:
          type: string
          description: >-
            A merchant-defined code indicating the reason for canceling the
            capacity override.
          example: NOT_REQUIRED
      required:
        - reasonCode
    CapacityOverrideScheduleResource:
      type: object
      description: >-
        Defines the schedule during which the Capacity Override is active,
        including the start and end timestamps.
      properties:
        startDate:
          type: string
          format: date-time
          description: >-
            ISO 8601 formatted timestamp representing when the override becomes
            active.
          example: '2022-05-12T09:30:31Z'
        endDate:
          type: string
          format: date-time
          description: ISO 8601 formatted timestamp representing when the override ends.
          example: '2022-05-12T09:30:31Z'
      required:
        - startDate
        - endDate
    CapacityOverrideSearchFilter:
      type: object
      description: >-
        Filter criteria used to search for Capacity Overrides. Use
        `valueSearchFilter` for single-value comparisons and
        `valuesSearchFilter` for multi-value matching.
      discriminator:
        propertyName: condition
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
      properties:
        field:
          type: string
          description: >-
            The field name to apply the filter on. Must follow the format
            `capacityOverride.<fieldName>`.
          pattern: ^capacityOverride\.[a-zA-Z.\-_]*
          example: capacityOverride.status
        condition:
          type: string
          default: EQ
          description: |
            Type of condition to apply
            - `EQ`: Equal to
            - `NEQ`: Not equal to
            - `IN`: Included in list
            - `NIN`: Not included in list
            - `LT`: Less than
            - `GT`: Greater than
            - `LTE`: Less than or equal to
            - `GTE`: Greater than or equal to
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
        group:
          type: string
          default: Default
          description: >-
            Optional group name to logically separate filter criteria for
            compound queries.
          example: GroupA
      required:
        - field
    CapacityOverrideSearchResponse:
      type: object
      description: >-
        Response object returned after searching for Capacity Overrides.
        Includes paginated data and optional summary statistics.
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        data:
          type: array
          description: A list of Capacity Override records that match the search criteria.
          items:
            $ref: '#/components/schemas/capacityOverrideResponse'
        stats:
          type: array
          description: >-
            An array of summary statistics or aggregated data related to the
            search.
          items:
            type: string
    Carrier:
      type: object
      description: Location supported carrier
      properties:
        carrier:
          type: string
          description: Carrier name
          example: FedEx
        serviceLevels:
          type: array
          items:
            $ref: '#/components/schemas/LocationSupportedCarrierServiceLevels'
    contact:
      type: object
      description: Contact details
      properties:
        type:
          type: string
          description: Contact type
          example: OFFICE
        email:
          type: string
          description: E-mail address
          example: abc@mail.com
        phone:
          type: array
          items:
            $ref: '#/components/schemas/phone'
        name:
          $ref: '#/components/schemas/name'
    createCapacityOverrideRequest:
      type: object
      description: >-
        Request payload for creating a new Capacity Override, allowing merchants
        to adjust the allocation capacity of a location for a defined schedule.
      properties:
        capacityOverrideNumber:
          type: string
          description: >-
            A unique identifier for the capacity override, defined by the
            merchant.
          example: capacityOverride1
        locationNumber:
          type: string
          description: >-
            A unique identifier for the location affected by the override,
            specified by the merchant.
          example: '23'
        capacity:
          type: integer
          format: int32
          description: >-
            The maximum number of allocations the location can handle at any
            given time. When current allocations reach this value, the location
            is considered "AtCapacity" and cannot receive further allocations.
          example: 30
        schedule:
          $ref: '#/components/schemas/CapacityOverrideScheduleResource'
          description: The date and time range during which the override is active.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason for applying the capacity override, used
            for reporting and auditing.
          example: holiday
        notes:
          $ref: '#/components/schemas/orderNote'
          description: >-
            Optional field for adding supplementary information or context
            related to the override.
          example: Any additional info
        createdBy:
          type: string
          description: Name or identifier of the user or system that created this override.
          example: Carl Doe
        updatedBy:
          type: string
          description: >-
            Name or identifier of the user or system that last updated this
            override.
          example: Carl Doe
      required:
        - capacity
        - locationNumber
        - reasonCode
        - schedule
    createOutageRequest:
      type: object
      description: >-
        Request payload used to create a new outage for a specific location. The
        outage defines when and how fulfillment operations should be paused.
      properties:
        outageNumber:
          type: string
          description: A merchant-defined unique identifier used to reference the outage.
          example: OUTAGE1
        locationNumber:
          type: integer
          format: int32
          description: >-
            The unique identifier of the location where the outage will take
            effect, as specified by the merchant.
          example: 23
        disabledFulfillmentMethods:
          type: array
          description: >-
            A list of fulfillment methods that will be temporarily disabled
            during the outage (for example, ShipToHome, Pickup).
          items:
            type: string
            description: >-
              A fulfillment method that will be disabled during the outage
              window.
          uniqueItems: true
        schedule:
          $ref: '#/components/schemas/OutageScheduleResource'
          description: >-
            The specific time range (start and end) during which the outage is
            active.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason for the outage, useful for internal
            reporting or auditing (for example, maintenance, system upgrade).
          example: maintenance
        notes:
          type: string
          description: >-
            Optional free-text field for including additional information or
            context about the outage.
          example: Any additional info
        createdBy:
          type: string
          description: >-
            Identifier or name of the user or system that created the outage
            request.
          example: Carl Doe
        updatedBy:
          type: string
          description: >-
            Identifier or name of the user or system that last updated the
            outage request.
          example: Carl Doe
      required:
        - disabledFulfillmentMethods
        - locationNumber
        - reasonCode
        - schedule
    createZoneRequest:
      type: object
      description: Create zone request
      properties:
        zoneName:
          type: string
          description: Zone name
          example: US_LOCATIONS
        zoneType:
          type: string
          description: Zone type
          enum:
            - ABSOLUTE
            - TIERED
          example: ABSOLUTE
        description:
          type: string
          description: Detailed description of the zone
          example: Specific zone for US Locations
        locations:
          type: array
          items:
            $ref: '#/components/schemas/zoneLocationResource'
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/zoneTierResource'
      required:
        - zoneName
        - zoneType
    errorResponse:
      type: object
      description: Error response
      properties:
        type:
          type: string
          description: Error type
          example: CLIENT_ERROR
        errorCode:
          type: string
          description: Error code
          example: OMS-10001
        message:
          type: string
          description: Error message
          example: Bad request
        errors:
          type: array
          items:
            $ref: '#/components/schemas/errorResponse'
        context:
          type: string
          description: Error message
          example: Bad request
    findShippingZoneRequest:
      type: object
      description: Find shipping zone request
      properties:
        city:
          type: string
          description: City for which location will be searched
          example: San Francisco
        region:
          type: string
          description: Region where inventory is managed
          example: North America
        postalCode:
          type: string
          description: Postal code from where nearby locations are to be searched
          example: 94008
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 based country code
          example: US
        attributes:
          type: object
          description: Custom attributes for more specific data
          example:
            key: value
      required:
        - countryCode
    findShippingZoneResponse:
      type: object
      description: >-
        Response object returned when retrieving shipping zone information for a
        given geography. Includes the assigned zone, preferred delivery network,
        and associated networks.
      properties:
        geographyName:
          type: string
          description: >-
            The name of the geographic area or grouping used for zone assignment
            (for example, based on postal codes or regions).
          example: US_Geo_PostalCode
        zoneName:
          type: string
          description: The name of the shipping zone assigned to the specified geography.
          example: US_LOCATIONS
        preferredNetwork:
          type: string
          description: The primary delivery network recommended for shipments to this zone.
          example: ShipToHome
        associatedNetworks:
          type: array
          description: >-
            A list of all delivery networks that are available or eligible for
            shipping to this zone.
          items:
            type: string
    geoJsonPoint:
      type: object
      description: Location coordinates
      example:
        type: Point
        coordinates:
          - -122.3493
          - 47.6205
      properties:
        type:
          type: string
          description: Geo coordinate type
          example: Point
        coordinates:
          type: array
          items:
            format: double
            description: Coordinate value
            example: 36.0552222
    geoOrigin:
      type: object
      description: Geo search origin. Must include `postalCode` OR (`city` and `region`).
      properties:
        postalCode:
          type: string
          description: Postal code from where nearby locations are to be searched
          example: 94008
        city:
          type: string
          description: City for which location will be searched
          example: San Francisco
        region:
          type: string
          description: Region for which location will be searched
          example: New York
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 based country code
          example: US
        minDistance:
          type: number
          format: double
          default: '0.0'
          description: >-
            Minimum distance (in radius) from the specified postal code within
            which the location will be searched
          example: 10
        maxDistance:
          type: number
          format: double
          default: '100.0'
          description: >-
            Maximum distance (in radius) from the specified postal code within
            which the location will be searched
          example: 100
        distanceUnit:
          type: string
          default: MILE
          description: Distance unit
          enum:
            - MILE
            - KILOMETER
            - METER
          example: MILE
      required:
        - city
        - countryCode
        - postalCode
        - region
    GeographySearchResponse:
      type: object
      description: Geography search response
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/geographyResponse'
        stats:
          type: array
          items:
            type: string
            description: Stats Details
    geographyResponse:
      type: object
      description: >-
        Response object representing a defined geography entity used for zone
        assignment, network linking, or rule application.
      properties:
        geographyId:
          type: string
          description: System-generated unique identifier for the geography.
          example: 9372919a8219e8
        version:
          type: integer
          format: int64
          description: >-
            Version number indicating how many times this geography record has
            been updated.
          example: 2
        geographyName:
          type: string
          description: Human-readable name used to identify the geography.
          example: US_Geo_PostalCode
        description:
          type: string
          description: A detailed description of the purpose or scope of the geography.
          example: Specific geography for US Zones
        type:
          type: string
          description: >-
            The classification type of the geography, such as PostalCode, State,
            or Country.
          example: PostalCode
        values:
          type: array
          description: >-
            A list of geographic values covered by this geography. For example,
            a list of postal codes or region codes.
          items:
            type: string
        associatedZone:
          type: string
          description: The name of the shipping zone associated with this geography.
          example: US_Zone
        linkedNetworks:
          type: array
          description: >-
            A list of fulfillment or carrier networks that are linked to this
            geography.
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          description: >-
            Timestamp indicating when the geography record was created, in ISO
            8601 UTC format.
          example: '2022-07-11T15:03:14.642Z'
        updatedAt:
          type: string
          format: date-time
          description: >-
            Timestamp indicating when the geography record was last updated, in
            ISO 8601 UTC format.
          example: '2022-07-11T15:03:14.642Z'
        resourceId:
          type: string
          description: >-
            Identifier for the primary resource linked to the geography, if
            applicable.
        subResourceId:
          type: string
          description: >-
            Identifier for the secondary or child resource linked to the
            geography, if applicable.
      required:
        - geographyName
        - type
        - version
    geographySearchFilter:
      type: object
      description: >-
        Criteria used to search geographies. Use `valueSearchFilter` for filters
        based on a single value, and `valuesSearchFilter` for filters that match
        against multiple values.
      discriminator:
        propertyName: condition
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
      properties:
        group:
          type: string
          default: Default
          description: >-
            Logical group name for the filter. Useful when applying grouped
            filter logic (for example, AND/OR conditions).
          example: GroupA
        field:
          type: string
          description: >-
            Fully qualified field name on which the filter should be applied.
            Must follow the format `geography.<fieldName>`.
          example: geography.geographyName
          pattern: ^geography\.[a-zA-Z.\-_]*
        condition:
          type: string
          default: EQ
          description: >
            Defines the type of comparison used in the filter condition.
            Supported options:

            - `EQ` (Equal to): Matches the exact value.

            - `NEQ` (Not equal to): Excludes the specified value.

            - `IN`: Matches any value in a list.

            - `NIN` (Not in): Excludes values in a list.

            - `LT` (Less than): Matches values less than the specified value.

            - `GT` (Greater than): Matches values greater than the specified
            value.

            - `LTE` (Less than or equal to): Matches values less than or equal
            to the specified value.

            - `GTE` (Greater than or equal to): Matches values greater than or
            equal to the specified value.
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
      required:
        - condition
        - field
    hours:
      type: object
      description: Store operating hours
      properties:
        open:
          type: string
          description: Store opening time, measured in 24-hour format
          example: 10
        close:
          type: string
          description: Closing time for given hour type
          example: 20
        type:
          type: string
          description: Type of location operation
          example: PICK_UP
    LocationSupportedCarrierServiceLevels:
      type: object
      description: >-
        A list of carrier service levels supported by a specific location,
        including the carrier name and corresponding shipping method used by
        fabric.
      properties:
        name:
          type: string
          description: The name of the external shipping carrier providing the service.
          example: FedEx
        shippingMethod:
          type: string
          description: >-
            The name of the corresponding shipping method as defined in fabric's
            system.
          example: FedEx
    locationAddress:
      type: object
      description: Address details
      properties:
        addressLine1:
          type: string
          description: Address line 1
          example: 123
        addressLine2:
          type: string
          description: Address line 2
          example: Suite 100
        addressLine3:
          type: string
          description: Address line 3
          example: Seventh floor
        addressLine4:
          type: string
          description: Address line 4
          example: 'Attention: Pat E. Kake'
        city:
          type: string
          description: City name
          example: Seattle
        region:
          type: string
          description: Region or state
          example: WA
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 based country code
          example: US
        postalCode:
          type: string
          description: Postal or ZIP code
          example: 98121
        type:
          type: string
          description: Address type
          example: Home
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/contact'
      required:
        - region
    locationGeoSearchRequest:
      type: object
      description: Criteria to search geo location
      example:
        filters:
          - field: TYPE
            value:
              - DC
              - Store
        origin:
          city: San Francisco
          country: United States
          minDistance: '5'
          maxDistance: '50'
          postalCode: '89135'
          region: New York
      properties:
        filters:
          type: array
          items:
            $ref: '#/components/schemas/locationSearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
        origin:
          $ref: '#/components/schemas/geoOrigin'
          description: >-
            Geo search origin. Must include `postalCode` OR (`city` and
            `region`).
      required:
        - filters
        - origin
    locationGeoSearchResponse:
      type: object
      description: Location geo search response
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/nearbyLocationResponse'
        stats:
          type: array
          items:
            type: string
            description: Stats Details
    locationRequest:
      type: object
      description: >-
        Request payload for creating or updating a location. Includes identity,
        configuration, service capabilities, and operational metadata.
      properties:
        locationNumber:
          type: integer
          format: int32
          description: A merchant-defined unique identifier for the location.
          example: 23
        isActive:
          type: boolean
          description: >-
            Indicates whether the location is active for order fulfillment.
            `true` Location is active. `false` Location is inactive.
          example: true
        address:
          $ref: '#/components/schemas/locationAddress'
          description: The physical address associated with the location.
        type:
          type: string
          description: >-
            Classification of the location (for example, Distribution Center,
            Store).
          example: DC
        capacity:
          $ref: '#/components/schemas/capacity'
          description: >-
            The maximum operational capacity and allocation limits for the
            location.
        services:
          type: object
          description: >-
            Custom attributes used to define and categorize the location. These
            can also be used for filtering and routing logic.
          example:
            brand: WHBM
            channel: Frontline
        operatingHours:
          type: array
          description: A list of daily operating hours for the location.
          items:
            $ref: '#/components/schemas/operatingHours'
        coordinates:
          $ref: '#/components/schemas/geoJsonPoint'
          description: >-
            Geographic coordinates of the location in GeoJSON format.
            Coordinates are in `[longitude, latitude]` format with longitude in
            [-180, 180] and latitude in [-90, 90].
          example:
            type: Point
            coordinates:
              - -122.3493
              - 47.6205
        attributes:
          type: object
          description: >-
            Custom key-value attributes associated with the location. Used to
            store optional metadata.
          example:
            isReturns: 'true'
        supportedCarriers:
          type: array
          description: List of shipping carriers supported by the location.
          items:
            $ref: '#/components/schemas/Carrier'
        activeFulfillmentMethods:
          type: object
          description: >-
            A map of fulfillment methods that are currently active at the
            location.
          example:
            ShipToHome: 'true'
        transfer:
          $ref: '#/components/schemas/transfer'
          description: >-
            Transfer configuration for routing inventory to or from this
            location.
        name:
          type: string
          description: The display name or identifier for the location.
          example: Seattle Store
      required:
        - locationNumber
        - name
    locationResponse:
      type: object
      description: >-
        Response object containing details about a specific location, including
        its configuration, operational status, capacity, and service attributes.
      properties:
        locationId:
          type: string
          description: A system-generated globally unique identifier for the location.
          example: 9372919a8219e8
        locationNumber:
          type: integer
          format: int32
          description: A merchant-defined unique identifier used to reference the location.
          example: 23
        isActive:
          type: boolean
          description: >-
            Indicates whether the location is currently active for order
            fulfillment. `true` Location is active. `false` Location is
            inactive.
          example: true
        address:
          $ref: '#/components/schemas/locationAddress'
          description: The physical address associated with the location.
        type:
          type: string
          description: >-
            The type or classification of the location (for example, DC for
            Distribution Center, Store).
          example: DC
        capacity:
          $ref: '#/components/schemas/capacity'
          description: >-
            Capacity limits and allocation settings that define how many orders
            the location can fulfill.
        services:
          type: object
          description: >-
            Custom service-level attributes associated with the location. Often
            used for filtering or routing (for example, by brand or channel).
          example:
            brand: WHBM
            channel: Frontline
        zones:
          type: array
          description: >-
            A list of shipping zones associated with the location for delivery
            or operational routing.
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          description: >-
            The timestamp of when the location record was created, in ISO 8601
            UTC format.
          example: '2022-05-25T07:58:30.996Z'
        updatedAt:
          type: string
          format: date-time
          description: >-
            The timestamp of the most recent update to the location record, in
            ISO 8601 UTC format.
          example: '2022-05-25T07:58:30.996Z'
        operatingHours:
          type: array
          description: >-
            Weekly schedule detailing the hours during which the location
            operates.
          items:
            $ref: '#/components/schemas/operatingHours'
        coordinates:
          $ref: '#/components/schemas/geoJsonPoint'
          description: >-
            The geographical coordinates of the location in GeoJSON format. Must
            follow the format `[longitude, latitude]`, where longitude ∈ [-180,
            180] and latitude ∈ [-90, 90].
          example:
            type: Point
            coordinates:
              - -122.3493
              - 47.6205
        attributes:
          type: object
          description: Custom key-value metadata or flags associated with the location.
          example:
            isReturns: 'true'
        supportedCarriers:
          type: array
          description: >-
            A list of shipping carriers supported by this location for outbound
            or inbound logistics.
          items:
            $ref: '#/components/schemas/Carrier'
        activeFulfillmentMethods:
          type: object
          description: >-
            A map of fulfillment methods currently active and supported by this
            location (for example, ShipToHome, Pickup).
          example:
            ShipToHome: 'true'
        transfer:
          $ref: '#/components/schemas/transfer'
          description: >-
            Transfer configuration settings for inventory movement related to
            this location.
        name:
          type: string
          description: >-
            The display name of the location, typically shown in the User
            Interface and reports.
          example: Seattle Store
      required:
        - locationNumber
        - name
    locationSearchFilter:
      type: object
      description: >-
        Criteria to search locations. To search using a single value,
        `valueSearchFilter` is used. To search using multiple values,
        `valuesSearchFilter` is used.
      discriminator:
        propertyName: condition
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
      properties:
        group:
          type: string
          default: Default
          description: Group name
          example: GroupA
        field:
          type: string
          description: Field name
          example: location.locationNum
          pattern: ^location\.[a-zA-Z.\-_]*
        condition:
          type: string
          default: EQ
          description: >-
            Filter conditions. <br> EQ (Equal to): Searches for exact match.
            <br> NEQ (Not equal to): Searches by excluding the specified value.
            <br> IN: Search for multiple values. <br> NIN (Not IN): Excludes the
            specified values in the search. LT (Less than): Searches for values
            that are less than the specified value. GT (Greater than):  Search
            for values that are greater than the specified value. LTE (Less than
            or equal to): Searches for values that are less than or equal to the
            specified value. GTE (Greater than or equal to): Searches for values
            that are greater than or equal to the specified value.
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
      required:
        - condition
        - field
    locationSearchRequest:
      type: object
      description: Sample request to search locations
      example:
        sort: '-location.createdAt'
        filters:
          - field: location.locationNum
            value: '11245'
            condition: EQ
          - field: location.type
            values:
              - DC
              - STORE
            condition: IN
      properties:
        sort:
          type: string
          default: '-location.createdAt'
          description: >-
            Property by which data is sorted. <p> **Note**: `-` refers to
            descending and `+` refers to ascending order.
          example: +location.createdAt
          pattern: (^[+-]location\.[a-zA-Z.\-_]*)(,([+-]location\.[a-zA-Z.\-_]*)){0,}
        filters:
          type: array
          items:
            $ref: '#/components/schemas/locationSearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
      required:
        - filters
    locationSearchResponse:
      type: object
      description: Location search response
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/locationResponse'
        stats:
          type: array
          items:
            type: string
            description: Stats Details
    locationUpdateRequest:
      type: object
      description: >-
        Request payload used to update an existing location. Includes changes to
        fulfillment status, attributes, and operational configuration.
      properties:
        isActive:
          type: boolean
          description: >-
            Indicates whether the location is active for order fulfillment
            operations. Use `true` to activate the location or `false` to
            deactivate it.
          example: true
        address:
          $ref: '#/components/schemas/locationAddress'
          description: The updated physical address of the location.
        type:
          type: string
          description: >-
            The classification of the location, such as a distribution center
            (DC), retail store, or third-party logistics facility.
          example: DC
        capacity:
          $ref: '#/components/schemas/capacity'
          description: >-
            Defines the maximum allocation and throughput limits for the
            location.
        services:
          type: object
          description: >-
            Custom key-value attributes that define the location’s services or
            classification. Often used for filtering or routing.
          example:
            brand: WHBM
            channel: Frontline
        operatingHours:
          type: array
          description: >-
            A list of operating hours that define the daily schedule of the
            location.
          items:
            $ref: '#/components/schemas/operatingHours'
        coordinates:
          $ref: '#/components/schemas/geoJsonPoint'
          description: >-
            The geographic coordinates of the location in [longitude, latitude]
            format. Longitude must be between -180 and 180, and latitude between
            -90 and 90.
          example:
            type: Point
            coordinates:
              - -122.3493
              - 47.6205
        attributes:
          type: object
          description: Additional custom attributes associated with the location.
          example:
            isReturns: 'true'
        supportedCarriers:
          type: array
          description: A list of shipping carriers supported by the location.
          items:
            $ref: '#/components/schemas/Carrier'
        activeFulfillmentMethods:
          type: object
          description: >-
            A map of fulfillment methods that are currently active for the
            location.
          example:
            ShipToHome: 'true'
        transfer:
          $ref: '#/components/schemas/transfer'
          description: >-
            Configuration for inventory transfer operations involving this
            location.
    name:
      type: object
      description: Contact person's name for the location
      properties:
        firstName:
          type: string
          description: First name
          example: Pat
        middleName:
          type: string
          description: Middle name or initial
          example: E
        lastName:
          type: string
          description: Last name
          example: Kake
    nearbyLocationResponse:
      type: object
      description: >-
        Response object representing a nearby location relative to a specified
        address, including metadata such as distance, status, and capabilities.
      properties:
        distance:
          type: number
          format: double
          description: >-
            Distance between the queried address and the location, typically
            measured in meters.
          example: 100
        locationId:
          type: string
          description: System-generated unique identifier for the location.
          example: 9372919a8219e8
        locationNumber:
          type: integer
          format: int32
          description: Merchant-defined unique identifier for the location.
          example: 23
        isActive:
          type: boolean
          description: >-
            Indicates whether the location is currently active for order
            fulfillment operations. A value of `true` means active; `false`
            means inactive.
          example: true
        address:
          $ref: '#/components/schemas/locationAddress'
          description: Physical address associated with the location.
        type:
          type: string
          description: >-
            Classification of the location (for example, distribution center,
            retail store).
          example: DC
        capacity:
          $ref: '#/components/schemas/capacity'
          description: Capacity constraints and allocation limits defined for the location.
        services:
          type: object
          description: >-
            Custom service attributes that define or categorize the location.
            Often used for routing or filtering purposes.
          example:
            brand: WHBM
            channel: Frontline
        zones:
          type: array
          description: A list of shipping zones associated with the location.
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          description: >-
            Timestamp indicating when the location record was created, in ISO
            8601 UTC format.
          example: '2022-05-25T07:58:30.996Z'
        updatedAt:
          type: string
          format: date-time
          description: >-
            Timestamp indicating when the location record was last updated, in
            ISO 8601 UTC format.
          example: '2022-05-25T07:58:30.996Z'
        operatingHours:
          type: array
          description: Weekly schedule defining the operating hours of the location.
          items:
            $ref: '#/components/schemas/operatingHours'
        coordinates:
          $ref: '#/components/schemas/geoJsonPoint'
          description: >-
            Geographic coordinates in GeoJSON format. Must be in the form
            `[longitude, latitude]` with longitude between -180 and 180, and
            latitude between -90 and 90.
          example:
            type: Point
            coordinates:
              - -122.3493
              - 47.6205
        attributes:
          type: object
          description: Additional metadata or flags related to the location.
          example:
            isReturns: 'true'
        supportedCarriers:
          type: array
          description: List of shipping carriers supported by this location.
          items:
            $ref: '#/components/schemas/Carrier'
        activeFulfillmentMethods:
          type: object
          description: >-
            A map of fulfillment methods currently supported and enabled at the
            location.
          example:
            ShipToHome: 'true'
        transfer:
          $ref: '#/components/schemas/transfer'
          description: Configuration for inventory transfers to or from the location.
        name:
          type: string
          description: Human-readable name of the location.
          example: Seattle Store
      required:
        - locationNumber
        - name
    operatingHours:
      type: object
      description: Store operating hour
      properties:
        day:
          type: string
          description: Day of week
          enum:
            - SUNDAY
            - MONDAY
            - TUESDAY
            - WEDNESDAY
            - THURSDAY
            - FRIDAY
            - SATURDAY
          example: SUNDAY
        hours:
          type: array
          items:
            $ref: '#/components/schemas/hours'
    orderAuditLogUpdatedField:
      type: object
      description: Audit log for change history
      properties:
        fieldName:
          type: string
          description: Field or property name that was updated
          example: UOM
        fieldOriginalValue:
          type: string
          description: Original value of `fieldName` before it was updated
          example: PK
    orderNote:
      type: object
      description: Note for attention
      properties:
        createdAt:
          type: string
          description: Time note was created (UTC)
          example: '2022-05-12T09:30:31.198Z'
        user:
          type: string
          description: >-
            Customer Service Representative or Employee (ID or name) who created
            the note
          example: 62272e917b12209e68751d94
        notes:
          type: string
          description: Additional info about the order, if any
          example: Fragile - handle with care
    orderPaymentToken:
      type: object
      description: Order payment token details
      properties:
        token:
          type: string
          description: Payment token provided by payment provider
          example: pi_34tr6787rt
        paymentType:
          type: string
          description: >-
            Payment type, for example, credit card payment providers can be
            Visa, Mastercard, American express, etc.
          example: VISA
    outageCancellationRequest:
      type: object
      description: Outage cancellation request
      properties:
        reasonCode:
          type: string
          description: Merchant-defined reason code for outage
          example: NOT_REQUIRED
      required:
        - reasonCode
    outageResponse:
      type: object
      description: >-
        Response object representing a scheduled outage at a specific location,
        including status, duration, fulfillment impact, and auditing
        information.
      properties:
        outageId:
          type: string
          description: A system-generated unique identifier for the outage event.
          example: 9320183a01e214
        outageNumber:
          type: string
          description: A merchant-defined unique identifier used to reference the outage.
          example: OUTAGE1
        locationNumber:
          type: integer
          format: int32
          description: >-
            The unique identifier of the location affected by the outage, as
            defined by the merchant.
          example: 23
        status:
          type: string
          description: The current status of the outage lifecycle.
          enum:
            - CREATED
            - STARTED
            - ENDED
            - CANCELLED
          example: CREATED
        disabledFulfillmentMethods:
          type: array
          description: >-
            A list of fulfillment methods that are disabled during the outage
            period (for example, ShipToHome, Pickup).
          items:
            type: string
            description: A fulfillment method that will be unavailable during the outage.
          uniqueItems: true
        schedule:
          $ref: '#/components/schemas/OutageScheduleResource'
          description: >-
            The date and time range during which the outage is scheduled to
            occur.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason for initiating the outage (for example,
            maintenance, staffing, system upgrade).
          example: maintenance
        notes:
          type: string
          description: Optional notes or additional context related to the outage.
          example: Any additional info
        createdBy:
          type: string
          description: The user or system that originally created the outage record.
          example: Carl Doe
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the outage was created, in ISO 8601 UTC format.
          example: '2022-05-12T09:30:31Z'
        updatedBy:
          type: string
          description: The user or system that last modified the outage record.
          example: Carl Doe
        updatedAt:
          type: string
          format: date-time
          description: >-
            The timestamp of the most recent update to the outage record, in ISO
            8601 UTC format.
          example: '2022-05-12T09:30:31Z'
        auditLogs:
          type: array
          description: >-
            A list of audit log entries capturing changes and actions performed
            on the outage record.
          items:
            $ref: '#/components/schemas/auditLog'
      required:
        - disabledFulfillmentMethods
        - locationNumber
        - reasonCode
        - schedule
    outageSearchFilter:
      type: object
      description: outage search filter
      discriminator:
        propertyName: condition
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
      properties:
        group:
          type: string
          default: Default
          description: Group name
          example: GroupA
        field:
          type: string
          description: Field name
          example: outage.status
          pattern: ^outage\.[a-zA-Z.\-_]*
        condition:
          type: string
          default: EQ
          description: SearchCondition to apply filter
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
      required:
        - field
    OutageScheduleResource:
      type: object
      description: Schedule of outage
      properties:
        startDate:
          type: string
          format: date-time
          description: outage created date
          example: '2022-05-12T09:30:31Z'
        endDate:
          type: string
          format: date-time
          description: outage created date
          example: '2022-05-12T09:30:31Z'
        indefinite:
          type: boolean
      required:
        - startDate
    outageSearchRequest:
      type: object
      description: outage search request
      example:
        sort: '-outage.createdAt'
        filters:
          - field: outage.status
            value: CREATED
            condition: EQ
      properties:
        sort:
          type: string
          default: '-outage.createdAt'
          description: Resource property on which data needed to be sorted on.
          example: +outage.createdAt
          pattern: (^[+-]outage\.[a-zA-Z.\-_]*)(,([+-]alert\.[a-zA-Z.\-_]*)){0,}
        filters:
          type: array
          items:
            $ref: '#/components/schemas/outageSearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
      required:
        - filters
    outageSearchResponse:
      type: object
      description: Outage search response
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/outageResponse'
        stats:
          type: array
          items:
            type: string
            description: Stats Details
    pagination:
      type: object
      description: Pagination response
      properties:
        limit:
          type: integer
          format: int32
          default: '10'
          description: Maximum number of records per page
          example: 10
          maximum: 100
          minimum: 1
        offset:
          type: integer
          format: int32
          default: '0'
          description: >-
            Number of records to skip before returning all records. For example,
            `offset=20, limit=10` returns records 21-30.
          example: 1
          minimum: 0
        count:
          type: integer
          format: int32
          description: Total number of search results
          example: 1000
    phone:
      type: object
      description: Phone number details
      properties:
        number:
          type: string
          description: Phone number
          example: '0281923712'
        type:
          type: string
          description: Phone type
          example: MOBILE
    transfer:
      type: object
      description: Location transfer Model used setup transfer configuration for location
      properties:
        isAutoReceiving:
          type: boolean
          description: Enable or disable auto receiving for transfer
        autoStockWindow:
          type: string
          description: Sets the auto stock window for location transfer
          example: PT10M
    updateCapacityOverrideRequest:
      type: object
      description: >-
        Request payload used to update an existing capacity override for a
        specific location. Updates include changes to capacity limits,
        scheduling, or associated metadata.
      properties:
        locationNumber:
          type: string
          description: >-
            A unique identifier for the location affected by the capacity
            override, as defined by the merchant.
          example: '23'
        capacity:
          type: integer
          format: int32
          description: >-
            The updated maximum number of allocations that the location can
            accept at any one time. When `currentAllocations` equals this value,
            the location is considered "AtCapacity" and cannot receive
            additional orders.
          example: 30
        schedule:
          $ref: '#/components/schemas/CapacityOverrideScheduleResource'
          description: >-
            The updated time range during which the capacity override should
            apply.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason for modifying the capacity override (for
            example, holiday, system outage, staffing changes).
          example: holiday
        notes:
          $ref: '#/components/schemas/orderNote'
          description: >-
            Optional field for any supplemental notes or internal context
            regarding the update.
          example: Any additional info
        createdBy:
          type: string
          description: The user or system who originally created the capacity override.
          example: Carl Doe
        updatedBy:
          type: string
          description: The user or system who most recently updated the capacity override.
          example: Carl Doe
      required:
        - capacity
        - reasonCode
        - schedule
    updateOutageRequest:
      type: object
      description: >-
        Request payload used to update an existing outage for a specific
        location. Allows modifications to fulfillment method availability,
        scheduling, and related metadata.
      properties:
        locationNumber:
          type: integer
          format: int32
          description: >-
            The unique identifier of the location impacted by the outage, as
            defined by the merchant.
          example: 23
        disabledFulfillmentMethods:
          type: array
          description: >-
            A list of fulfillment methods that will be temporarily disabled
            during the updated outage period (for example, ShipToHome, Pickup).
          items:
            type: string
            description: >-
              A fulfillment method to be disabled for the duration of the
              outage.
          uniqueItems: true
        schedule:
          $ref: '#/components/schemas/OutageScheduleResource'
          description: The updated time window during which the outage will be in effect.
        reasonCode:
          type: string
          description: >-
            A merchant-defined reason for the outage update, used for
            operational tracking (for example, maintenance, severe weather,
            staffing).
          example: maintenance
        notes:
          type: string
          description: >-
            Optional notes or comments providing additional context for the
            outage update.
          example: Any additional info
        createdBy:
          type: string
          description: >-
            Identifier of the user or system that originally created the outage
            record.
          example: Carl Doe
        updatedBy:
          type: string
          description: Identifier of the user or system making this update.
          example: Carl Doe
      required:
        - disabledFulfillmentMethods
        - locationNumber
        - reasonCode
        - schedule
    updateZoneRequest:
      type: object
      description: Update geography request
      properties:
        geographyName:
          type: string
          description: Geography name
          example: US_Geo_PostalCode
        description:
          type: string
          description: Detailed description of the geography
          example: Specific geography for US Zones
        type:
          type: string
          description: Geography type
          example: PostalCode
        values:
          type: array
          items:
            type: string
        associatedZone:
          type: string
          description: Associated zone
          example: US_Zone
        linkedNetworks:
          type: array
          items:
            type: string
        resourceId:
          type: string
        subResourceId:
          type: string
      required:
        - geographyName
        - type
    valueSearchFilter:
      allOf:
        - $ref: '#/components/schemas/locationSearchFilter'
        - type: object
          properties:
            value:
              type: object
              description: A single value for `field` using which data is searched
              example: ORDER_CREATE
              oneOf:
                - type: string
                  description: Target record's non-numeric identifier
                  example: ORDER_CREATE
                - type: number
                  format: int64
                  description: Target record's numeric identifier
                  example: 112233
                - type: number
                  format: double
                  description: Target record's numeric identifier
                  example: 1122.33
      description: >-
        Criteria to find location using a single value. Condition between
        `field` and `value` is anything except IN and NIN when
        `valueSearchFilter` is used.
      required:
        - condition
        - field
    valuesSearchFilter:
      allOf:
        - $ref: '#/components/schemas/locationSearchFilter'
        - type: object
          properties:
            values:
              type: array
              items:
                description: Multiple values for `field` using which locations are searched
                example: ORDER_CREATE
                oneOf:
                  - type: string
                    description: Target record's non-numeric identifier
                    example: ORDER_CREATE
                  - type: number
                    format: int64
                    description: Target record's numeric identifier
                    example: 112233
                  - type: number
                    format: double
                    description: Target record's numeric identifier
                    example: 1122.33
              maxItems: 25
              minItems: 0
      description: >-
        Criteria to find locations using multiple values. Condition between
        `field` and `values` is either IN or NIN when `valuesSearchFilter` is
        used.
      required:
        - condition
        - field
    zoneGeographyAssociationSearchRequest:
      type: object
      description: Sample request to search geographies
      example:
        sort: '-geography.createdAt'
        filters:
          - field: geography.geographyName
            value: US_GEO
            condition: EQ
          - field: geography.locations.locationNumber
            values:
              - '1'
              - '2'
            condition: IN
      properties:
        sort:
          type: string
          default: '-geography.createdAt'
          description: >-
            Property by which data is sorted. <p> **Note**: `-` refers to
            descending and `+` refers to ascending order.
          example: +geography.createdAt
          pattern: (^[+-]geography\.[a-zA-Z.\-_]*)(,([+-]geography\.[a-zA-Z.\-_]*)){0,}
        filters:
          type: array
          items:
            $ref: '#/components/schemas/geographySearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
      required:
        - filters
    zoneLocationResource:
      type: object
      description: Zone location resource model
      properties:
        priority:
          type: string
          description: Priority
          example: 1
        locationNumber:
          type: string
          description: Merchant-specified unique number to identify the location
          example: 23
      required:
        - locationNumber
        - priority
    zoneResponse:
      type: object
      description: Zone response
      properties:
        zoneId:
          type: string
          description: System-generated unique ID to identify the zone
          example: 9372919a8219e8
        zoneName:
          type: string
          description: Zone name
          example: US_LOCATIONS
        zoneType:
          type: string
          description: Zone type
          enum:
            - ABSOLUTE
            - TIERED
          example: ABSOLUTE
        description:
          type: string
          description: Detailed description of the zone
          example: Specific zone for US Locations
        locations:
          type: array
          items:
            $ref: '#/components/schemas/zoneLocationResource'
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/zoneTierResource'
        createdAt:
          type: string
          format: date-time
          description: Zone created date
          example: '2022-05-12T09:30:31.198Z'
        updatedAt:
          type: string
          format: date-time
          description: Time of last update to zone (UTC)
          example: '2022-05-12T09:30:31.198Z'
      required:
        - zoneName
        - zoneType
    zoneSearchFilter:
      type: object
      description: >-
        Criteria to search zones. To search using a single value,
        `valueSearchFilter` is used. To search using multiple values,
        `valuesSearchFilter` is used.
      discriminator:
        propertyName: condition
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
      properties:
        group:
          type: string
          default: Default
          description: Group name
          example: GroupA
        field:
          type: string
          description: Field name
          example: zone.zoneName
          pattern: ^zone\.[a-zA-Z.\-_]*
        condition:
          type: string
          default: EQ
          description: >-
            Filter conditions. <br> EQ (Equal to): Searches for exact match.
            <br> NEQ (Not equal to): Searches by excluding the specified value.
            <br> IN: Search for multiple values. <br> NIN (Not IN): Excludes the
            specified values in the search. LT (Less than): Searches for values
            that are less than the specified value. GT (Greater than):  Search
            for values that are greater than the specified value. LTE (Less than
            or equal to): Searches for values that are less than or equal to the
            specified value. GTE (Greater than or equal to): Searches for values
            that are greater than or equal to the specified value.
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
      required:
        - condition
        - field
    zoneSearchRequest:
      type: object
      description: Sample request to search zones
      example:
        sort: '-zone.createdAt'
        filters:
          - field: zone.zoneName
            value: US_ZONE
            condition: EQ
          - field: zone.locations.locationNumber
            values:
              - '1'
              - '2'
            condition: IN
      properties:
        sort:
          type: string
          default: '-zone.createdAt'
          description: >-
            Property by which data is sorted. <p> **Note**: `-` refers to
            descending and `+` refers to ascending order.
          example: +zone.createdAt
          pattern: (^[+-]zone\.[a-zA-Z.\-_]*)(,([+-]zone\.[a-zA-Z.\-_]*)){0,}
        filters:
          type: array
          items:
            $ref: '#/components/schemas/zoneSearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
      required:
        - filters
    zoneTierResource:
      type: object
      description: Zone tier resource model
      properties:
        sort:
          type: string
          default: '-location.createdAt'
          description: >-
            Property by which data is sorted. <p> **Note**: `-` refers to
            descending and `+` refers to ascending order.
          example: +location.createdAt
          pattern: (^[+-]location\.[a-zA-Z.\-_]*)(,([+-]location\.[a-zA-Z.\-_]*)){0,}
        filters:
          type: array
          items:
            $ref: '#/components/schemas/locationSearchFilter'
            description: List to filters for search
            maxItems: 50
            minItems: 0
          maxItems: 50
          minItems: 0
        tier:
          type: integer
          format: int32
      required:
        - filters
    ZoneSearchResponse:
      type: object
      description: Zone search response
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        data:
          type: array
          items:
            $ref: '#/components/schemas/zoneResponse'
        stats:
          type: array
          items:
            type: string
            description: Stats Details
  securitySchemes:
    authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http
info:
  contact:
    email: support@fabric.inc
    name: fabric Orders team
  description: >-
    fabric **Locations** API provides location endpoints that support
    multi-tenant services. This location data is used for both inventory
    management and order management. When an order is created, it's allocated to
    the nearest location according to the Order Fulfillment Logic.
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  termsOfService: https://fabric.inc/terms-of-use
  title: Inventory - Locations API
  version: 3.0.0
  x-audience: external-public
openapi: 3.0.1
x-mint:
  mcp:
    enabled: true
paths:
  /location-capacity/search:
    post:
      tags:
        - Location Capacity Endpoints
      summary: Search Overrides
      description: >-
        Returns a list of capacity overrides by applying one or more filter
        criteria such as status, schedule, or location number.
      operationId: searchLocationCapacityOverride
      parameters:
        - name: offset
          in: query
          description: >-
            Number of records to skip before returning all records. Default is
            `0` when no value is specified.
          schema:
            type: number
            default: 0
            example: 1
          example: 0
        - name: limit
          in: query
          description: Maximum number of records per page
          schema:
            type: number
            default: 10
            example: 10
          example: 10
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/capacityOverrideSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CapacityOverrideSearchResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-capacity/{capacityOverrideId}/actions/cancel:
    post:
      tags:
        - Location Capacity Endpoints
      summary: Cancel Override
      description: >-
        Cancels an existing capacity override identified by
        `capacityOverrideId`.
      operationId: cancelCapacityOverride
      parameters:
        - name: capacityOverrideId
          in: path
          description: System-specified unique number to identify the `CapacityOverride`.
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CapacityOverrideCancellationRequest'
        required: true
      responses:
        '200':
          description: Cancelled
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capacityOverrideResponse'
              example:
                CapacityOverrideNumber: CapacityOverride1
                locationNumber: 23
                status: CANCELLED
                type: SHIP
                startDate: '2022-05-12T09:30:31.198Z'
                endDate: '2022-05-12T09:30:31.198Z'
                createdBy: Carl Doe
                createdAt: '2022-05-12T09:30:31.198Z'
                updatedBy: Carl Doe
                updatedAt: '2022-05-12T09:30:31.198Z'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-outages/outage-number/{outageNumber}:
    put:
      tags:
        - Location Outage Endpoints
      summary: Update a specific location outage
      description: 'Update details of a specific location outage by outageNumber. '
      operationId: updateOutageUsingOutageNumber
      parameters:
        - name: outageNumber
          in: path
          description: Merchant-specified unique number to identify the outage
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateOutageRequest'
        required: true
      responses:
        '200':
          description: Location outage updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outageResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Location outage not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Location outage with outageNumber: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-outages/outage-number/{outageNumber}/actions/cancel:
    post:
      tags:
        - Location Outage Endpoints
      summary: Cancel outage using outageNumber
      description: Cancel outage using outageNumber
      operationId: cancelOutageUsingOutageNumber
      parameters:
        - name: outageNumber
          in: path
          description: Merchant-specified unique number to identify the outage
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/outageCancellationRequest'
        required: true
      responses:
        '200':
          description: Cancelled
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outageResponse'
              example:
                outageNumber: OUTAGE1
                locationNumber: 23
                status: CANCELLED
                type: SHIP
                startDate: '2022-05-12T09:30:31.198Z'
                endDate: '2022-05-12T09:30:31.198Z'
                createdBy: Carl Doe
                createdAt: '2022-05-12T09:30:31.198Z'
                updatedBy: Carl Doe
                updatedAt: '2022-05-12T09:30:31.198Z'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-capacity/{capacityOverrideId}:
    put:
      tags:
        - Location Capacity Endpoints
      summary: Update Override
      description: >-
        Updates the details of an existing capacity override using its
        `capacityOverrideId`.
      operationId: updateCapacityOverride
      parameters:
        - name: capacityOverrideId
          in: path
          description: >-
            Merchant-specified unique number to identify the location
            `CapacityOverride`.
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateCapacityOverrideRequest'
        required: true
      responses:
        '200':
          description: Location Capacity Override updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capacityOverrideResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Location Capacity Override not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: >-
                  Location CapacityOverride with CapacityOverrideId:
                  9372919a8219e8 not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-capacity:
    post:
      tags:
        - Location Capacity Endpoints
      summary: Create Override
      description: >-
        Creates a new capacity override for a specific location, including
        schedule, reason code, and capacity limit.
      operationId: createCapacityOverride
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createCapacityOverrideRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/capacityOverrideResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /locations/{locationNumber}:
    get:
      tags:
        - Locations
      summary: Get a specific location
      description: Get a specific location by location number.
      operationId: getLocation
      parameters:
        - name: locationNumber
          in: path
          description: Merchant-specified unique number to identify the location
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locationResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Location with locationNumber 123 is not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    put:
      tags:
        - Locations
      summary: Update a specific location
      description: Update details of a specific location by location number.
      operationId: updateLocation
      parameters:
        - name: locationNumber
          in: path
          description: Merchant-specified unique number to identify the location
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/locationUpdateRequest'
              example: '{"name":"Store 403","number":403"}'
        required: true
      responses:
        '200':
          description: Location updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locationResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Location not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Location with locationNumber 20 not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    delete:
      tags:
        - Locations
      summary: Delete a location
      description: Delete a location by location number.
      operationId: deleteLocation
      parameters:
        - name: locationNumber
          in: path
          description: Merchant-specified unique number to identify the location
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locationResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Location with locationNumber 20 not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-outages:
    post:
      tags:
        - Location Outage Endpoints
      summary: Create Outage
      description: Creates an Outage
      operationId: createOutage
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createOutageRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outageResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /locations:
    post:
      tags:
        - Locations
      summary: Create a location
      description: Create a location to utilize for managing inventory and orders.
      operationId: createLocation
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/locationRequest'
        required: true
      responses:
        '201':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locationResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '409':
          description: Either location number or coordinates already exist
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Location already exists
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-capacity/actions/bulk-create:
    post:
      tags:
        - Location Capacity Endpoints
      summary: Bulk Create Overrides
      description: >-
        Creates capacity overrides in bulk for multiple locations using a shared
        schedule and configuration.
      operationId: bulkCreateCapacityOverride
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/bulkCreateCapacityOverrideRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/capacityOverrideResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /locations/search:
    post:
      tags:
        - Locations
      summary: Get locations by query
      description: Get a list of locations by specified filter criteria.
      operationId: searchLocation
      parameters:
        - name: offset
          in: query
          description: >-
            Number of records to skip before returning all records. Default is
            `0` when no value is specified.
          schema:
            type: number
            default: 0
            example: 1
          example: 0
        - name: limit
          in: query
          description: Maximum number of records per page
          schema:
            type: number
            default: 10
            example: 10
          example: 10
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/locationSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locationSearchResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-outages/{outageId}:
    put:
      tags:
        - Location Outage Endpoints
      summary: Update a specific location outage
      description: 'Update details of a specific location outage by `outageId`. '
      operationId: updateOutage
      parameters:
        - name: outageId
          in: path
          description: Merchant-specified unique number to identify the location outage
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateOutageRequest'
        required: true
      responses:
        '200':
          description: Location outage updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outageResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Location outage not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Location outage with outageId: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /locations/geography-search:
    post:
      tags:
        - Locations
      summary: Search Nearby Locations
      description: >-
        Searches for nearby locations based on a specified address or coordinate
        input. Useful for location-aware services and delivery matching.
      operationId: searchGeography
      parameters:
        - name: offset
          in: query
          description: >-
            Number of records to skip before returning all records. Default is
            `0` when no value is specified.
          schema:
            type: integer
            format: int32
            default: 0
            example: 0
          example: 0
        - name: limit
          in: query
          description: Maximum number of records per page
          schema:
            type: integer
            format: int32
            default: 10
            example: 10
            maximum: 100
            minimum: 1
          example: 10
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/locationGeoSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/locationGeoSearchResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-outages/{outageId}/actions/cancel:
    post:
      tags:
        - Location Outage Endpoints
      summary: Cancel outage
      description: Cancel outage
      operationId: cancelOutage
      parameters:
        - name: outageId
          in: path
          description: System-specified unique number to identify the outage
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/outageCancellationRequest'
        required: true
      responses:
        '200':
          description: Cancelled
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outageResponse'
              example:
                outageNumber: OUTAGE1
                locationNumber: 23
                status: CANCELLED
                type: SHIP
                startDate: '2022-05-12T09:30:31.198Z'
                endDate: '2022-05-12T09:30:31.198Z'
                createdBy: Carl Doe
                createdAt: '2022-05-12T09:30:31.198Z'
                updatedBy: Carl Doe
                updatedAt: '2022-05-12T09:30:31.198Z'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-outages/search:
    post:
      tags:
        - Location Outage Endpoints
      summary: Get LocationOutages by query
      description: Get a list of LocationOutages by specified filter criteria.
      operationId: searchLocationOutages
      parameters:
        - name: offset
          in: query
          description: >-
            Number of records to skip before returning all records. Default is
            `0` when no value is specified.
          schema:
            type: number
            default: 0
            example: 1
          example: 0
        - name: limit
          in: query
          description: Maximum number of records per page
          schema:
            type: number
            default: 10
            example: 10
          example: 10
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/outageSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outageSearchResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-zones/search:
    post:
      tags:
        - Location Zone Endpoints
      summary: Search Zones
      description: >-
        Returns a filtered list of location zones based on query parameters like
        zone name or associated geographies.
      operationId: searchZones
      parameters:
        - name: offset
          in: query
          description: >-
            Number of records to skip before returning all records. Default is
            `0` when no value is specified.
          schema:
            type: number
            default: 0
            example: 1
          example: 0
        - name: limit
          in: query
          description: Maximum number of records per page
          schema:
            type: number
            default: 10
            example: 10
          example: 10
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/zoneSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneSearchResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-zones/{zoneId}:
    get:
      tags:
        - Location Zone Endpoints
      summary: Get Zone by ID
      description: >-
        Retrieves the details of a specific location zone by its unique
        `zoneId`.
      operationId: getZoneById
      parameters:
        - name: zoneId
          in: path
          description: System-generated unique ID to identify the zone.
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: Zone
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Zone not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Zone with zoneId: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    put:
      tags:
        - Location Zone Endpoints
      summary: Update Zone by ID
      description: Updates zone attributes using its `zoneId`.
      operationId: updateZone
      parameters:
        - name: zoneId
          in: path
          description: System-generated unique ID to identify the zone
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateZoneRequest'
        required: true
      responses:
        '200':
          description: Zone updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Zone not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Zone with zoneId: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    delete:
      tags:
        - Location Zone Endpoints
      summary: Delete Zone by ID
      description: Deletes a zone by its `zoneId`.
      operationId: deleteZoneById
      parameters:
        - name: zoneId
          in: path
          description: System-generated unique ID to identify the zone
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Zone with zoneId 9372919a8219e8 not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-zones:
    post:
      tags:
        - Location Zone Endpoints
      summary: Create Zone
      description: Creates a new location zone with associated metadata and geographies.
      operationId: createZone
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createZoneRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-zones/zone-name/{zoneName}:
    get:
      tags:
        - Location Zone Endpoints
      summary: Get Zone by Name
      description: >-
        Retrieves zone configuration details using the zone’s human-readable
        `zoneName`.
      operationId: getZoneUsingZoneName
      parameters:
        - name: zoneName
          in: path
          description: Merchant-specified unique number to identify the zone
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: Zone
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Zone not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Zone with zoneName: US_ZONE not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    put:
      tags:
        - Location Zone Endpoints
      summary: Update Zone by Name
      description: >-
        Updates the details of a specific location zone identified by its
        `zoneName`.
      operationId: updateZoneUsingZoneName
      parameters:
        - name: zoneName
          in: path
          description: Merchant-specified unique number to identify the zone
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateZoneRequest'
        required: true
      responses:
        '200':
          description: Location zone updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Location zone not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Location zone with zoneName: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    delete:
      tags:
        - Location Zone Endpoints
      summary: Delete Zone by Name
      description: Deletes a zone by its `zoneName`.
      operationId: deleteZoneByName
      parameters:
        - name: zoneName
          in: path
          description: Merchant-specified unique number to identify the zone
          required: true
          schema:
            type: string
          example: US_ZONE
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Zone with zoneName US_ZONE not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-geographies/geography-name/{geographyName}:
    get:
      tags:
        - Location Geography Endpoints
      summary: Get Geography by Name
      description: Retrieves geography details using the geography's `geographyName`.
      operationId: getGeographyUsingGeographyName
      parameters:
        - name: geographyName
          in: path
          description: Merchant-specified unique number to identify the geography
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: Geography
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Geography not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Geography with geographyName: US_ZONE not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    put:
      tags:
        - Location Geography Endpoints
      summary: Update Geography by Name
      description: Updates a geography's properties by its `geographyName`.
      operationId: updateGeographyUsingGeographyName
      parameters:
        - name: geographyName
          in: path
          description: Merchant-specified unique number to identify the geography
          required: true
          schema:
            type: string
          example: 23
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateZoneRequest'
        required: true
      responses:
        '200':
          description: Location geography updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Location geography not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: >-
                  Location geography with geographyName: 9372919a8219e8 not
                  found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    delete:
      tags:
        - Location Geography Endpoints
      summary: Delete Geography by Name
      description: Deletes a geography using its `geographyName`.
      operationId: deleteGeographyByName
      parameters:
        - name: geographyName
          in: path
          description: Merchant-specified unique number to identify the geography
          required: true
          schema:
            type: string
          example: US_ZONE
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Geography with geographyName US_ZONE not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-geographies/{geographyId}:
    get:
      tags:
        - Location Geography Endpoints
      summary: Get Geography by ID
      description: >-
        Returns the details of a geography specified by its unique
        `geographyId`.
      operationId: getGeographyById
      parameters:
        - name: geographyId
          in: path
          description: System-generated unique ID to identify the geography
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: Geography
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Geography not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Geography with geographyId: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    put:
      tags:
        - Location Geography Endpoints
      summary: Update Geography by ID
      description: Updates geography attributes using its `geographyId`.
      operationId: updateGeography
      parameters:
        - name: geographyId
          in: path
          description: System-generated unique ID to identify the geography
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/updateZoneRequest'
        required: true
      responses:
        '200':
          description: Geography updated
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Geography not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: 'Geography with geographyId: 9372919a8219e8 not found'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
    delete:
      tags:
        - Location Geography Endpoints
      summary: Delete Geography by ID
      description: Deletes a geography by its `geographyId`.
      operationId: deleteGeographyById
      parameters:
        - name: geographyId
          in: path
          description: System-generated unique ID to identify the geography
          required: true
          schema:
            type: string
          example: 9372919a8219e8
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Geography with geographyId 9372919a8219e8 not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-geographies/actions/find-shipping-zone:
    post:
      tags:
        - Location Geography Endpoints
      summary: Find Shipping Zone
      description: >-
        Returns the most relevant shipping zone based on a given geography
        input.
      operationId: createGeography_1
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/findShippingZoneRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/findShippingZoneResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-geographies/search:
    post:
      tags:
        - Location Geography Endpoints
      summary: Search Geographies
      description: >-
        Returns a list of geographies that match filter criteria such as name,
        type, or associated zone.
      operationId: searchGeographies
      parameters:
        - name: offset
          in: query
          description: >-
            Number of records to skip before returning all records. Default is
            `0` when no value is specified.
          schema:
            type: number
            default: 0
            example: 1
          example: 0
        - name: limit
          in: query
          description: Maximum number of records per page
          schema:
            type: number
            default: 10
            example: 10
          example: 10
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/zoneGeographyAssociationSearchRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeographySearchResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /location-geographies:
    post:
      tags:
        - Location Geography Endpoints
      summary: Create Geography
      description: >-
        Creates a new geography with a given name, type, values, and associated
        zone.
      operationId: createGeography
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelIdOptional'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createZoneRequest'
        required: true
      responses:
        '201':
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/geographyResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
security:
  - authorization: []
servers:
  - description: Production
    url: https://api.fabric.inc/v3
tags:
  - description: These Endpoints help in performing Outage operations
    name: Location Outage Endpoints
  - description: These endpoints let you create and manage locations.
    name: Locations
  - description: These Endpoints help in performing capacity operations
    name: Location Capacity Endpoints
  - name: Location Geography Endpoints
    description: These Endpoints help in performing Geography operations
  - name: Location Zone Endpoints
    description: These Endpoints help in performing Zone operations
