openapi: 3.1.0
info:
  title: Fetch API
  version: 'v3.0: 3.21.3.0'
  contact:
    name: API Support Group
    email: api@yellowdogsoftware.com
  x-logo:
    url: >-
      https://images.squarespace-cdn.com/content/5470d846e4b0a5a15075b8c2/1574786163210-34AWZVGWQSQUBGEYWPJN/YDS+Logo_Yellow+Dog+Only.png?format=1500w&content-type=image%2Fpng
    altText: Yellow Dog Logo
paths:
  /api/v3/accounting/{storeId}/{date}/returnToVendors:
    get:
      operationId: get-returntovendors
      tags:
        - Accounting
      summary: Gets a listing of Return to Vendors based on Store
      parameters:
        - name: storeId
          in: path
          description: >-
            Id of the Yellow Dog Store that is being fetched. The Store ID can
            be found from the Get All Stores Endpoint as the id Property of the
            Store Model.
          required: true
          schema:
            type: string
            format: uuid
        - name: date
          in: path
          description: Date String in the local time of the Store
          required: true
          schema:
            type: string
            format: date-time
          example: '2020-05-24'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AccountingReturnToVendor'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
        '403':
          description: Forbidden
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/accounting/{storeId}/{date}/invoices:
    get:
      operationId: get-invoices
      tags:
        - Accounting
      summary: Gets a listing of invoices of a store on a given date
      parameters:
        - name: storeId
          in: path
          description: >-
            Id of the Yellow Dog Store that is being fetched. The Store ID can
            be found from the Get All Stores Endpoint as the id Property of the
            Store Model.
          required: true
          schema:
            type: string
            format: uuid
        - name: date
          in: path
          description: >-
            Date String in the local time of the store (YYYY-MM-DD) is
            recommended
          required: true
          schema:
            type: string
            format: date-time
          example: '2020-05-24'
        - name: nonPrepaidOnly
          in: query
          description: set to only respond with non-prepaid invoices
          schema:
            type: boolean
            default: false
        - name: includeReceipts
          in: query
          description: >-
            `includeReceipts` adds the variance between invoice total and
            receipt total, otherwise returns the invoice total in the debit
            field
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AccountingInvoice'
        '400':
          description: Improper values were supplied for this endpoint to process.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Visible
            Access required for Reports > Standard Reports.
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/accounting/{storeId}/{date}/revenue:
    get:
      operationId: get-revenue
      tags:
        - Accounting
      summary: Gets revenue of a store on a given date
      description: Gets revenue of a store on a given date, summarized by GL Account.
      parameters:
        - name: storeId
          in: path
          description: >-
            Id of the Yellow Dog Store that is being fetched. The Store ID can
            be found from the Get All Stores Endpoint as the id Property of the
            Store Model.
          required: true
          schema:
            type: string
            format: uuid
        - name: date
          in: path
          description: >-
            Date String in the local time of the store (YYYY-MM-DD) is
            recommended
          required: true
          schema:
            type: string
            format: date-time
          example: '2020-05-24'
        - name: types
          in: query
          description: >-
            Choose one or more of the following Journal Entry types (Sale, Tax,
            Tender)
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AccountingRevenue'
        '400':
          description: Improper values were supplied for this endpoint to process.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Visible
            Access required for Reports > Standard Reports.
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/accounting/{storeId}/{date}/journalEntry:
    get:
      operationId: get-journalEntry
      tags:
        - Accounting
      summary: Journal Entries for a store
      description: >-
        Gets a listing of journal entries of a store on a given date, summarized
        by GL Account.
      parameters:
        - name: storeId
          in: path
          description: >-
            Id of the Yellow Dog Store that is being fetched. The Store ID can
            be found from the Get All Stores Endpoint as the id Property of the
            Store Model.
          required: true
          schema:
            type: string
            format: uuid
        - name: date
          in: path
          description: >-
            Date String in the local time of the store (YYYY-MM-DD) is
            recommended
          required: true
          schema:
            type: string
            format: date-time
          example: '2020-05-24'
        - name: types
          in: query
          description: >-
            Choose one or more of the following Journal Entry types
            (PhysicalInventory, ManualAdjustment, CostOfGoodsSold, Transfer,
            Receipt, Restock)
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AccountingJournalEntry'
        '400':
          description: Improper values were supplied for this endpoint to process.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Visible
            Access required for Reports > Standard Reports.
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/accounting/{storeId}/codes/{codeType}:
    get:
      operationId: get-codes
      tags:
        - Accounting
      summary: Gets a listing of accounts and their code data
      parameters:
        - name: storeId
          in: path
          description: >-
            Id of the Yellow Dog Store that is being fetched. The Store ID can
            be found from the Get All Stores Endpoint as the id Property of the
            Store Model.
          required: true
          schema:
            type: string
            format: uuid
        - name: codeType
          in: path
          description: Type of account (only use ManualAdjust as the codeType)
          required: true
          schema:
            type: string
          example: ManualAdjust
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AccountingCode'
        '400':
          description: Improper values were supplied for this endpoint to process.
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Visible
            Access required for Reports > Standard Reports.
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/attachedFiles/{id}:
    get:
      operationId: get-attachedfiles-byid
      tags:
        - AttachedFiles
      summary: >-
        Gets image based on Id. This image can be associated to an Item or a
        Recipe.
      parameters:
        - name: id
          in: path
          description: AttachedFile Id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            image/png:
              schema:
                type: string
                format: binary
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            image/png:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/countsheets:
    get:
      operationId: get-countsheets-all
      tags:
        - CountSheets
      summary: Getting Count Sheets
      parameters:
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.CountSheetGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/countsheets/{id}:
    get:
      operationId: get-countsheets-byid
      tags:
        - CountSheets
      summary: Getting a Count Sheet by Id
      parameters:
        - name: id
          in: path
          description: CountSheet Id
          required: true
          schema:
            type: string
            format: uuid
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.CountSheetGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/currency:
    get:
      operationId: get-currency
      tags:
        - Currency
      summary: Getting Currency
      parameters:
        - name: Filter
          in: query
          description: "### Filter Options:\r\n- currencyCode\r\n- date\r\n- exchangeRate\r\n- lastUpdated"
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          description: "### Order By Options:\r\n- currencyCode\r\n- date\r\n- lastUpdated"
          schema:
            type: array
            items:
              type: string
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.CurrencyGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    post:
      operationId: post-currency
      tags:
        - Currency
      summary: Creating new Currency Exchange Rate
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyCreate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyCreate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyCreate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyCreate'
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    put:
      operationId: put-currency
      tags:
        - Currency
      summary: Updating existing Currency Exchange Rate
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyUpdate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyUpdate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyUpdate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyUpdate'
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    delete:
      operationId: delete-currency
      tags:
        - Currency
      summary: Bulk delete Currency Exchange Rates
      requestBody:
        description: List of Currency IDs to be deleted
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                type: string
                format: uuid
          application/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
          text/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
          application/*+json:
            schema:
              type: array
              items:
                type: string
                format: uuid
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/currency/effectiveExchangeRate/{currencyCode}:
    get:
      operationId: get-currency-exchange
      tags:
        - Currency
      summary: Getting Effective Exchange Rate
      parameters:
        - name: currencyCode
          in: path
          description: ''
          required: true
          schema:
            type: string
        - name: date
          in: query
          description: ''
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: number
                format: double
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/currency/{id}:
    get:
      operationId: get-currency-byid
      tags:
        - Currency
      summary: Getting Currency by Id
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.CurrencyGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    delete:
      operationId: delete-currency-byid
      tags:
        - Currency
      summary: Deleting a Currency Exchange Rate
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/dimensions:
    get:
      operationId: get-dimensions
      tags:
        - Dimensions
      summary: Getting Dimensions
      parameters:
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.DimensionGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    post:
      operationId: post-dimensions
      tags:
        - Dimensions
      summary: Creating new Dimensions
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionCreate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionCreate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionCreate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionCreate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.Dimension'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    put:
      operationId: put-dimensions
      tags:
        - Dimensions
      summary: Creating new Dimensions
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionUpdate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionUpdate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionUpdate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionUpdate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.DimensionUpdate'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/dimensions/{id}:
    get:
      operationId: get-dimensions-byid
      tags:
        - Dimensions
      summary: Getting Dimension by Id
      parameters:
        - name: id
          in: path
          description: Dimension Id
          required: true
          schema:
            type: string
            format: uuid
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.DimensionGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    delete:
      operationId: delete-dimensions-byid
      tags:
        - Dimensions
      summary: Deleting a Dimension
      parameters:
        - name: id
          in: path
          description: Dimension Id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/flags:
    get:
      operationId: get-flags
      tags:
        - Flags
      summary: Getting Flags
      parameters:
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.FlagGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/flags/{id}:
    get:
      operationId: get-flags-byid
      tags:
        - Flags
      summary: Getting Flag by Id
      parameters:
        - name: id
          in: path
          description: Flag Id
          required: true
          schema:
            type: string
            format: uuid
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.FlagGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/inventory:
    post:
      operationId: post-track-inventory
      tags:
        - Inventory
      summary: Gets all Inventory
      description: " This endpoint is recommended for any frequent polling of item onhands. Although the `GET \r\n Items` endpoint includes a stores onhand value, the onhand value being changed does not \r\n trigger an update of the rowUpdated for that endpoint.\r\n \r\n This endpoint uses pagination to limit the amount of items that are returned in a response. \r\n The use of these values is similar to how the query string pagination works in other endpoints, \r\n however these are a component of the response body. \r\n \r\n Note: As they do not use a query string for pagination, the pagination headers used in other \r\n endpoints will not work for this. Recommended use case is to pull at a known pageSize and stop \r\n when the returned item array is less than the requested pageSize.\r\n \r\n ### Example Request Body for Common Usage Scenarios\r\n \r\n #### Get an Item's onhand in a particular Store\r\n ```json\r\n\t{\r\n     \"pageNumber\": 1,\r\n     \"pageSize\": 100,\r\n     \"stores\": [\r\n \t\t\t\":storeId\"\r\n     ],\r\n     \"items\": [\r\n \t\t\t\":itemId\"\r\n     ]\r\n }\t\r\n ```\r\n \r\n #### Get an Stores Onhands updated since a certain date\r\n \r\n ```json\r\n\t{\r\n     \"pageNumber\": 1,\r\n     \"pageSize\": 100,\r\n     \"stores\": [\r\n \t\t\t\":storeId\"\r\n     ],\r\n     \"rowUpdated\": \"2024-05-24\"\r\n \r\n }\t\r\n ```\r\n \r\n #### Get all Current onhands for all Stores and Items based on the last pulled date\r\n \r\n ```json\r\n\t{\r\n     \"pageNumber\": 1,\r\n     \"pageSize\": 100,\r\n     \"lastUpdated\": \"2024-03-05T06:06:58.529Z\"\r\n }\t\r\n ```\r\n \r\n or\r\n \r\n ```json\r\n\t{\r\n     \"pageNumber\": 1,\r\n     \"pageSize\": 100,\r\n     \"lastUpdated\": \"2024-03-05T06:06:58.529-05:00\"\r\n }\t\r\n ```\r\n \r\n or \r\n ```json\r\n\t{\r\n     \"pageNumber\": 1,\r\n     \"pageSize\": 100,\r\n     \"lastUpdated\": \"2020-05-29 00:00:00\"\r\n }\t\r\n ```\r\n \r\n \r\n #### Get the Current onhand for a particular Item across all Stores.\r\n \r\n ```json\r\n {\r\n    \"pageNumber\": 1,\r\n    \"pageSize\": 100,\r\n    \"items\": [\r\n      \":itemId\"\r\n    ]\r\n}\r\n ```"
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: >-
                #/components/schemas/Api.Helpers.QueryParameters.InventoryQueryParameters
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Api.Helpers.QueryParameters.InventoryQueryParameters
          text/json:
            schema:
              $ref: >-
                #/components/schemas/Api.Helpers.QueryParameters.InventoryQueryParameters
          application/*+json:
            schema:
              $ref: >-
                #/components/schemas/Api.Helpers.QueryParameters.InventoryQueryParameters
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.Inventory'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/invoices/ocr:
    post:
      operationId: post-invoices-ocr
      tags:
        - Invoices
      summary: Create a Staged Invoice via a file upload
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
            encoding:
              file:
                style: form
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.StagedInvoice'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/itemaliases:
    post:
      operationId: post-itemaliases
      tags:
        - ItemAliases
      summary: Adding Item Aliases
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ItemAliasCreateRequest'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ItemAliasCreateRequest'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ItemAliasCreateRequest'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ItemAliasCreateRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.ItemAliasCreateResponse'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/items:
    get:
      operationId: get-items
      tags:
        - Items
      summary: Gets all Items
      description: "If you are looking to only pull item data for a **single** store, it is highly recommended \r\nto use the `/store/:storeId/items` endpoint located in the 'Stores' Endpoint Section.\r\n\r\nThis endpoint will not end back items that are marked as deleted. In the Yellow Dog\r\nInventory system, the items are soft deleted and are able to be marked as undeleted. \r\n\r\n### Example Requests\r\n`/items?Expand=Stores&Expand=Vendors&orderBy=sku&pageNumber=1&pageSize=100`\r\n\r\nFor populating your initial datastore it is best to make a call through all pages of the items \r\nendpoint with the proper expansion query parameters. From this point forward you should be\r\nable to use the following call example to refresh your datastore with only the changes that \r\nhave occured in the item configuration.\r\n\r\n`/items?Expand=Stores&Expand=Vendors&orderBy=sku&filter=lastUpdated>=20240501`\r\n\r\nThis request will return all the items that have a lastUpdated later than `2024-05-01`. It \r\nis highly recommended that you use a request like this for updating your data store for the \r\nlatest item configurations. It is recommended that the lastUpdated filter value be set as the \r\nlast time the item refresh cycle began."
      parameters:
        - name: Filter
          in: query
          description: "### Filter Options:\r\n- active (boolean: when this is not passed in as a filter option it will present both active \r\nand non-active Items)\r\n- lastUpdated (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in \r\nGetting Started Section for more information)\r\n- levelId (UUID: This is the items level.id property for requesting only a certain type of item)\r\n- sku (string: When passed in it will allow lookup of an item using the Item's sku)\r\n- webAvailable (boolean: when this is not passed in as a filter option it will present both \r\ntrue and false values)"
          schema:
            type: array
            items:
              type: string
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- stores\r\n- vendors\r\n- images (available on database versions above 366)\r\n- extended-item (shortDescription, isEvergreen, style, expirationDays, reference, attributes, etc...)"
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          description: "### Order By Options:\r\n- sku\r\n- description\r\n- itemId"
          schema:
            type: array
            items:
              type: string
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.Item.ItemGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    patch:
      operationId: patch-items
      tags:
        - Items
      summary: Upserts Items in bulk
      description: "This endpoint allows for bulk upserting of item configuration changes.\r\n\r\nCreating items does have a different set of fields that are required than updating. \r\n            \r\n### Creating an Item\r\nThe fields that are required to create an item are as followed: itemSku, defaultVendorCode, defaultVendorCost, levelCode, description, initialStoreCode, and dimension1Desc.\r\n\r\n### Updating an Item\r\nThe only field that is required for an update is the itemSku field as that is what is used for matching to an existing item for updating. Any fields that are not supposed to be updated should be passed in as a `null` or omitted from the body of the request.\r\n            \r\n### Validation Errors\r\nAny kind of data validation will be passed back as a body response similar to the following.\r\n            \r\n```json\r\n{\r\n   \"Message\": \"Unable to import item configs at this time\",\r\n   \"Errors\": [\r\n    {\r\n       \"Message\": \"error processing item configurations\",\r\n       \"Extensions\": [\r\n        {\r\n            \"errorText\": \"Value:`317` does not match an existing vendor/manufacturer code.\",\r\n            \"field\": \"manufacturerCode\"\r\n        }\r\n    ]\r\n   }\r\n  ]\r\n}\r\n```\r\n            \r\nThis validation error reflects that the manufacturerCode value does not exist as a valid vendor code in the Yellow Dog Inventory Instance.\r\n            \r\nWhen a validation error occurs then the entire request will fail.\r\n            \r\n### Additional Notes\r\nProcessing the item changes can take up to 10 minutes to process due to the amount of background processing that needs to be done."
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemConfigInput'
          application/json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemConfigInput'
          text/json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemConfigInput'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemConfigInput'
      responses:
        '200':
          description: Success
        '400':
          description: An error has occured.
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Access API
            Administrator access is required.
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/items/{id}:
    get:
      operationId: get-items-byid
      tags:
        - Items
      summary: Gets an Item by Id
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
        - name: Filter
          in: query
          description: "### Filter Options:\r\n- active (boolean: when this is not passed in as a filter option it will present both active \r\nand non-active Items)\r\n- lastUpdated (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in \r\nGetting Started Section for more information)\r\n- levelId (UUID: This is the items level.id property for requesting only a certain type of item)\r\n- sku (string: When passed in it will allow lookup of an item using the Item's sku)\r\n- webAvailable (boolean: when this is not passed in as a filter option it will present both \r\ntrue and false values)"
          schema:
            type: array
            items:
              type: string
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- stores\r\n- vendors\r\n- images (available on database versions above 366)\r\n- extended-item (shortDescription, isEvergreen, style, expirationDays, reference, attributes, etc...)"
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          description: "### Order By Options:\r\n- sku\r\n- description\r\n- itemId"
          schema:
            type: array
            items:
              type: string
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.Item.ItemGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/items/store-configs:
    patch:
      operationId: patch-items-store-configs
      tags:
        - Items
      summary: Upserts Item Store Configs
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemStoreConfigInput'
          application/json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemStoreConfigInput'
          text/json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemStoreConfigInput'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Dingo.GraphQL.ImportItemStoreConfigInput'
      responses:
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Access API
            Administrator access is required.
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/items/{itemId}/images:
    post:
      operationId: post-items-images
      tags:
        - Items
      summary: Adds an Image as an Attached File to an Item.
      description: User's client *MUST* be 366+ with cloud storage enabled
      parameters:
        - name: itemId
          in: path
          description: Item Id
          required: true
          schema:
            type: string
            format: uuid
        - name: description
          in: query
          description: Description or Title of the Image file
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
            encoding:
              file:
                style: form
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/items/{itemId}/images/{imageId}:
    patch:
      operationId: patch-items-images-byid
      tags:
        - Items
      summary: Updates the Description of an Items Attached File
      parameters:
        - name: itemId
          in: path
          description: Item Id
          required: true
          schema:
            type: string
            format: uuid
        - name: imageId
          in: path
          description: Attached File Id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: New Description of the Attached File
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AttachedFile'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    delete:
      operationId: delete-items-images-byid
      tags:
        - Items
      summary: Deletes an item's image
      parameters:
        - name: itemId
          in: path
          description: Item Id
          required: true
          schema:
            type: string
            format: uuid
        - name: imageId
          in: path
          description: Attached File Id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/items/{id}/retails:
    post:
      operationId: post-items-retails
      tags:
        - Items
      summary: Adds a new record for an item's retail
      parameters:
        - name: id
          in: path
          description: Item Id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Item Retail Creation Object
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.Item.ItemRetailCreate'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.Item.ItemRetailCreate'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.Item.ItemRetailCreate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.Item.ItemRetailCreate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Api.Models.Dto.Item.ItemRetailCreateResponse
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/manualadjusts:
    post:
      operationId: post-manualadjusts
      tags:
        - ManualAdjusts
      summary: Creates Manual Adjustments
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ManualAdjustCreate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ManualAdjustCreate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ManualAdjustCreate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.ManualAdjustCreate'
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/metainfo:
    get:
      operationId: get-metainfo
      tags:
        - MetaInfo
      summary: Get all Meta Information for YDI Interface
      description: "In Yellow Dog, the user is able to configure the Names that are used on buttons to make the user interface more friendly for their particular use. This endpoint will display the values of these name changes.\r\n\r\nCommon examples of this are:\r\n- Dimension 1 is named Size in the Yellow Dog Interface, Dimension 1 (Size) will be index 0 of the dimensions array.\r\n- Flag is named Location"
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.MetaInfo'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/{id}/requestTieredApproval:
    post:
      operationId: post-purchaseorders-tieredapproval-request
      tags:
        - PurchaseOrders
      summary: Starts the Tiered Purchase Order Approval process
      parameters:
        - name: id
          in: path
          description: CommDoc Id of Purchase Order
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.SendGridUserResponse'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/tieredApproval:
    put:
      operationId: put-purchaseorders-tieredapproval
      tags:
        - PurchaseOrders
      summary: Approves a Purchase Order Tier
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.POTierApprovalPUT'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.POTierApprovalPUT'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.POTierApprovalPUT'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.POTierApprovalPUT'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.POTierApprovalPUTResponse'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders:
    get:
      operationId: get-purchaseorders
      tags:
        - PurchaseOrders
      summary: Gets Purchase Orders
      description: "Example use cases\r\n\r\n`api/v2/purchaseOrders?pageNumber=1&pageSize=100&Filter=committed>2024-03-05T06:06:58.529Z&Filter=lastUpdated>2024-03-06&orderBy=committed`\r\n\r\nwill get the first page of purchase orders where the committed date is later than 2024-03-05T06:06:58.529Z AND the lastUpdated date is later than 2024-03-06T00:00:00Z, ordering by the committed date\r\n\r\n\r\n`/api/v2/purchaseOrders?pageNumber=1&pageSize=100&Filter=committed>2024-03-05T06:06:58.529Z&orderBy=committed`\r\n\r\nwill get the first page of purchase orders where the committed date is later than `2024-03-05T06:06:58.529Z` ordering by the committed date."
      parameters:
        - name: Filter
          in: query
          description: "### Filter Options:\r\n- docNumber (string: allows for pulling based on a particular document number)\r\n- committed (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in \r\nGetting Started Section for more information)\r\n- lastUpdated (DateTime in v2, DateTimeOffset in v3: See Differences between v2 and v3 in \r\nGetting Started Section for more information)\r\n- vendor (GUID: allows for filtering down to only a particular vendorId. This id can be found from the GET /vendors endpoint)"
          schema:
            type: array
            items:
              type: string
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- Items\r\n- Stores\r\n- Users\r\n- Vendors\r\n- LineDetails\r\n- ApprovalStatuses"
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          description: "### Order By Options:\r\n- committed\r\n- docNumber\r\n- lastUpdated"
          schema:
            type: array
            items:
              type: string
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    post:
      operationId: post-purchaseorders
      tags:
        - PurchaseOrders
      summary: Creates Purchase Orders.
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderCreate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderCreate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderCreate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderCreate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderCreate'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/{id}:
    get:
      operationId: get-purchaseorders-byid
      tags:
        - PurchaseOrders
      summary: Get Purchase Order by Id
      parameters:
        - name: id
          in: path
          description: CommDoc Id of Purchase Order
          required: true
          schema:
            type: string
            format: uuid
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- Items\r\n- Stores\r\n- Users\r\n- Vendors\r\n- LineDetails\r\n- ApprovalStatuses"
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/byToken:
    get:
      operationId: get-purchaseorders-bytoken
      tags:
        - PurchaseOrders
      summary: Get Purchase Order by token
      parameters:
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- Items\r\n- Stores\r\n- Users\r\n- Vendors\r\n- LineDetails\r\n- ApprovalStatuses"
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/{id}/approvalStatus:
    get:
      operationId: get-purchaseorders-approvalstatus-byid
      tags:
        - PurchaseOrders
      summary: Get Purchase Order Approval Status by Id of Purchase Order
      parameters:
        - name: id
          in: path
          description: Id of Purchase Order
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.CommdocApprovalStatuses'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/approvalStatusByToken:
    get:
      operationId: get-purchaseorders-approvalstatus-bytoken
      tags:
        - PurchaseOrders
      summary: Get Purchase Order Approval Status using token
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.CommdocApprovalStatus'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/purchaseOrders/updateCommitted:
    patch:
      operationId: patch-leafroute
      tags:
        - PurchaseOrders
      summary: Update Committed Purchase orders
      description: "Infrequently there are use cases where a previously committed purchase order would be allowed to have new Lines added or other adjustments to the document.\r\n\r\nThe following properties of a committed purchase order are prohibited from being updated\r\n- Commdoc\r\n- Committed Status \r\n- Committed Date Time \r\n- Vendor\r\n- Store\r\n- Arrival Log\r\n\r\nThe following requirements in place for a purchase order to be edited using this method.\r\n- User making the request has the appropriate permissions to edit Purchase Orders after Commit.\r\n- Only purchase orders that have been committed but do not have any kind of purchasing activity against them will be allowed to be edited."
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderPatch'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderPatch'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderPatch'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderPatch'
      responses:
        '200':
          description: Success
        '204':
          description: An empty request was sent to the endpoint.
        '403':
          description: >-
            User does not have sufficient access for this endpoint: Edit After
            Commit Access required Purchasing > Purchase Orders > Purchase Order
            Editor.
        '422':
          description: 'Validation Error: See Response Body for further information.'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.PatchValidationError'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/receipts:
    get:
      operationId: get-receipts
      tags:
        - Receipts
      summary: Gets Receipts
      parameters:
        - name: Filter
          in: query
          description: "### Filter Options:\r\n- docNumber\r\n- committed\r\n- lastUpdated\r\n- vendor"
          schema:
            type: array
            items:
              type: string
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- Items\r\n- Stores\r\n- Users\r\n- Vendors"
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          description: "### Order By Options:\r\n- committed\r\n- docNumber\r\n- lastUpdated"
          schema:
            type: array
            items:
              type: string
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.ReceiptGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    post:
      operationId: post-receipts
      tags:
        - Receipts
      summary: Create Receipts
      description: "Using this endpoint will create uncommitted receipts. \r\nMarking a receipt as committed and thus making the associated adjustments to the item inventory will need to be performed using the Yellow Dog Inventory Client.\r\n\r\n### Requirements\r\nThe following properties must exist in the database in order to be uploaded to a receipt:\r\n* Store\r\n* Vendor\r\n* Items\r\n\r\nThe following requirements are needed for a receipt to be created using this method:\r\n* The user making the request has the appropriate **Edit** permission to the Receipt Editor, in the store that the receipt is being created in.\r\n* Only purchase orders that have been committed can be backlinked to a receipt\r\n\r\n### BackLinking\r\nOne common example of backlinking is when a process exists for a location to have a purchase order created for all receipts and purchases of inventory items. This is accomplished by creating a related document for a receipt.\r\n\r\nIn Yellow Dog Inventory, we track the linkage of purchasing documents by the individual lines of a document. To accomplish this, all lines of an existing purchasing document should be marked as the backlink of another document in the process.\r\n\r\nIn example:\r\nGiven an existing Committed Purchase Order of the following shape.\r\n```json\r\n{\r\n\t\"CommdocId\": \t\"123e4567-e89b-12d3-a456-426655440025\"\r\n\t\"type\": \"PurchaseOrder\",\r\n\t\"lines\": [\r\n\t\t{\r\n\t\t\t\"CommDocLineId\": \"456e0001-e89b-12d3-a456-426655440000\",\r\n\t\t\t\"quantity\": 15,\r\n\t\t\t\"ItemID\":\"789e0001-e89b-12d3-a456-426655440000\"\r\n\t\t}\r\n\t]\r\n}\r\n```\r\n\r\nCan be fully recieved by sending the following general shape. Notice that the backlinkLineId of the receipt line.\r\n```json\r\n{\r\n\t\"type\": \"Receipt\",\r\n\t...,\r\n\t\"lines\": [\r\n\t\t{\r\n\t\t\t\"quantity\": 15,\r\n\t\t\t\"ItemID\": \"789e0001-e89b-12d3-a456-426655440000\"\r\n\t\t\t\"backLinkLineID\": \"456e0001-e89b-12d3-a456-426655440000\"\r\n\t\t}\r\n\t]\r\n}\r\n```"
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.ReceiptCreate'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.ReceiptCreate'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.ReceiptCreate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.ReceiptCreate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.ReceiptGet'
        '401':
          description: Unauthorized
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/receipts/{id}:
    get:
      operationId: get-receipts-byid
      tags:
        - Receipts
      summary: Get Receipt by Id
      parameters:
        - name: id
          in: path
          description: Id of Receipt
          required: true
          schema:
            type: string
            format: uuid
        - name: Expand
          in: query
          description: "### Expand Options:\r\n- Items\r\n- Stores\r\n- Users\r\n- Vendors"
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.ReceiptGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/recipes/{recipeId}/images:
    post:
      operationId: post-recipes-images
      tags:
        - Recipes
      summary: "Adds an Image as an Attached File to a recipe\r\n\r\nUser's client *MUST* be 366+ with cloud storage enabled"
      parameters:
        - name: recipeId
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
        - name: description
          in: query
          description: Description or Title of the Image file
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
            encoding:
              file:
                style: form
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/recipes/{recipeId}/images/{imageId}:
    patch:
      operationId: op-recipes-images-byid
      tags:
        - Recipes
      summary: Updates image details of a recipe
      parameters:
        - name: recipeId
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
        - name: imageId
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.AttachedFileMutation'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.AttachedFile'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    delete:
      operationId: delete-recipes-images-byid
      tags:
        - Recipes
      summary: Deletes a recipe's image
      parameters:
        - name: recipeId
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
        - name: imageId
          in: path
          description: ''
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/requests:
    post:
      operationId: post-requests
      tags:
        - Requests
      summary: >-
        Creates and commits a Request to be used in the Purchasing Document
        Workflow.
      requestBody:
        description: Object of the Request to be created
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/requests/{id}/Commit:
    patch:
      operationId: patch-requests-commit
      tags:
        - Requests
      summary: >-
        Commits a Request, this allows the Request to be used in future steps of
        the Purchasing Document Workflow
      parameters:
        - name: id
          in: path
          description: CommDoc Id of Request
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/requests/{id}:
    get:
      operationId: get-requests-byid
      tags:
        - Requests
      summary: Getting Request Details By ID
      parameters:
        - name: id
          in: path
          description: CommDoc ID of Request
          required: true
          schema:
            type: string
            format: uuid
        - name: PageNumber
          in: query
          description: '- PageNumber Starts at 1'
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "- Default page size: 100\r\n- Max page size: 500"
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dingo.GraphQL.IGetMyRequest_Me_Request'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    patch:
      operationId: patch-requests-byid
      tags:
        - Requests
      summary: Updates an existing Request
      parameters:
        - name: id
          in: path
          description: CommDoc Id of Request
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Any alterations to the Request
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.RequestCreate'
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/sessions:
    get:
      operationId: get-sessions
      tags:
        - Sessions
      summary: Getting Sessions
      parameters:
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
        - name: enableSessionItemCountNullCoalescence
          in: query
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Api.Models.Dto.SessionGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    post:
      operationId: post-sessions
      tags:
        - Sessions
      summary: Creating new Sessions
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  format: uuid
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    put:
      operationId: put-sessions
      tags:
        - Sessions
      summary: Updating existing Sessions
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Api.Models.Dto.SessionCreate'
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/sessions/{id}:
    get:
      operationId: get-sessions-byid
      tags:
        - Sessions
      summary: Getting Session by Id
      parameters:
        - name: id
          in: path
          description: Session Id
          required: true
          schema:
            type: string
            format: uuid
        - name: PageNumber
          in: query
          description: "Page Number for the result set.\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 1 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: "Page Size\r\n- Default page size: 100 \r\n- Max page size: 500\r\n\r\nThis is expected to be an integer value greater than 0. Defaults to 100 when not passed in.\r\n\r\nFor more information see the Getting Started Section for Pagination."
          schema:
            type: integer
            format: int32
        - name: Expand
          in: query
          schema:
            type: array
            items:
              type: string
        - name: Filter
          in: query
          schema:
            type: array
            items:
              type: string
        - name: OrderBy
          in: query
          schema:
            type: array
            items:
              type: string
        - name: enableSessionItemCountNullCoalescence
          in: query
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.Dto.SessionGet'
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
    delete:
      operationId: delete-sessions-byid
      tags:
        - Sessions
      summary: Deleting a Session
      parameters:
        - name: id
          in: path
          description: Session Id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/sessions/{id}/sessionItems:
    post:
      operationId: post-sessions-sessionitems
      tags:
        - Sessions
      summary: Adding a Session Item to a Session
      parameters:
        - name: id
          in: path
          description: Session Id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: creation params
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemCreate2'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemCreate2'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemCreate2'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemCreate2'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Api.Models.Dto.SessionItemMutationResponse
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
  /api/v3/sessions/{id}/sessionItems/{sessionItemId}/count:
    put:
      operationId: put-sessions-sessionitems-count
      tags:
        - Sessions
      summary: Updating values of a Session Item
      parameters:
        - name: id
          in: path
          description: Session Id
          required: true
          schema:
            type: string
            format: uuid
        - name: sessionItemId
          in: path
          description: Session Item Id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: update params
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemUpdate'
          application/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemUpdate'
          text/json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemUpdate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/Api.Models.Dto.SessionItemUpdate'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Api.Models.Dto.SessionItemMutationResponse
        '429':
          description: "Rate limiting quota exceeded\r\n            \r\n            Apply pause on further requests to the api using a wait method for the amount of seconds \r\n            presented in the Response Header Key 'Retry-After'.\r\n            \r\n            To prevent running into further instances of this rate limiting, use the Response Headers \r\n            returned back from all other requests to ensure there is enough buffer.\r\n            \r\n            For further information see Rate Limiting Section of Getting Started of api documentation site."
        '500':
          description: "An internal error has occured or the database is currently offline for\r\n            connections."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Api.Models.ErrorResponse'
components:
  schemas:
    Api.Models.Dto.AccountingUser:
      type: object
      properties:
        id:
          type: string
          format: uuid
        employeeNumber:
          type:
            - string
            - 'null'
        firstName:
          type:
            - string
            - 'null'
        middleName:
          type:
            - string
            - 'null'
        lastName:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.AccountingVendor:
      type: object
      properties:
        id:
          type: string
          format: uuid
        code:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        accountingId:
          type:
            - string
            - 'null'
        reference:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.AccountingStore:
      type: object
      properties:
        id:
          type: string
          format: uuid
        code:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        accountingId:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.AccountingLine:
      type: object
      properties:
        type:
          type:
            - string
            - 'null'
        glAccount:
          type:
            - string
            - 'null'
        credit:
          type: number
          format: double
        debit:
          type: number
          format: double
      additionalProperties: false
    Api.Models.Dto.AccountingReturnToVendor:
      type: object
      properties:
        id:
          type: string
          format: uuid
        docNumber:
          type:
            - string
            - 'null'
        date:
          type: string
          format: date-time
        paid:
          type: boolean
        prepaid:
          type: boolean
        paymentDue:
          type:
            - string
            - 'null'
          format: date-time
        billed:
          type:
            - string
            - 'null'
          format: date-time
        committed:
          type: string
          format: date-time
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        totalAmount:
          type: number
          format: double
        currencyCode:
          type:
            - string
            - 'null'
        committedByUser:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingUser'
        createdByUser:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingUser'
        vendor:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingVendor'
        store:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingStore'
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.AccountingLine'
      additionalProperties: false
    Api.Models.ErrorMessage:
      type: object
      properties:
        message:
          type:
            - string
            - 'null'
        extensions:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.ErrorResponse:
      type: object
      properties:
        message:
          type:
            - string
            - 'null'
        errors:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.ErrorMessage'
      additionalProperties: false
    Api.Models.Dto.AccountingInvoice:
      type: object
      properties:
        id:
          type: string
          format: uuid
        docNumber:
          type:
            - string
            - 'null'
        date:
          type: string
          format: date-time
        paid:
          type: boolean
        prepaid:
          type: boolean
        paymentDue:
          type:
            - string
            - 'null'
          format: date-time
        billed:
          type:
            - string
            - 'null'
          format: date-time
        committed:
          type: string
          format: date-time
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        totalAmount:
          type: number
          format: double
        currencyCode:
          type:
            - string
            - 'null'
        committedByUser:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingUser'
        createdByUser:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingUser'
        vendor:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingVendor'
        store:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingStore'
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.AccountingLine'
      additionalProperties: false
    Api.Models.Dto.AccountingRevenue:
      type: object
      properties:
        date:
          type: string
          format: date-time
        store:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingStore'
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.AccountingLine'
      additionalProperties: false
    Api.Models.Dto.AccountingJournalEntry:
      type: object
      properties:
        date:
          type: string
          format: date-time
        store:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingStore'
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.AccountingLine'
      additionalProperties: false
    Api.Models.Dto.AccountingCodeStore:
      type: object
      properties:
        accountGLCode:
          type:
            - string
            - 'null'
        id:
          type: string
          format: uuid
        code:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        accountingId:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.AccountingCode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        description:
          type:
            - string
            - 'null'
        type:
          type:
            - string
            - 'null'
        placement:
          type: integer
          format: int32
        store:
          $ref: '#/components/schemas/Api.Models.Dto.AccountingCodeStore'
      additionalProperties: false
    Api.Models.Dto.CountSheetItemGet:
      type: object
      properties:
        countSheetID:
          type: string
          description: >-
            countSheetID is the unique identifier for the CountSheet; formatted
            as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        flagID:
          type:
            - string
            - 'null'
          format: uuid
        flagCode:
          type:
            - string
            - 'null'
        flagDescription:
          type:
            - string
            - 'null'
        itemID:
          type: string
          format: uuid
        placement:
          type: integer
          format: int32
      additionalProperties: false
    Api.Models.Dto.CountSheetGet:
      type: object
      properties:
        countSheetID:
          type: string
          description: >-
            countSheetID is the unique identifier for the CountSheet; formatted
            as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        description:
          type:
            - string
            - 'null'
        storeID:
          type: string
          format: uuid
        countSheetItems:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.CountSheetItemGet'
      additionalProperties: false
    Api.Models.Dto.CurrencyGet:
      type: object
      properties:
        id:
          type: string
          format: uuid
        currencyCode:
          type:
            - string
            - 'null'
        date:
          type: string
          format: date-time
        exchangeRate:
          type: number
          format: double
        lastUpdated:
          type: string
          format: date-time
      additionalProperties: false
    Api.Models.Dto.CurrencyUpdate:
      required:
        - currencyCode
        - date
        - exchangeRate
        - id
      type: object
      properties:
        id:
          type: string
          format: uuid
        currencyCode:
          maxLength: 256
          minLength: 0
          type: string
        date:
          type: string
          format: date-time
        exchangeRate:
          type: number
          format: double
      additionalProperties: false
    Api.Models.Dto.CurrencyCreate:
      required:
        - currencyCode
        - date
        - exchangeRate
      type: object
      properties:
        currencyCode:
          maxLength: 256
          minLength: 0
          type: string
        date:
          type: string
          format: date-time
        exchangeRate:
          type: number
          format: double
      additionalProperties: false
    Api.Models.Dto.DimensionGet:
      type: object
      properties:
        id:
          type: string
          description: >-
            DimensionID is the unique identifier for the Dimension; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        lastUpdated:
          type: string
          description: DateTime when the row was updated in Yellow Dog, in ISO 8601 format
          format: date-time
        type:
          type:
            - string
            - 'null'
          description: >-
            Determines which Dimension type is being used. There are up to 10
            user-defined "Types" available.
        description:
          type:
            - string
            - 'null'
          description: Description of the Dimension
      additionalProperties: false
    Api.Models.Dto.DimensionUpdate:
      required:
        - description
        - type
      type: object
      properties:
        id:
          type: string
          description: >-
            DimensionID is the unique identifier for the Dimension; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        type:
          minLength: 1
          type: string
          description: >-
            Determines which Dimension type is being used. This returns the
            names of Dimension1-10. Please refer to the MetaInfo Endpoint for
            what these types are viewed as in Yellow Dog.
        description:
          minLength: 1
          type: string
          description: Description of the Dimension
      additionalProperties: false
    Api.Models.Dto.DimensionCreate:
      type: object
      properties:
        type:
          type:
            - string
            - 'null'
          description: >-
            Determines which Dimension type is being used. There are up to 10
            user-defined "Types" available.
        description:
          type:
            - string
            - 'null'
          description: Description of the Dimension
      additionalProperties: false
    Api.Models.Dto.Dimension:
      type: object
      properties:
        id:
          type: string
          description: >-
            DimensionID is the unique identifier for the Dimension; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        type:
          type:
            - string
            - 'null'
          description: >-
            Determines which Dimension type is being used. There are up to 10
            user-defined "Types" available.
        description:
          type:
            - string
            - 'null'
          description: Description of the Dimension
      additionalProperties: false
    Api.Models.Dto.FlagGet:
      type: object
      properties:
        flagID:
          type: string
          description: >-
            FlagID is the unique identifier for the Flag; formatted as GUID
            (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        code:
          type:
            - string
            - 'null'
          description: >-
            Main number associated with the Flag in the Yellow Dog UI; not
            required to be unique
        placement:
          type: integer
          description: An item can have multiple Flag assignments.
          format: int32
        description:
          type:
            - string
            - 'null'
          description: Description of the Flag
        rowUpdated:
          type: string
          description: >-
            DateTime when the row was last updated in Yellow Dog, in ISO 8601
            format
          format: date-time
      additionalProperties: false
    Api.Helpers.QueryParameters.InventoryQueryParameters:
      type: object
      properties:
        stores:
          type:
            - array
            - 'null'
          items:
            type: string
            format: uuid
          description: '- List of StoreIDs'
        items:
          type:
            - array
            - 'null'
          items:
            type: string
            format: uuid
          description: "- List of ItemIDs\r\n- If provided the LastUpdated field will be ignored."
        lastUpdated:
          type:
            - string
            - 'null'
          description: "When provided this will limit the response to only include items that have had an on hand adjustment since this passed in date.\r\n\r\n*This is ignored if any values are passed in the Items parameter*"
          format: date-time
        pageNumber:
          type: integer
          description: '- PageNumber Starts at 1'
          format: int32
        pageSize:
          type: integer
          description: "- Default page size: 100\r\n- Max page size: 500"
          format: int32
      additionalProperties: false
    Api.Models.Dto.StoreInventory:
      type: object
      properties:
        id:
          type: string
          description: Id of the Store
          format: uuid
        onHand:
          type: number
          description: Current on hand value for the Item in the Store referenced.
          format: double
      additionalProperties: false
    Api.Models.Dto.Inventory:
      type: object
      properties:
        id:
          type: string
          description: Id of the Item
          format: uuid
        stores:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.StoreInventory'
          description: Listing of the Item's on-hand value per store.
      additionalProperties: false
    Api.Models.Dto.StagedInvoice:
      type: object
      properties:
        id:
          type: string
          format: uuid
      additionalProperties: false
    Api.Models.Dto.ItemAliasCreateRequest:
      required:
        - code
        - itemID
      type: object
      properties:
        itemID:
          type: string
          format: uuid
        code:
          minLength: 1
          type: string
      additionalProperties: false
    Api.Models.Dto.ItemAliasCreateResponse:
      required:
        - code
        - itemID
      type: object
      properties:
        itemAliasID:
          type:
            - string
            - 'null'
          format: uuid
        created:
          type: boolean
        itemID:
          type: string
          format: uuid
        code:
          minLength: 1
          type: string
      additionalProperties: false
    Api.Models.Dto.Item.ItemDimension:
      type: object
      properties:
        id:
          type: string
          description: >-
            DimensionID is the unique identifier for the Dimension; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        description:
          type:
            - string
            - 'null'
          description: Description of the Dimension
      additionalProperties: false
    Api.Models.Dto.Item.ItemLevel:
      type: object
      properties:
        id:
          type: string
          description: >-
            LevelID is the unique identifier for the Level; formatted as GUID
            (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        code:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
          description: Description of the Level to which the item belongs
      additionalProperties: false
      description: >-
        Level is a hierarchy of groupings that are used for reporting and third
        party interface purposes
    Api.Models.Dto.GenericObject:
      type: object
      properties:
        id:
          type: string
          format: uuid
      additionalProperties: false
    Api.Models.Dto.Item.WebProperties:
      type: object
      properties:
        title:
          type:
            - string
            - 'null'
          description: >-
            Main item description for the item in the web cart; limited to 256
            characters; can be HTML if the user specifies formatting in text
            areas
        description:
          type:
            - string
            - 'null'
          description: >-
            A short text description for the item, to be displayed in the web
            cart; can be HTML if the user specifies formatting in text areas
        extendedDescription:
          type:
            - string
            - 'null'
          description: >-
            A longer text description for the item, to be displayed in the web
            cart; can be HTML if the user specifies formatting in text areas
        availableDate:
          type:
            - string
            - 'null'
          description: >-
            DateTime when the item will start to be available to the web cart,
            in ISO 8601 format
          format: date-time
        expiresDate:
          type:
            - string
            - 'null'
          description: >-
            DateTime when the item will stop being available to the web cart, in
            ISO 8601 format.
          format: date-time
        sale:
          type: boolean
          description: >-
            True= This item is on sale and should be sold at either the
            ItemSaleRetail or ItemSalePercentOff, whichever is present;
            False=This item should be sold at it's store retail price.
        itemSaleRetail:
          type:
            - number
            - 'null'
          description: >-
            Web Sale price; used only when Sale=True; an item can only have
            either ItemSaleRetail or ItemSalePercentOff, not both
          format: double
        itemSalePercentOff:
          type:
            - number
            - 'null'
          description: >-
            Web sale discount percentage; used when Sale=True; an item can only
            have either ItemSaleRetail or ItemSalePercentOff, not both
          format: double
        saleBegins:
          type:
            - string
            - 'null'
          description: DateTime when the Web Sale will begin, in ISO 8601 format
          format: date-time
        saleEnds:
          type:
            - string
            - 'null'
          description: DateTime when the Web Sale will end, in ISO 8601 format
          format: date-time
        available:
          type: boolean
          description: >-
            True=This item is available to be sold in the Web Cart; False=This
            item is not available to be sold in the web cart
        flagA:
          type: boolean
          description: >-
            True=This item should be designated as Flag A in the web cart;
            False=This item should not be designated as Flag A in the web cart
        flagB:
          type: boolean
          description: >-
            True=This item should be designated as Flag B in the web cart;
            False=This item should not be designated as Flag B in the web cart
        flagC:
          type: boolean
          description: >-
            True=This item should be designated as Flag C in the web cart;
            False=This item should not be designated as Flag C in the web cart
        tags:
          type:
            - string
            - 'null'
        productType:
          type:
            - string
            - 'null'
      additionalProperties: false
    System.Collections.Generic.KeyValuePair:
      type: object
      properties:
        key:
          type:
            - string
            - 'null'
        value:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.Item.Item2StoreGet:
      type: object
      properties:
        _Interfaces:
          type:
            - string
            - 'null'
          writeOnly: true
        id:
          type: string
          description: >-
            Yellow Dog's primary key for the Store; always unique; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        bin:
          type:
            - string
            - 'null'
        reorderPoint:
          type: number
          format: double
        parLevel:
          type: number
          format: double
        tariffCode:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
          description: Main store description in Yellow Dog
        code:
          type:
            - string
            - 'null'
          description: >-
            Main number associated with the store in the Yellow Dog UI; unique
            per database
        revenueCenterNumber:
          type:
            - string
            - 'null'
          description: >-
            The code used by the third party system that corresponds to their
            store/location ID
        onHand:
          type: number
          description: The Item's on hand in this store
          format: double
        retailPrice1:
          type: number
          format: double
        retailPrice2:
          type: number
          format: double
        retailPrice3:
          type: number
          format: double
        retailPrice4:
          type: number
          format: double
        retailPrice5:
          type: number
          format: double
        retailPrice6:
          type: number
          format: double
        retailPrice7:
          type: number
          format: double
        retailPrice8:
          type: number
          format: double
        retailPrice9:
          type: number
          format: double
        retailPrice10:
          type: number
          format: double
        flags:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Flags designate storage locations, such as Walk-In, Storage Closet,
            Freezer, etc., making ordering and physical inventories easier
        interfaces:
          type:
            - object
            - 'null'
          additionalProperties:
            type:
              - string
              - 'null'
          description: "These are values that can be set differently per third party system; these values correspond to Yellow Dog's Generic Level A-C and Code A-G, \r\nwhich can be individually named in Yellow Dog to fit your system's naming scheme. For example, if your system has a Major Category, you can \r\nrename Generic Level A to Major Category, and you may have Major Category codes and descriptions like 200 Retail, 300 Golf, etc."
          readOnly: true
        additionalInterfaces:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/System.Collections.Generic.KeyValuePair'
          description: List of interfaces that appear to be set to two values
          readOnly: true
      additionalProperties: false
    Api.Models.Dto.Item.Item2VendorGet:
      type: object
      properties:
        id:
          type: string
          description: >-
            Yellow Dog's primary key for the Vendor; always unique; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        code:
          type:
            - string
            - 'null'
          description: >-
            Main number associated with the vendor in the Yellow Dog UI; unique
            per database
        description:
          type:
            - string
            - 'null'
          description: Main vendor description in Yellow Dog
        sku:
          type:
            - string
            - 'null'
          description: Vendor's unique ID for the item
        price:
          type: number
          description: Vendor's Price for the item
          format: double
        isPrimary:
          type: boolean
      additionalProperties: false
    Api.Models.Dto.Item.ItemImage:
      type: object
      properties:
        placement:
          type: integer
          format: int64
        id:
          type:
            - string
            - 'null'
          format: uuid
        description:
          type:
            - string
            - 'null'
        imageURL:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.Item.ItemGet:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: >-
            Yellow Dog's primary key for the Item; always unique. When pushing
            items to the API, if an ItemID is present, Yellow Dog will update or
            create an item. If ItemID is not present, Yellow Dog will create an
            item and provide the ItemID in response. ItemID is formatted as a
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        description:
          type:
            - string
            - 'null'
          description: Main item description in Yellow Dog
        posDescription1:
          type:
            - string
            - 'null'
          description: >-
            Shorter item description for POS terminals; usually limited to 16
            characters
        posDescription2:
          type:
            - string
            - 'null'
          description: >-
            Shorter item description for POS terminals; usually limited to 12
            characters
        sku:
          type:
            - string
            - 'null'
          description: >-
            Main number associated with the item in the Yellow Dog UI; auto
            generated by Yellow Dog when the item is created; unique per
            database
        noCount:
          type: boolean
          description: >-
            When true, this item's on hand will always report as zero, and no
            costs or inventory adjustments will be stored.
        shippingWeight:
          type: number
          description: >-
            Shipping Weight of the item. The unit of measure is not specified;
            this field contains a number only.
          format: double
        shippingHeight:
          type: number
          description: >-
            Shipping Height of the item. The unit of measure is not specified;
            this field contains a number only.
          format: double
        shippingWidth:
          type: number
          description: >-
            Shipping Width of the item. The unit of measure is not specified;
            this field contains a number only.
          format: double
        shippingLength:
          type: number
          description: >-
            Shipping Length of the item. The unit of measure is not specified;
            this field contains a number only.
          format: double
        uom:
          type:
            - string
            - 'null'
          description: >-
            Unit of Measure; additional text field used to describe the way an
            item is measured; not often used because we use Dimension 1 for item
            size
        childCount:
          type: number
          description: "Set how much the parent the Child Item of a Parent/Child relationship.\r\nExamples: \r\n- Parent Child where the Parent is an Each and the Child is a 2 Pack of the Parent the childCount is .5 (1/2).\r\n- Parent Child where the Parent is an Each and the Child is a Case Size of 24 the childCount is 0.041666666667 (1/24)"
          format: double
        childUsage:
          type: number
          description: "This is the expected usage amount of a child item. \r\nThis should be the decimal representation of the percentage.This defaults to 1.0 (100%)"
          format: double
        upc:
          type:
            - array
            - 'null'
          items:
            type: string
          readOnly: true
        active:
          type: boolean
          description: >-
            True=Item is active in Yellow Dog; False=Item is inactive in Yellow
            Dog; inactive items can have an on hand count, but are not sold at
            the POS; this is generally used for seasonal or special event items
            that are only sold at specific times
        lastUpdated:
          type:
            - string
            - 'null'
          description: "DateTime when this item was last updated in Yellow Dog, in ISO 8601 format. This is not \r\nimpacted by changes of an Item's onhand value. This is used to indicate when a change to an \r\nitems configuration has been adjusted. \r\n\r\n\r\nExample Scenarios that would trigger a lastUpdated value change:\r\n- Changing an Item's Dimension\r\n- Making an Item available to a Store\r\n- Adjusting the Item's Retail Price for a Store\r\n- Adjusting the Item's Default Retail Price\r\n- Changing the Item's Level Assignment\r\n- Adjusting an Interface for an Item's Store\r\n\r\nExample Scenarios that would *not* trigger a lastUpdated value change:\r\n- Item being Sold as part of a Transaction\r\n- Item included on an Invoice, Receipt, Purchasing Order Document"
          format: date-time
        dimension1:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension2:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension3:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension4:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension5:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension6:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension7:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension8:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension9:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        dimension10:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemDimension'
        level:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemLevel'
        level1:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemLevel'
        level2:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemLevel'
        level3:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemLevel'
        level4:
          $ref: '#/components/schemas/Api.Models.Dto.Item.ItemLevel'
        parentItem:
          $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
        recipe:
          $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
        matrix:
          $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
        webProperties:
          $ref: '#/components/schemas/Api.Models.Dto.Item.WebProperties'
        stores:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.Item.Item2StoreGet'
          description: "Items have specific store availability and can have different on hand counts, retail prices, and costs per store\r\n\r\nThis is only available when expand vendors is passed in the query string.\r\nexample: /items?Expand=Stores"
        vendors:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.Item.Item2VendorGet'
          description: "Items are assigned to at least one specific vendor in Yellow Dog.\r\n\r\nThis is only available when expand vendors is passed in the query string.\r\nexample: /items?Expand=Vendors"
        images:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.Item.ItemImage'
        shortDescription:
          type:
            - string
            - 'null'
          description: "Short Description of the item; this is a free form text field that should describe the item in less characters than the item.Description.\r\n\r\nThis is commonly used for smaller screen devices or when a more concise description is needed.\r\n\r\nThis value is only available when the expand option `extended-item` is passed in the query string\r\nexample: `/items?Expand=extended-item`"
        isEvergreen:
          type:
            - boolean
            - 'null'
          description: "Evergreen items are items that do not expire or do not \"Age\". This indicator is used to help\r\n manage the items that are always good for inventory or do not turn by season/year.\r\n\r\nThis value is only available when the expand option `extended-item` is passed in the query string\r\nexample: `/items?Expand=extended-item`"
        style:
          type:
            - string
            - 'null'
          description: "Style code of the item. This is used to group like items together, such as a matrix of shirts that all have the same Style code/number.\r\n\r\nThis value is only available when the expand option `extended-item` is passed in the query string\r\nexample: `/items?Expand=extended-item`"
        expirationDays:
          type:
            - number
            - 'null'
          description: "Generally, how many days before this type of item expires once added to inventory.\r\n\r\nThis value is only available when the expand option `extended-item` is passed in the query string\r\nexample: `/items?Expand=extended-item`"
          format: double
        reference:
          type:
            - string
            - 'null'
          description: "Free text field for additional reference notes or identifiers. Reference has no specific \r\nbusiness use within YDI. Use this field to record other necessary, customer-specific \r\ninformation.\r\n\r\nThis value is only available when the expand option `extended-item` is passed in the query string\r\nexample: `/items?Expand=extended-item`"
        attributes:
          type:
            - string
            - 'null'
          description: "This value is only available when the expand option `extended-item` is passed in the query string\r\nexample: `/items?Expand=extended-item`"
      additionalProperties: false
    Dingo.GraphQL.ItemConfigInput:
      type: object
      properties:
        itemSku:
          type:
            - string
            - 'null'
          description: >-
            SKU of the ItemThis must be an item that already exists in the
            database or it must be provided when importing the item.This can be
            found by opening up Yellow Dog Inventory and looking at the sku
            column in the Inventory Items screen.
        defaultVendorCode:
          type:
            - string
            - 'null'
          description: >-
            Sets the default vendor for an item.This Vendor Code must already
            exist in the Database.This is required for creating an item.
        defaultVendorCost:
          type: number
          description: >-
            Sets the Default Vendors Cost for this item.This is required for
            creating an item.
          format: double
        levelCode:
          type:
            - string
            - 'null'
          description: >-
            Fully qualified notation of the level.'30 Food / 10 Meat / 15 Beef'
            is the valid value for a Level of the following structure-
            Department: 30 Food- Category: 10 Meat- Subcategory: 15 BeefThis
            must already exist as a Level in the Database.This is required for
            creating an item.
        dimension1Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 1st dimension of the item. This is usually the
            Size.This must already exist as a Dimension 1 in the Database.This
            is required for creating an item.
        dimension2Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 2nd dimension of the item. This is usually the
            Color.This must already exist as a Dimension in the Database.
        dimension3Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 3rd dimension of the itemThis must already exist
            as a Dimension in the Database.
        dimension4Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 4th dimension of the item.This must already exist
            as a Dimension in the Database.
        dimension5Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 5th dimension of the itemThis must already exist
            as a Dimension in the Database.
        dimension6Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 6th dimension of the itemThis must already exist
            as a Dimension in the Database.
        dimension7Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 7th dimension of the itemThis must already exist
            as a Dimension in the Database.
        dimension8Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 8th dimension of the itemThis must already exist
            as a Dimension in the Database.
        dimension9Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 9th dimension of the itemThis must already exist
            as a Dimension in the Database.
        dimension10Desc:
          type:
            - string
            - 'null'
          description: >-
            Description of the 10th dimension of the itemThis must already exist
            as a Dimension in the Database.
        description:
          type:
            - string
            - 'null'
          description: Description of the item. This is required when creating an item.
        shortDescription:
          type:
            - string
            - 'null'
          description: Short Description of the Item
        posDescription1:
          type:
            - string
            - 'null'
          description: >-
            POS 1 Description of the Item. This is often used as the description
            of the item in the point of sale, but that depends on the point of
            sale integration.
        posDescription2:
          type:
            - string
            - 'null'
          description: >-
            POS 2 Description of the Item. This is sometimes used as a secondary
            description of the item in the point of sale, but that depends on
            the point of sale integration.
        reference1:
          type:
            - string
            - 'null'
          description: >-
            Free text field for additional reference notes or identifiers.
            Reference has no specific business use within YDI. Use this field to
            record other necessary, customer-specific information.
        reference2:
          type:
            - string
            - 'null'
          description: >-
            Free text field for additional reference notes or identifiers.
            Reference has no specific business use within YDI. Use this field to
            record other necessary, customer-specific information.
        reference3:
          type:
            - string
            - 'null'
          description: >-
            Free text field for additional reference notes or identifiers.
            Reference has no specific business use within YDI. Use this field to
            record other necessary, customer-specific information.
        reference4:
          type:
            - string
            - 'null'
          description: >-
            Free text field for additional reference notes or identifiers.
            Reference has no specific business use within YDI. Use this field to
            record other necessary, customer-specific information.
        msrp:
          type:
            - number
            - 'null'
          description: Manufacturer's Suggested Retail Price of the item.
          format: double
        uom:
          type:
            - string
            - 'null'
          description: Unit of Measure for this item.
        expirationDays:
          type:
            - number
            - 'null'
          description: >-
            Expiration Days of the item. This can be found in YDInv in the Item
            Editor > F&B Other tab.
          format: double
        notes:
          type:
            - string
            - 'null'
          description: >-
            Notes for the item are located in the Item Editor > Other Details
            tab in YDInv.
        childCount:
          type:
            - number
            - 'null'
          description: >-
            Set how much the parent the Child Item of a Parent/Child
            relationship.Examples:  - Parent Child where the Parent is an Each
            and the Child is a 2 Pack of the Parent the childCount is .5 (1/2). 
            - Parent Child where the Parent is a Each and the Child is a Case
            Size of 24 the childCount is 0.041666666667 (1/24)Defaults to 1.
          format: double
        childUsage:
          type:
            - number
            - 'null'
          description: >-
            This is the expected usage amount of a child item. This should be
            the decimal representation of the percentage.This defaults to 1.0
            (100%)
          format: double
        isActive:
          type:
            - boolean
            - 'null'
          description: Defaults to True.
        isPrintLabels:
          type:
            - boolean
            - 'null'
          description: >-
            When false this item will not automatically generate labels while
            being recieved.
        isNoCount:
          type:
            - boolean
            - 'null'
          description: >-
            When true, this item's on hand will always report as zero, and no
            costs or inventory adjustments will be stored.
        isPurchaseOrderEnabled:
          type:
            - boolean
            - 'null'
          description: >-
            Defaults to True. When true, this item can be added to Purchase
            Orders.
        isPosEnabled:
          type:
            - boolean
            - 'null'
          description: >-
            Defaults to False. When false, this item can not be sent to the
            point of sale.
        isPhysicalInventoryEnabled:
          type:
            - boolean
            - 'null'
          description: >-
            Defaults to True. When true, this item can be added to Physical
            Inventories.
        isManualAdjustEnabled:
          type:
            - boolean
            - 'null'
          description: >-
            Defaults to True. When true, this item can be adjusted in the Manual
            Adjustment editor.
        isTransferEnabled:
          type:
            - boolean
            - 'null'
          description: Defaults to True. When true, this item can be added to Transfers.
        isPrdTransferItem:
          type:
            - boolean
            - 'null'
          description: >-
            Production Transfer Items are recipe items that will subtract
            ingredients from the Production store and add on hand to the
            destination store when used in a Transfer.
        isRecipeIngredientItem:
          type:
            - boolean
            - 'null'
          description: When true, this item can be used as an ingredient in recipes.
        syncTrigger:
          type:
            - string
            - 'null'
        converted:
          type:
            - string
            - 'null'
          description: >-
            This is a unique ID for the item. This value is not visible in YDInv
            and is generally only used by Yellow Dog Guides.
        placement:
          type:
            - integer
            - 'null'
          format: int32
        shippingWeight:
          type:
            - number
            - 'null'
          description: Shipping Weight of the item.
          format: double
        shippingHeight:
          type:
            - number
            - 'null'
          description: Shipping Height of the item.
          format: double
        shippingWidth:
          type:
            - number
            - 'null'
          description: Shipping Width of the item.
          format: double
        shippingLength:
          type:
            - number
            - 'null'
          description: Shipping Length of the item.
          format: double
        style:
          type:
            - string
            - 'null'
          description: >-
            Style code of the item. This is used to group like items together,
            such as a matrix of shirts that all have the same Style code/number.
        isEvergreen:
          type:
            - boolean
            - 'null'
          description: >-
            Evergreen items are items that do not expire or do not "Age". This
            indicator is used to help manage the items that are always good for
            inventory or do not turn by season/year.
        isChargeable:
          type:
            - boolean
            - 'null'
          description: >-
            Chargeable items are used with Stand Sheets, to control which items
            are counted by the Stand Operators when reconciling.
        isRequestEnabled:
          type:
            - boolean
            - 'null'
          description: Defaults to True. When true, this item can be added to Requests.
        isNonChargeable:
          type:
            - boolean
            - 'null'
          description: >-
            Non-Chargeable items are used with Stand Sheets, to control which
            items are counted by the Stand Operators when reconciling.
        isSupplies:
          type:
            - boolean
            - 'null'
          description: >-
            Supply items are used with Stand Sheets, to control which items are
            counted by the Stand Operators when reconciling.
        isRestockSize:
          type:
            - boolean
            - 'null'
          description: >-
            Specified which item size of a parent/child is used for restocking
            standing.
        startingRetail:
          type:
            - number
            - 'null'
          description: >-
            This value can appear on labels and some reports.  Used to compare
            current price against starting price (for Sales, Markdowns,
            clearance, etc).
          format: double
        allowDecimalQuantity:
          type:
            - boolean
            - 'null'
          description: >-
            If true, this item can be pulled into a purchase order with a
            fractional quantity.By default, the quantity will be rounded to a
            whole number when added to a PO by Par level.Defaults to true.
        defaultRetailPrice:
          type:
            - number
            - 'null'
          description: >-
            Item Retail to be used when new stores are added to an items
            availability.This it propagated to the Stores as the item's retail.
            Additional changes to that stores retail can be made in the Item
            Editor's Stores Tab.
          format: double
        isPreferredPurchasingSize:
          type:
            - boolean
            - 'null'
        upc1:
          type:
            - string
            - 'null'
          description: >-
            Inserts or updates the UPC for the item in the first position for
            this item.If a UPC already exists for the Item this will overwrite
            it.This can be found in the Item Editor of Yellow Dog
            Inventory.Additional codes that can be used by the POS for searching
            or scanning for items. Can be codes other than UPC, such as old
            label SKUs. These codes must be unique per Item.
        parentItemSku:
          type:
            - string
            - 'null'
          description: >-
            Creates a relationship of parent/child items.This field should be
            populated with the parent item's SKU when you want the line item in
            the file to be a child of that item.Note that the parent and/or
            child can be created in the same import; the parent item or child
            item do not have to be created before the file that is setting up
            this relationship.
        vendorPartNumber:
          type:
            - string
            - 'null'
          description: >-
            The default vendors part number for an item.In previous versions of
            YDInv this was referred to as a Vendor SKU.
        webpropertyTitle:
          type:
            - string
            - 'null'
          description: >-
            Use of this field on the website is dependent on the Ecommerce
            integration. In YDInv, this is the Title in the Item Editor > Web
            Properties tab.
        webpropertyDescription:
          type:
            - string
            - 'null'
          description: >-
            Use of this field on the website is dependent on the Ecommerce
            integration. In YDInv, this is the Short Description in the Item
            Editor > Web Properties tab.
        webpropertyExtendedDescription:
          type:
            - string
            - 'null'
          description: >-
            Use of this field on the website is dependent on the Ecommerce
            integration. In YDInv, this is the Extended Description in the Item
            Editor > Web Properties tab.
        webpropertyAvailableDate:
          type:
            - string
            - 'null'
          description: >-
            Use of this field on the website is dependent on the Ecommerce
            integration. In YDInv, this is the Available From Date in the Item
            Editor > Web Properties tab.
          format: date-time
        webpropertyExpiresDate:
          type:
            - string
            - 'null'
          description: >-
            In YDInv, this is the Available To Date in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
          format: date-time
        webpropertyItemSaleRetail:
          type:
            - number
            - 'null'
          description: >-
            In YDInv, this is the Sale Retail field in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
          format: double
        webpropertyItemSalePercentOff:
          type:
            - number
            - 'null'
          description: >-
            In YDInv, this is the Percent Off field in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
          format: double
        webpropertySale:
          type:
            - boolean
            - 'null'
          description: >-
            In YDInv, this is the On Sale checkbox in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
        webpropertySaleBegins:
          type:
            - string
            - 'null'
          description: >-
            In YDInv, this is the Sale From Date in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
          format: date-time
        webpropertySaleEnds:
          type:
            - string
            - 'null'
          description: >-
            In YDInv, this is the Sale To Date in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
          format: date-time
        webpropertyFlagA:
          type:
            - boolean
            - 'null'
          description: >-
            In YDInv, this is the New Item Checkbox in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
        webpropertyFlagB:
          type:
            - boolean
            - 'null'
          description: >-
            In YDInv, this is the Last Chance Checkbox in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
        webpropertyFlagC:
          type:
            - boolean
            - 'null'
          description: >-
            In YDInv, this is the Taxable Checkbox in the Item Editor > Web
            Properties tab. Use of this field on the website is dependent on the
            Ecommerce integration.
        webpropertyAvailable:
          type:
            - boolean
            - 'null'
          description: >-
            In YDInv, this is the Send to Website Checkbox in the Item Editor >
            Web Properties tab. This is normally used to make the item available
            to the website, but this functionality depends on the Ecommerce
            integration.
        webpropertyPlacement:
          type:
            - integer
            - 'null'
          description: >-
            In YDInv, this is the Placement order of items in a matrix in the
            Matrix Editor > Web Properties tab. Most often this is used to
            determine the primary matrix item, which holds the interface
            settings for the matrix, and, when only one image can be pushed to a
            POS/Web Cart, this item's image would be the one used. All of this
            is dependent on the POS/ECommerce integration.
          format: int32
        webpropertyTags:
          type:
            - string
            - 'null'
          description: >-
            In YDInv, this is the Tags field in the Item Editor > Web Properties
            tab. Use of this field on the website depends on the Ecommerce
            integration.
        webpropertyProductType:
          type:
            - string
            - 'null'
          description: >-
            In YDInv, this is the Product Type field in the Item Editor > Web
            Properties tab. Use of this field on the website depends on the
            Ecommerce integration.
        manufacturerCode:
          type:
            - string
            - 'null'
          description: >-
            The Code of the Manufacturer.This must already exist as a Vendor in
            YDInv. The manufacturer is typically the company that creates the
            product. It is not required for ordering.
        initialStoreCode:
          type:
            - string
            - 'null'
          description: >-
            Code of the storeThis must be a store that already exists in the
            database and is not deleted.
      additionalProperties: false
      description: Input used for setting Item configurations
    Dingo.GraphQL.ImportItemConfigInput:
      type: object
      properties:
        importData:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Dingo.GraphQL.ItemConfigInput'
          description: Values to be used for setting the imports
      additionalProperties: false
      description: >-
        Input used for setting configurations of  items and storesSee mutation
        documentation for additional notes.
    Dingo.GraphQL.ItemStoreConfigInput:
      type: object
      properties:
        itemSku:
          type:
            - string
            - 'null'
          description: >-
            SKU of the ItemThis must be an item that already exists in the
            database, is not a removed status. This can be found by opening up
            Yellow Dog Inventory and looking at the sku column in the Inventory
            Items screen.
        storeCode:
          type:
            - string
            - 'null'
          description: >-
            Code of the storeThis must be a store that already exists in the
            database and is not deleted
        isAvailable:
          type:
            - boolean
            - 'null'
          description: marked true when the item is available for the store
        bin:
          type:
            - string
            - 'null'
          description: >-
            free text field for identifying where in the store this item can be
            found
        reorderPoint:
          type:
            - number
            - 'null'
          description: >-
            Used to identify when a store should reorder a item based on the
            available onhand.When the Stores current onhand is equal to or less
            than this set amount, views and lists that show items that need to
            be ordered will include this.Currently, this updates the Reorder
            Point of the specified SKU ONLY and does NOT keep child and parent
            Reorder Points in sync. If you want a child and a parent's Reorder
            Point updated, you must include those related SKUs as separate lines
            in the file with their own specific Reorder Point.See parLevel
            documentation for breakdown of usage scenarios.
          format: double
        parLevel:
          type:
            - number
            - 'null'
          description: >-
            The target onhand amount to have after a purchase for this
            store.This is used in conjunction with the reorderPoint value. This
            is the quantity that a recommended purchase amount is based
            on.Example Scenarios:1. Item A has a current Onhand of 2, a reorder
            point of 4, and a par level of 7. The recommended purchase amount
            used by the system would be 5.2. Item B has a current Onhand of 4, a
            reorder point of 4, and a par level of 7. The recommended purchase
            amount used by the system would be 3.3. Item C has a current Onhand
            of 5, a reorder point of 4, and a par level of 7. This item would
            not be recommended for purchase since the current onhand is greater
            than the reorder point.Par Level must be equal to or higher than the
            reorderPoint.Currently, this updates the Par Level of the specified
            SKU ONLY and does NOT keep child and parent Par Levels in sync. If
            you want a child and a parent's Par Level updated, you must include
            those related SKUs as separate lines in the file with their own
            specific Par Level.
          format: double
        isNoCount:
          type:
            - boolean
            - 'null'
          description: >-
            In this store this item will never hold an onhand value. Changing
            this setting will cause reports looking in the past to change.
        isNonRestock:
          type:
            - boolean
            - 'null'
          description: >-
            When set to true, the item will not appear in auto-restocks for the
            store. This is a Stands Workflow dependent field.
        maxCapacity:
          type:
            - number
            - 'null'
          description: >-
            The maximum capacity of an item at this store. This is used to try
            to only allow a maximum onhand to be available in a store.Max
            Capacity is required to be equal to or higher than the parLevel.
            However, a Max Capacity of 0 is treated as an unlimited amount that
            can be stored in the store.
          format: double
        automaticParAlgorithm:
          type:
            - string
            - 'null'
        tariffCode:
          type:
            - string
            - 'null'
          description: >-
            Mostly used with E-Commerce integrations when there are additional
            taxes relating to sales outside of the country
      additionalProperties: false
      description: Input used for setting Item & Store Intersection configurations
    Dingo.GraphQL.ImportItemStoreConfigInput:
      type: object
      properties:
        importData:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Dingo.GraphQL.ItemStoreConfigInput'
          description: Values to be used for setting the imports
      additionalProperties: false
      description: >-
        Input used for setting configurations of the intersection of items and
        storesSee mutation documentation for additional notes.
    Api.Models.Dto.AttachedFileMutation:
      required:
        - description
      type: object
      properties:
        description:
          minLength: 1
          type: string
      additionalProperties: false
    Api.Models.Dto.AttachedFile:
      type: object
      properties:
        placement:
          type: integer
          format: int32
        rowDeleted:
          type: boolean
        attachedFileID:
          type:
            - string
            - 'null'
          format: uuid
        ownerID:
          type: string
          format: uuid
        description:
          type:
            - string
            - 'null'
        fileData:
          type:
            - string
            - 'null'
        isPicture:
          type: boolean
        originalFile:
          type:
            - string
            - 'null'
        imageURL:
          type:
            - string
            - 'null'
        mimeType:
          type:
            - string
            - 'null'
          description: "Content type of the file that is being used on upload of an image.\r\n\r\nThis is expected to be blank when it is coming from the database."
      additionalProperties: false
    Api.Models.Dto.Item.ItemRetailCreate:
      required:
        - date
        - retail1
        - storeId
      type: object
      properties:
        storeId:
          type: string
          format: uuid
        date:
          type: string
          format: date-time
        retail1:
          type: number
          format: double
      additionalProperties: false
    Api.Models.Dto.Item.ItemRetailCreateResponse:
      required:
        - date
        - retail1
        - storeId
      type: object
      properties:
        userId:
          type: string
          format: uuid
        itemID:
          type: string
          format: uuid
        storeId:
          type: string
          format: uuid
        date:
          type: string
          format: date-time
        retail1:
          type: number
          format: double
      additionalProperties: false
    Api.Models.Dto.ManualAdjustCreate:
      required:
        - beanAccountID
        - itemID
        - storeID
      type: object
      properties:
        itemID:
          type: string
          description: >-
            Yellow Dog's Item ID for the item; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        storeID:
          type: string
          description: >-
            Yellow Dog's primary key for the Store; always unique; formatted as
            GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        beanAccountID:
          type: string
          description: "This is used to define the accounting reason for the adjustment.\r\nBeanAccountId can be retrieved from the /api/v3/accounting/{storeId}/codes/ManualAdjust endpoint, using the specified the storeId."
          format: uuid
        newOnHand:
          type:
            - number
            - 'null'
          description: sets a new on hand value for given item at given store
          format: double
        adjustment:
          type:
            - number
            - 'null'
          description: "The adjustment amount that will be added to current on-hand\r\n- sets the adjustment for the item at that store\r\n- NewOnHand takes precedence over Adjustment. If both are set, NewOnHand's Value will be used, not Adjustment"
          format: double
        itemCost:
          type:
            - number
            - 'null'
          description: "The cost of the item\r\nNew Item Cost (defaults to -1 if a value is not provided)"
          format: double
        reference:
          type:
            - string
            - 'null'
          description: User defined reason why the adjustment was performed
      additionalProperties: false
    Api.Models.Dto.MetaInfo:
      type: object
      properties:
        dimensions:
          type:
            - array
            - 'null'
          items:
            type: string
        genericInterfacesCodes:
          type:
            - array
            - 'null'
          items:
            type: string
          readOnly: true
        genericInterfacesLevels:
          type:
            - array
            - 'null'
          items:
            type: string
          readOnly: true
        levels:
          type:
            - array
            - 'null'
          items:
            type: string
          readOnly: true
        webItemFlags:
          type:
            - array
            - 'null'
          items:
            type: string
          readOnly: true
        store:
          type:
            - string
            - 'null'
        manufacturer:
          type:
            - string
            - 'null'
        vendor:
          type:
            - string
            - 'null'
        flag:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.SendGridUserResponse:
      type: object
      properties:
        userId:
          type: string
          format: uuid
        emailSent:
          type: boolean
        notified:
          type: boolean
          readOnly: true
      additionalProperties: false
    Api.Models.Dto.POTierApprovalPUT:
      required:
        - approved
      type: object
      properties:
        approved:
          type: boolean
        notes:
          maxLength: 256
          minLength: 0
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.POTierApprovalPUTResponse:
      required:
        - approved
      type: object
      properties:
        updated:
          type: boolean
        usersNotified:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.SendGridUserResponse'
        isFinalTier:
          type: boolean
        errors:
          type:
            - array
            - 'null'
          items:
            type: string
        approved:
          type: boolean
        notes:
          maxLength: 256
          minLength: 0
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.CommdocLine:
      type: object
      properties:
        id:
          type: string
          format: uuid
        thirdPartyLineID:
          type:
            - string
            - 'null'
        lineNumber:
          type: integer
          format: int32
        vendorPrice:
          type:
            - number
            - 'null'
          format: double
        quantity:
          type:
            - number
            - 'null'
          format: double
        notes:
          type:
            - string
            - 'null'
        backLinkLineID:
          type:
            - string
            - 'null'
        item:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.CommdocApprovalStatus:
      type: object
      properties:
        status:
          type:
            - string
            - 'null'
        dateTime:
          type:
            - string
            - 'null'
          format: date-time
        notes:
          type:
            - string
            - 'null'
        type:
          type:
            - string
            - 'null'
        tier:
          type:
            - integer
            - 'null'
          format: int32
        userID:
          type:
            - string
            - 'null'
          format: uuid
      additionalProperties: false
    Api.Models.Dto.PurchaseOrderGet:
      type: object
      properties:
        commit:
          type: boolean
        id:
          type: string
          format: uuid
        thirdPartyID:
          type:
            - string
            - 'null'
        docNumber:
          type:
            - string
            - 'null'
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        totalAmount:
          type: number
          format: double
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.CommdocLine'
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
        vendor:
          type:
            - string
            - 'null'
        createdByUser:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        store:
          type:
            - string
            - 'null'
        committed:
          type:
            - string
            - 'null'
          format: date-time
        committedByUser:
          type:
            - string
            - 'null'
        startShip:
          type:
            - string
            - 'null'
          format: date-time
        cancelShip:
          type:
            - string
            - 'null'
          format: date-time
        backOrdered:
          type: boolean
        canceled:
          type: boolean
        paid:
          type: boolean
        approvalStatuses:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.CommdocApprovalStatus'
        buyer:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.PurchaseOrderLinesCreate:
      required:
        - item
        - quantity
        - vendorPrice
      type: object
      properties:
        commdocID:
          type: string
          format: uuid
        commdocLineID:
          type: string
          format: uuid
        thirdPartyLineID:
          type:
            - string
            - 'null'
        lineNumber:
          type: integer
          format: int32
        vendorPrice:
          type: number
          format: double
        quantity:
          type: number
          format: double
        notes:
          type:
            - string
            - 'null'
        backLinkLineID:
          type: string
          format: uuid
        item:
          $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
      additionalProperties: false
    Api.Models.Dto.PurchaseOrderCreate:
      required:
        - docNumber
        - lines
        - store
        - totalAmount
        - vendor
      type: object
      properties:
        thirdPartyID:
          type:
            - string
            - 'null'
        docNumber:
          minLength: 1
          type: string
        totalAmount:
          type: number
          format: double
        lines:
          type: array
          items:
            $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderLinesCreate'
        startShip:
          type:
            - string
            - 'null'
          format: date-time
          default: '1911-11-11 00:00:00.000'
        cancelShip:
          type:
            - string
            - 'null'
          format: date-time
          default: '1911-11-11 00:00:00.000'
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        backOrdered:
          type: boolean
        canceled:
          type: boolean
        invoicedEDI:
          type: boolean
        committed:
          type:
            - string
            - 'null'
          format: date-time
        vendor:
          $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
        store:
          $ref: '#/components/schemas/Api.Models.Dto.GenericObject'
      additionalProperties: false
    Api.Models.Dto.CommdocApprovalStatuses:
      type: object
      properties:
        currentTier:
          type:
            - integer
            - 'null'
          format: int32
        approvalStatuses:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.CommdocApprovalStatus'
      additionalProperties: false
    Api.Models.Dto.PurchaseOrderLinePatch:
      type: object
      properties:
        commdocLineID:
          type: string
          description: Should be populated when editing an already existing CommdocLineID.
          format: uuid
        itemID:
          type: string
          description: "ONLY to be used when adding a new line. \r\n\r\nAny alterations to existing lines should be handled via the CommdocLineID property as that is an explicit match.\r\n\r\nWhen Items are added using this method it will be appended to the end of the existing lines of the existing commdoc."
          format: uuid
        vendorPrice:
          type:
            - number
            - 'null'
          format: double
        quantity:
          type:
            - number
            - 'null'
          format: double
        notes:
          type:
            - string
            - 'null'
      additionalProperties: false
      description: SummaryPurchaseOrderLinePatch
    Api.Models.Dto.PurchaseOrderPatch:
      required:
        - commdocID
      type: object
      properties:
        commdocID:
          type: string
          format: uuid
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        backOrdered:
          type:
            - boolean
            - 'null'
        canceled:
          type:
            - boolean
            - 'null'
        invoicedEDI:
          type:
            - boolean
            - 'null'
        startShip:
          type:
            - string
            - 'null'
          format: date-time
          default: '1911-11-11 00:00:00.000'
        cancelShip:
          type:
            - string
            - 'null'
          format: date-time
          default: '1911-11-11 00:00:00.000'
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.PurchaseOrderLinePatch'
          description: "When populated this will alter the lines of the purchase order.\r\n\r\nTo add additional items to a purchase order you would add an object to the array with a shape like\r\n```json\r\n{\r\n\t\"ItemID\": \"12345678-1234-1234-1234-12345678123\",\r\n\t\"Quantity\": 15,\r\n\t\"VendorPrice\": 1.50\r\n}\r\n```\r\nThe result set back will include the generated CommdocLineId that can be used in subsequent update requests for this Purchase Order line.\r\n\r\n\r\nTo alter existing items of a purchase order you would add an object to the array with a shape like\r\n```json\r\n{\r\n\t\"CommDocLineId\": \"87654321-1234-1234-1234-12345678123\",\r\n\t\"Quantity\": 15,\r\n\t\"VendorPrice\": 1.50\r\n}\r\n```"
      additionalProperties: false
    Api.Models.PatchValidationError:
      type: object
      properties:
        errorText:
          type:
            - string
            - 'null'
        field:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.BackLinkLine:
      type: object
      properties:
        id:
          type: string
          format: uuid
        lineNumber:
          type: integer
          description: The position this line appears in the back linked document
          format: int32
      additionalProperties: false
    Api.Models.Dto.BackLinkDoc:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type:
            - string
            - 'null'
        docNumber:
          type:
            - string
            - 'null'
        line:
          $ref: '#/components/schemas/Api.Models.Dto.BackLinkLine'
      additionalProperties: false
    Api.Models.Dto.ReceiptLineGet:
      type: object
      properties:
        id:
          type: string
          format: uuid
        thirdPartyLineID:
          type:
            - string
            - 'null'
        lineNumber:
          type: integer
          format: int32
        vendorPrice:
          type:
            - number
            - 'null'
          format: double
        quantity:
          type:
            - number
            - 'null'
          format: double
        notes:
          type:
            - string
            - 'null'
        backLinkDoc:
          $ref: '#/components/schemas/Api.Models.Dto.BackLinkDoc'
        item:
          type:
            - string
            - 'null'
      additionalProperties: false
    Api.Models.Dto.ReceiptGet:
      type: object
      properties:
        id:
          type: string
          format: uuid
        thirdPartyID:
          type:
            - string
            - 'null'
        docNumber:
          type:
            - string
            - 'null'
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.ReceiptLineGet'
        vendor:
          type:
            - string
            - 'null'
        store:
          type:
            - string
            - 'null'
        committed:
          type:
            - string
            - 'null'
          format: date-time
        committedByUser:
          type:
            - string
            - 'null'
        paid:
          type: boolean
        createdByUser:
          type:
            - string
            - 'null'
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
      additionalProperties: false
    Api.Models.Dto.ReceiptLineCreate:
      required:
        - itemID
        - quantity
        - vendorPrice
      type: object
      properties:
        vendorPrice:
          type: number
          format: double
        quantity:
          type: number
          format: double
        itemID:
          type: string
          format: uuid
        backLinkLineID:
          type:
            - string
            - 'null'
          format: uuid
        lineNumber:
          type: integer
          format: int32
      additionalProperties: false
    Api.Models.Dto.ReceiptCreate:
      required:
        - docNumber
        - lines
        - storeID
        - vendorID
      type: object
      properties:
        docNumber:
          minLength: 1
          type: string
        vendorID:
          type: string
          format: uuid
        storeID:
          type: string
          format: uuid
        lines:
          type: array
          items:
            $ref: '#/components/schemas/Api.Models.Dto.ReceiptLineCreate'
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        paid:
          type: boolean
      additionalProperties: false
    Api.Models.Dto.FetchAPICommdocLine:
      type: object
      properties:
        commdocLineID:
          type:
            - string
            - 'null'
          format: uuid
        commdocID:
          type:
            - string
            - 'null'
          format: uuid
        backLinkLineID:
          type:
            - string
            - 'null'
          format: uuid
        itemID:
          type:
            - string
            - 'null'
          format: uuid
        vendorPrice:
          type:
            - number
            - 'null'
          format: double
        lastVendorPrice:
          type:
            - number
            - 'null'
          format: double
        quantity:
          type:
            - number
            - 'null'
          format: double
        lineNumber:
          type:
            - integer
            - 'null'
          format: int32
        notes:
          type:
            - string
            - 'null'
        converted:
          type:
            - string
            - 'null'
        computedCost:
          type:
            - number
            - 'null'
          format: double
        rowDeleted:
          type: boolean
      additionalProperties: false
    Api.Models.Dto.RequestCreate:
      type: object
      properties:
        lines:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.FetchAPICommdocLine'
        doCommit:
          type: boolean
        RequestType:
          type:
            - string
            - 'null'
          description: 'Valid Request Types: "Purchase", "Transfer", null'
        commit:
          type: boolean
        id:
          type: string
          format: uuid
        thirdPartyID:
          type:
            - string
            - 'null'
        docNumber:
          type:
            - string
            - 'null'
        reference:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        instructions:
          type:
            - string
            - 'null'
        totalAmount:
          type: number
          format: double
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
        vendor:
          type:
            - string
            - 'null'
        createdByUser:
          type:
            - string
            - 'null'
        notes:
          type:
            - string
            - 'null'
        store:
          type:
            - string
            - 'null'
        committed:
          type:
            - string
            - 'null'
          format: date-time
        committedByUser:
          type:
            - string
            - 'null'
        needBy:
          type:
            - string
            - 'null'
          format: date-time
      additionalProperties: false
    Dingo.GraphQL.RequestStatus:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
      type: integer
      format: int32
    Dingo.GraphQL.IGetMyRequest_Me_Request_Store:
      type: object
      properties:
        code:
          type:
            - string
            - 'null'
          readOnly: true
        description:
          type:
            - string
            - 'null'
          readOnly: true
        id:
          type:
            - string
            - 'null'
          readOnly: true
        requestEmailAddress:
          type:
            - string
            - 'null'
          description: "375+ only\r\ndefaults to null\r\nrecipient email used when sending out request information for this store"
          readOnly: true
      additionalProperties: false
    Dingo.GraphQL.IGetMyRequest_Me_Request_Requestor:
      type: object
      properties:
        code:
          type:
            - string
            - 'null'
          readOnly: true
        id:
          type:
            - string
            - 'null'
          readOnly: true
        name:
          type:
            - string
            - 'null'
          readOnly: true
        email:
          type:
            - string
            - 'null'
          readOnly: true
      additionalProperties: false
    Dingo.GraphQL.YdRequestType:
      enum:
        - 0
        - 1
        - 2
      type: integer
      format: int32
    Dingo.GraphQL.IGetMyRequest_Me_Request_Lines_Nodes_Item:
      type: object
      properties:
        id:
          type:
            - string
            - 'null'
          readOnly: true
        description:
          type:
            - string
            - 'null'
          readOnly: true
        dimension1:
          type:
            - string
            - 'null'
          readOnly: true
        dimension2:
          type:
            - string
            - 'null'
          readOnly: true
      additionalProperties: false
    Dingo.GraphQL.IGetMyRequest_Me_Request_Lines_Nodes:
      type: object
      properties:
        id:
          type:
            - string
            - 'null'
          readOnly: true
        item:
          $ref: >-
            #/components/schemas/Dingo.GraphQL.IGetMyRequest_Me_Request_Lines_Nodes_Item
        quantity:
          type:
            - number
            - 'null'
          format: double
          readOnly: true
        vendorPrice:
          type:
            - number
            - 'null'
          format: double
          readOnly: true
      additionalProperties: false
    Dingo.GraphQL.IGetMyRequest_Me_Request_Lines:
      type: object
      properties:
        id:
          type:
            - string
            - 'null'
          readOnly: true
        count:
          type: integer
          format: int32
          readOnly: true
        uniqueItemCount:
          type: integer
          format: int32
          readOnly: true
        totalQuantity:
          type: number
          format: double
          readOnly: true
        totalVendorPrice:
          type: number
          format: double
          readOnly: true
        nodes:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/Dingo.GraphQL.IGetMyRequest_Me_Request_Lines_Nodes
          readOnly: true
      additionalProperties: false
    Dingo.GraphQL.IGetMyRequest_Me_Request:
      type: object
      properties:
        id:
          type:
            - string
            - 'null'
          readOnly: true
        code:
          type:
            - string
            - 'null'
          readOnly: true
        description:
          type:
            - string
            - 'null'
          readOnly: true
        dueAt:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        instructions:
          type:
            - string
            - 'null'
          readOnly: true
        notes:
          type:
            - string
            - 'null'
          readOnly: true
        reference:
          type:
            - string
            - 'null'
          readOnly: true
        requestedAt:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
        status:
          $ref: '#/components/schemas/Dingo.GraphQL.RequestStatus'
        store:
          $ref: '#/components/schemas/Dingo.GraphQL.IGetMyRequest_Me_Request_Store'
        requestor:
          $ref: >-
            #/components/schemas/Dingo.GraphQL.IGetMyRequest_Me_Request_Requestor
        requestType:
          $ref: '#/components/schemas/Dingo.GraphQL.YdRequestType'
        lines:
          $ref: '#/components/schemas/Dingo.GraphQL.IGetMyRequest_Me_Request_Lines'
      additionalProperties: false
    Api.Models.Dto.SessionItemGet:
      type: object
      properties:
        sessionItemID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Item Counted in the Session;
            formatted as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        sessionID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Session; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        itemID:
          type: string
          description: >-
            Yellow Dog's Item ID for the item; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        count:
          type:
            - number
            - 'null'
          format: double
        flagID:
          type:
            - string
            - 'null'
          description: >-
            FlagID is the unique identifier for the Flag; formatted as GUID
            (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        levelID:
          type:
            - string
            - 'null'
          format: uuid
      additionalProperties: false
    Api.Models.Dto.SessionGet:
      type: object
      properties:
        sessionID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Session; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        storeID:
          type:
            - string
            - 'null'
          description: >-
            Unique ID of the Yellow Dog store where the item was counted;
            formatted as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        description:
          type:
            - string
            - 'null'
          description: Description of the Session (I.E. January Inventory)
        userID:
          type: string
          description: >-
            Yellow Dog's UserID for the User; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        device:
          type:
            - string
            - 'null'
          description: The device used to perform the count session
        lastUpdated:
          type: string
          description: >-
            DateTime when this item was last updated in Yellow Dog, in ISO 8601
            format
          format: date-time
        countSheetID:
          type:
            - string
            - 'null'
          description: >-
            Yellow Dog's CountSheetID for the Session; formatted as GUID
            (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        sessionItems:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.SessionItemGet'
      additionalProperties: false
    Api.Helpers.MobileStatus:
      enum:
        - 0
        - 1
        - 2
        - 3
      type: integer
      format: int32
    Api.Models.Dto.SessionItemCreate:
      type: object
      properties:
        sessionItemID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Item Counted in the Session;
            formatted as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        sessionID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Session; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        itemID:
          type:
            - string
            - 'null'
          description: >-
            Yellow Dog's Item ID for the item; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        count:
          maximum: 99999999999.9999
          minimum: -99999999999.9999
          type:
            - number
            - 'null'
          format: double
        flagID:
          type:
            - string
            - 'null'
          description: >-
            FlagID is the unique identifier for the Flag; formatted as GUID
            (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        levelID:
          type:
            - string
            - 'null'
          format: uuid
        rowDeleted:
          type: boolean
          readOnly: true
      additionalProperties: false
    Api.Models.Dto.SessionCreate:
      type: object
      properties:
        sessionID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Session; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        storeID:
          type:
            - string
            - 'null'
          description: >-
            Unique ID of the Yellow Dog store where the item was counted;
            formatted as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        description:
          type:
            - string
            - 'null'
          description: Description of the Session (I.E. January Inventory)
        userID:
          type: string
          description: >-
            Yellow Dog's UserID for the User; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        device:
          type:
            - string
            - 'null'
          description: The device used to perform the count session
        countSheetID:
          type:
            - string
            - 'null'
          description: >-
            Yellow Dog's CountSheetID for the Session; formatted as GUID
            (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        mobileStatus:
          $ref: '#/components/schemas/Api.Helpers.MobileStatus'
        sessionItems:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Api.Models.Dto.SessionItemCreate'
      additionalProperties: false
    Api.Models.Dto.SessionItemCreate2:
      required:
        - count
        - itemID
      type: object
      properties:
        itemID:
          type: string
          format: uuid
        count:
          type: number
          format: double
      additionalProperties: false
    Api.Models.Dto.SessionItemMutationResponse:
      type: object
      properties:
        sessionItemID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Item Counted in the Session;
            formatted as GUID (example: 433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        sessionID:
          type: string
          description: >-
            Yellow Dog's SessionID for the Session; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        itemID:
          type:
            - string
            - 'null'
          description: >-
            Yellow Dog's Item ID for the item; formatted as GUID (example:
            433ef432-f63e-4c26-a29f-39d4079d9fc9)
          format: uuid
        count:
          type:
            - number
            - 'null'
          format: double
      additionalProperties: false
    Api.Models.Dto.SessionItemUpdate:
      required:
        - count
      type: object
      properties:
        count:
          type: number
          format: double
      additionalProperties: false
  securitySchemes:
    Auth API User Token:
      type: http
      description: >-
        JWT Authorization header using the Bearer scheme, use the Auth API for
        retrieving this token.
      scheme: bearer
      bearerFormat: JWT
security:
  - Auth API User Token: []
tags:
  - name: Accounting
    description: >-
      Accounting Export Reports that can be consumed by 3rd Party accounting
      systems
  - name: AttachedFiles
    description: >-
      Items, Recipes, and Purchasing Documents are able to have files of record
      or images associated to them.
  - name: CountSheets
    description: >-
      A dynamic list of Items that are designed to aide with physical
      inventories. Countsheets are based on a static list of items, Levels, and
      Flags
  - name: Currency
    description: >-
      Operations used to manage currency conversion for the database. These are
      used when multiple currencies are used in a database.
  - name: Dimensions
    description: >-
      Attributes that are available for assigning to an Item. Attributes can be
      like a Size or Color.
  - name: Flags
    description: >-
      Flags allow you to indicate storage locations, making ordering and
      physical inventories easier.
  - name: Inventory
    description: Item Inventory OnHand information.
  - name: Invoices
    description: A Purchasing document
  - name: ItemAliases
    description: UPCs or additional SKUs to for an Item.
  - name: Items
    description: Product information that is tracked in Yellow Dog Inventory.
  - name: ManualAdjusts
    description: A Manual Adjustment will affect an Item's OnHand.
  - name: MetaInfo
    description: Database specific configuration information
  - name: PurchaseOrders
    description: A Purchasing document
  - name: Receipts
    description: A Receiving document
  - name: Recipes
    description: >-
      Collections of items and recipes, with quantities, that are used to create
      other items.
  - name: Requests
    description: A requisition for purchasing or transfering an item.
  - name: Sessions
    description: >-
      Associate a count to an Item, these sessions can be used for Purchasing
      Documents or Physical Inventories.
  - name: Stores
    description: >-
      Business Entities or locations of a single business entity that need to
      maintain their own inventory records.
  - name: ThirdPartyCodes
    description: >-
      Additional configuration options that control item, store or level
      behavior with third-party integrations
  - name: ThirdParty
    description: Third Party Mappings with Yellow Dog Inventory
  - name: ThirdPartySessions
    description: >-
      Records that increment or decrement inventory based on customer
      interactions with a store
  - name: Transactions
    description: >-
      Records that increment or decrement inventory based on customer
      interactions with a store
  - name: Transfers
    description: A record of movement of Items from one Store to another.
  - name: Vendors
    description: >-
      Vendors, Suppliers, Distributors, or Manufacturors that provide Items into
      the Inventory.
