components:
  schemas:
    AdjustmentConfig:
      additionalProperties: false
      description: |-
        Adjustment configuration.

        ## Attributes

        * `enabled`
          Determines whether the Adjustment feature is enabled on the application.
        * `manual_adjustment_enabled`
          Determines whether manual adjustment is allowed.
      example:
        enabled: true
        manual_adjustment_enabled: false
      properties:
        enabled:
          default: true
          title: Enabled
          type: boolean
        manual_adjustment_enabled:
          default: false
          title: Manual Adjustment Enabled
          type: boolean
      title: AdjustmentConfig
      type: object
    ConfigModel:
      properties:
        allow_adjustments_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on
            Adjustments
          title: Allow Adjustments Manual Quantity Editing
          type: boolean
        allow_counts_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on Count
            Tasks
          title: Allow Counts Manual Quantity Editing
          type: boolean
        allow_full_counts_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning items on Full
            counts
          title: Allow Full Counts Manual Quantity Editing
          type: boolean
        allow_receiving_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on
            Receiving
          title: Allow Receiving Manual Quantity Editing
          type: boolean
        allow_transfers_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on
            Transfers
          title: Allow Transfers Manual Quantity Editing
          type: boolean
        enabled_adjustments_stores:
          description: Stores that can create adjustments
          items:
            type: string
          title: Enabled Adjustments Stores
          type: array
        enabled_carton_receiving_stores:
          description: Stores which allow receiving using a carton identifier
          items:
            type: string
          title: Enabled Carton Receiving Stores
          type: array
        enabled_counts_stores:
          description: Stores that can do counts
          items:
            type: string
          title: Enabled Counts Stores
          type: array
        enabled_full_counts_stores:
          description: Stores that can do full counts
          items:
            type: string
          title: Enabled Full Counts Stores
          type: array
        enabled_receiving_stores:
          description: Stores that can receive
          items:
            type: string
          title: Enabled Receiving Stores
          type: array
        enabled_receiving_without_asn_stores:
          description: Stores which can receive without an ASN (blind receiving)
          items:
            type: string
          title: Enabled Receiving Without Asn Stores
          type: array
        enabled_reservations_stores:
          description: Stores that can do customer reservations
          items:
            type: string
          title: Enabled Reservations Stores
          type: array
        enabled_store_initiated_transfers_stores:
          description: Stores where a transfer can be initiated
          items:
            type: string
          title: Enabled Store Initiated Transfers Stores
          type: array
        enabled_transfers_stores:
          description: Stores that allow transfers
          items:
            type: string
          title: Enabled Transfers Stores
          type: array
        require_confirmation_on_scanning:
          description: Require confirmation when scanning an item
          title: Require Confirmation On Scanning
          type: boolean
      required:
        - enabled_carton_receiving_stores
        - enabled_transfers_stores
        - allow_transfers_manual_quantity_editing
        - enabled_store_initiated_transfers_stores
        - enabled_adjustments_stores
        - allow_adjustments_manual_quantity_editing
        - enabled_counts_stores
        - enabled_full_counts_stores
        - allow_counts_manual_quantity_editing
        - enabled_receiving_stores
        - allow_receiving_manual_quantity_editing
        - enabled_receiving_without_asn_stores
        - require_confirmation_on_scanning
        - allow_full_counts_manual_quantity_editing
        - enabled_reservations_stores
      title: ConfigModel
      type: object
    ConfigModelResponse:
      properties:
        allow_adjustments_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on
            Adjustments
          title: Allow Adjustments Manual Quantity Editing
          type: boolean
        allow_counts_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on Count
            Tasks
          title: Allow Counts Manual Quantity Editing
          type: boolean
        allow_full_counts_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning items on Full
            counts
          title: Allow Full Counts Manual Quantity Editing
          type: boolean
        allow_receiving_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on
            Receiving
          title: Allow Receiving Manual Quantity Editing
          type: boolean
        allow_transfers_manual_quantity_editing:
          description: >-
            Allow setting the product quantity when scanning an item on
            Transfers
          title: Allow Transfers Manual Quantity Editing
          type: boolean
        enabled:
          description: Returns true if inventory is enabled for the provided store.
          title: Enabled
          type: boolean
        enabled_adjustments_stores:
          description: Stores that can create adjustments
          items:
            type: string
          title: Enabled Adjustments Stores
          type: array
        enabled_carton_receiving_stores:
          description: Stores which allow receiving using a carton identifier
          items:
            type: string
          title: Enabled Carton Receiving Stores
          type: array
        enabled_counts_stores:
          description: Stores that can do counts
          items:
            type: string
          title: Enabled Counts Stores
          type: array
        enabled_full_counts_stores:
          description: Stores that can do full counts
          items:
            type: string
          title: Enabled Full Counts Stores
          type: array
        enabled_receiving_stores:
          description: Stores that can receive
          items:
            type: string
          title: Enabled Receiving Stores
          type: array
        enabled_receiving_without_asn_stores:
          description: Stores which can receive without an ASN (blind receiving)
          items:
            type: string
          title: Enabled Receiving Without Asn Stores
          type: array
        enabled_reservations_stores:
          description: Stores that can do customer reservations
          items:
            type: string
          title: Enabled Reservations Stores
          type: array
        enabled_store_initiated_transfers_stores:
          description: Stores where a transfer can be initiated
          items:
            type: string
          title: Enabled Store Initiated Transfers Stores
          type: array
        enabled_transfers_stores:
          description: Stores that allow transfers
          items:
            type: string
          title: Enabled Transfers Stores
          type: array
        require_confirmation_on_scanning:
          description: Require confirmation when scanning an item
          title: Require Confirmation On Scanning
          type: boolean
        store_config:
          description: Feature toggles for the provided store
          title: Store Config
      required:
        - enabled_carton_receiving_stores
        - enabled_transfers_stores
        - allow_transfers_manual_quantity_editing
        - enabled_store_initiated_transfers_stores
        - enabled_adjustments_stores
        - allow_adjustments_manual_quantity_editing
        - enabled_counts_stores
        - enabled_full_counts_stores
        - allow_counts_manual_quantity_editing
        - enabled_receiving_stores
        - allow_receiving_manual_quantity_editing
        - enabled_receiving_without_asn_stores
        - require_confirmation_on_scanning
        - allow_full_counts_manual_quantity_editing
        - enabled_reservations_stores
      title: ConfigModelResponse
      type: object
    CycleCountConfig:
      additionalProperties: false
      description: |-
        Cycle count configuration.

        ## Attributes

        * `enabled`
          Determines whether the Cycle Count feature is enabled on the application.
        * `count_modification_enabled`
          Determines whether cycle counts can be modified from the application.
        * `stock_on_hand_visible`
          Determines whether current Stock On Hand for an item is visible during
          cycle counts.
        * `additional_identifier_display`
          If set determines which of the external product identifiers to display
          additionally to product id in count task details.
      example:
        additional_identifier_display: ean
        count_modification_enabled: false
        enabled: true
        stock_on_hand_visible: false
      properties:
        additional_identifier_display:
          title: Additional Identifier Display
          type: string
        count_modification_enabled:
          default: false
          title: Count Modification Enabled
          type: boolean
        enabled:
          default: true
          title: Enabled
          type: boolean
        stock_on_hand_visible:
          default: false
          title: Stock On Hand Visible
          type: boolean
      title: CycleCountConfig
      type: object
    FulfillmentAppConfig:
      additionalProperties: false
      description: |-
        Fulfillment App configuration.

        ## Attributes

        * `cycle_count`
          Cycle count configuration.
        * `receiving`
          Receiving configuration.
        * `adjustment`
          Adjustment configuration.
        * `transfer`
          Transfers configuration.
      properties:
        adjustment:
          allOf:
            - $ref: '#/components/schemas/AdjustmentConfig'
          default:
            enabled: true
            manual_adjustment_enabled: false
          title: Adjustment
        cycle_count:
          allOf:
            - $ref: '#/components/schemas/CycleCountConfig'
          default:
            count_modification_enabled: false
            enabled: true
            stock_on_hand_visible: false
          title: Cycle Count
        receiving:
          allOf:
            - $ref: '#/components/schemas/ReceivingConfig'
          default:
            blind_receiving_enabled: false
            enabled: true
            manual_receiving_enabled: false
            order_ref:
              enabled: false
              label: Order Reference
            shipment_ref:
              enabled: true
              label: Shipment Reference
          title: Receiving
        transfer:
          allOf:
            - $ref: '#/components/schemas/TransferConfig'
          default:
            enabled: true
            manual_adjustment_enabled: false
          title: Transfer
      title: FulfillmentAppConfig
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ReceivingConfig:
      additionalProperties: false
      description: |-
        Receiving configuration.

        ## Attributes

        * `enabled`
          Determines whether the Receiving feature is enabled on the application.
        * `blind_receiving_enabled`
          Determines whether blind receiving is allowed.
        * `manual_receiving_enabled`
          Determines whether manual receiving is allowed.
        * `order_ref`
          Order reference configuration.
        * `shipment_ref`
          Shipment reference configuration.
      example:
        blind_receiving_enabled: false
        enabled: true
        manual_receiving_enabled: false
        order_ref:
          enabled: true
          label: Purchase Order Number
        shipment_ref:
          enabled: true
          label: Shipment Reference
      properties:
        blind_receiving_enabled:
          default: false
          title: Blind Receiving Enabled
          type: boolean
        enabled:
          default: true
          title: Enabled
          type: boolean
        manual_receiving_enabled:
          default: false
          title: Manual Receiving Enabled
          type: boolean
        order_ref:
          allOf:
            - $ref: '#/components/schemas/ReferenceConfig'
          default:
            enabled: false
            label: Order Reference
          title: Order Ref
        shipment_ref:
          allOf:
            - $ref: '#/components/schemas/ReferenceConfig'
          default:
            enabled: true
            label: Shipment Reference
          title: Shipment Ref
      title: ReceivingConfig
      type: object
    ReferenceConfig:
      additionalProperties: false
      description: Reference configuration.
      properties:
        enabled:
          default: false
          title: Enabled
          type: boolean
        label:
          title: Label
          type: string
      required:
        - label
      title: ReferenceConfig
      type: object
    RequiredAdjustmentConfig:
      additionalProperties: false
      properties:
        enabled:
          title: Enabled
          type: boolean
        manual_adjustment_enabled:
          title: Manual Adjustment Enabled
          type: boolean
      required:
        - enabled
        - manual_adjustment_enabled
      title: RequiredAdjustmentConfig
      type: object
    RequiredCycleCountConfig:
      additionalProperties: false
      properties:
        additional_identifier_display:
          title: Additional Identifier Display
          type: string
        count_modification_enabled:
          title: Count Modification Enabled
          type: boolean
        enabled:
          title: Enabled
          type: boolean
        stock_on_hand_visible:
          title: Stock On Hand Visible
          type: boolean
      required:
        - enabled
        - count_modification_enabled
        - stock_on_hand_visible
      title: RequiredCycleCountConfig
      type: object
    RequiredFulfillmentAppConfig:
      additionalProperties: false
      properties:
        adjustment:
          $ref: '#/components/schemas/RequiredAdjustmentConfig'
        cycle_count:
          $ref: '#/components/schemas/RequiredCycleCountConfig'
        receiving:
          $ref: '#/components/schemas/RequiredReceivingConfig'
        transfer:
          $ref: '#/components/schemas/RequiredTransferConfig'
      required:
        - cycle_count
        - receiving
        - adjustment
        - transfer
      title: RequiredFulfillmentAppConfig
      type: object
    RequiredReceivingConfig:
      additionalProperties: false
      properties:
        blind_receiving_enabled:
          title: Blind Receiving Enabled
          type: boolean
        enabled:
          title: Enabled
          type: boolean
        manual_receiving_enabled:
          title: Manual Receiving Enabled
          type: boolean
        order_ref:
          $ref: '#/components/schemas/RequiredReferenceConfig'
        shipment_ref:
          $ref: '#/components/schemas/RequiredReferenceConfig'
      required:
        - enabled
        - blind_receiving_enabled
        - manual_receiving_enabled
        - order_ref
        - shipment_ref
      title: RequiredReceivingConfig
      type: object
    RequiredReferenceConfig:
      additionalProperties: false
      properties:
        enabled:
          title: Enabled
          type: boolean
        label:
          title: Label
          type: string
      required:
        - enabled
        - label
      title: RequiredReferenceConfig
      type: object
    RequiredTransferConfig:
      additionalProperties: false
      properties:
        enabled:
          title: Enabled
          type: boolean
        manual_adjustment_enabled:
          title: Manual Adjustment Enabled
          type: boolean
      required:
        - enabled
        - manual_adjustment_enabled
      title: RequiredTransferConfig
      type: object
    TransferConfig:
      additionalProperties: false
      description: |-
        Transfers configuration.

        ## Attributes

        * `enabled`
          Determines whether the Transfers feature is enabled on the application.
        * `manual_adjustment_enabled`
          Determines whether transfer adjustment is allowed.
      properties:
        enabled:
          default: true
          title: Enabled
          type: boolean
        manual_adjustment_enabled:
          default: false
          title: Manual Adjustment Enabled
          type: boolean
      title: TransferConfig
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
info:
  contact:
    name: Team Inventory
    url: http://docs.newstore.net/
  description: API for inventory configurations.
  title: Configuration API
  version: 0.1.0
openapi: 3.1.0
paths:
  /associate_app:
    get:
      deprecated: true
      description: >-
        Returns the current inventory configuration for the Associate App.

        This endpoint has been deprecated. Please use the
        [/inventory/config](https://docs.newstore.net/api-portal#/http/inventory/inventory-configuration/show-inventory-config)
        endpoint instead.
      operationId: get_associate_app_router_config_associate_app_get
      parameters:
        - description: Store Identifier for store configuration at store level.
          in: query
          name: store_id
          required: false
          schema:
            description: Store Identifier for store configuration at store level.
            title: Store Id
            type: string
        - description: Tenant identifier.
          in: header
          name: tenant
          required: true
          schema:
            description: Tenant identifier.
            title: Tenant
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigModelResponse'
          description: Associate App's current configuration
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Associate App configuration for inventory management features
      tags:
        - Associate App Configuration
    put:
      deprecated: true
      description: >-
        Sets the Associate App configuration. Note: you can pass an * to enable
        store-dependent features.

        This endpoint has been deprecated. Please use the
        [/inventory/config](https://docs.newstore.net/api-portal#/http/inventory/inventory-configuration/replace-inventory-config)
        endpoint instead.
      operationId: set_associate_app_router_config_associate_app_put
      parameters:
        - description: Tenant identifier.
          in: header
          name: tenant
          required: true
          schema:
            description: Tenant identifier.
            title: Tenant
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigModel'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Set Associate App configuration for inventory management features
      tags:
        - Associate App Configuration
  /fulfillment_app:
    get:
      deprecated: true
      description: >-
        Returns the current configuration for the Fulfillment App.

        This endpoint has been deprecated since the Fulfillment App has reached
        end of life (EOL). The corresponding config for the Associate App can be
        found in the
        [/inventory/config](https://docs.newstore.net/api-portal#/http/inventory/inventory-configuration/show-inventory-config)
        endpoint.
      operationId: get_fulfillment_app_config_fulfillment_app_get
      parameters:
        - description: Tenant identifier.
          in: header
          name: tenant
          required: true
          schema:
            description: Tenant identifier.
            title: Tenant
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FulfillmentAppConfig'
          description: Fulfillment App's current configuration
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Fulfillment App configuration
      tags:
        - Fulfillment App Configuration
    patch:
      deprecated: true
      description: >-
        Partially updates the Fulfillment App configuration.

        This endpoint has been deprecated since the Fulfillment App has reached
        end of life (EOL). The corresponding config for the Associate App can be
        found in the
        [/inventory/config](https://docs.newstore.net/api-portal#/http/inventory/inventory-configuration/replace-inventory-config)
        endpoint.
      operationId: patch_fulfillment_app_config_fulfillment_app_patch
      parameters:
        - description: Tenant identifier.
          in: header
          name: tenant
          required: true
          schema:
            description: Tenant identifier.
            title: Tenant
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FulfillmentAppConfig'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Update Fulfillment App configuration
      tags:
        - Fulfillment App Configuration
    put:
      deprecated: true
      description: >-
        Sets the Fulfillment App configuration in full.

        This endpoint has been deprecated since the Fulfillment App has reached
        end of life (EOL). The corresponding config for the Associate App can be
        found in the
        [/inventory/config](https://docs.newstore.net/api-portal#/http/inventory/inventory-configuration/replace-inventory-config)
        endpoint.
      operationId: set_fulfillment_app_config_fulfillment_app_put
      parameters:
        - description: Tenant identifier.
          in: header
          name: tenant
          required: true
          schema:
            description: Tenant identifier.
            title: Tenant
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequiredFulfillmentAppConfig'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Set Fulfillment App configuration
      tags:
        - Fulfillment App Configuration
servers:
  - url: https://dodici.x.newstore.net/v0/i/configuration
tags:
  - description: API for inventory configurations.
    name: Configuration API
