openapi: 3.0.3
info:
  title: InvenTree API
  version: '166'
  description: API for InvenTree - the intuitive open source inventory management
    system
  license:
    name: MIT
    url: https://github.com/inventree/InvenTree/blob/master/LICENSE
paths:
  /api/action/:
    post:
      operationId: api_action_create
      description: This function checks if all required info was submitted and then
        performs a plugin_action or returns an error.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/admin/config/:
    get:
      operationId: api_admin_config_list
      description: List view for all accessed configurations.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/admin/config/{key}/:
    get:
      operationId: api_admin_config_retrieve
      description: Detail view for an individual configuration.
      parameters:
      - in: path
        name: key
        schema:
          type: string
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/auth/emails/:
    get:
      operationId: api_auth_emails_list
      description: List of registered email addresses for current users.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEmailAddressList'
          description: ''
    post:
      operationId: api_auth_emails_create
      description: List of registered email addresses for current users.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailAddress'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EmailAddress'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EmailAddress'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/emails/{id}/primary/:
    post:
      operationId: api_auth_emails_primary_create
      description: Filter item, run action and return data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/emails/{id}/remove/:
    post:
      operationId: api_auth_emails_remove_create
      description: Filter item, run action and return data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/emails/{id}/verify/:
    post:
      operationId: api_auth_emails_verify_create
      description: Filter item, run action and return data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/login/:
    post:
      operationId: api_auth_login_create
      description: |-
        Check the credentials and return the REST Token
        if the credentials are valid and authenticated.
        Calls Django Auth login method to register User ID
        in Django session framework

        Accept the following POST parameters: username, password
        Return the REST Framework Token Object's key.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Login'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Login'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Login'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
          description: ''
  /api/auth/logout/:
    get:
      operationId: api_auth_logout_retrieve
      description: API view for logging out via API.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
    post:
      operationId: api_auth_logout_create
      description: API view for logging out via API.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/auth/password/change/:
    post:
      operationId: api_auth_password_change_create
      description: |-
        Calls Django Auth SetPasswordForm save method.

        Accepts the following POST parameters: new_password1, new_password2
        Returns the success/fail message.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordChange'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PasswordChange'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PasswordChange'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestAuthDetail'
          description: ''
  /api/auth/password/reset/:
    post:
      operationId: api_auth_password_reset_create
      description: |-
        Calls Django Auth PasswordResetForm save method.

        Accepts the following POST parameters: email
        Returns the success/fail message.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordReset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PasswordReset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PasswordReset'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestAuthDetail'
          description: ''
  /api/auth/password/reset/confirm/:
    post:
      operationId: api_auth_password_reset_confirm_create
      description: |-
        Password reset e-mail link is confirmed, therefore
        this resets the user's password.

        Accepts the following POST parameters: token, uid,
            new_password1, new_password2
        Returns the success/fail message.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordResetConfirm'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PasswordResetConfirm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PasswordResetConfirm'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestAuthDetail'
          description: ''
  /api/auth/providers/:
    get:
      operationId: api_auth_providers_retrieve
      description: Get the list of providers.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/auth/registration/:
    post:
      operationId: api_auth_registration_create
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Register'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Register'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Register'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
          description: ''
  /api/auth/registration/resend-email/:
    post:
      operationId: api_auth_registration_resend_email_create
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResendEmailVerification'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ResendEmailVerification'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ResendEmailVerification'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestAuthDetail'
          description: ''
  /api/auth/registration/verify-email/:
    post:
      operationId: api_auth_registration_verify_email_create
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyEmail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/VerifyEmail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/VerifyEmail'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestAuthDetail'
          description: ''
  /api/auth/social/:
    get:
      operationId: api_auth_social_list
      description: List SocialAccounts for the currently logged in user
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSocialAccountList'
          description: ''
  /api/auth/social/{id}/disconnect/:
    post:
      operationId: api_auth_social_disconnect_create
      description: |-
        Disconnect SocialAccount from remote service for
        the currently logged in user
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SocialConnect'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SocialConnect'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SocialConnect'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SocialConnect'
          description: ''
  /api/auth/user/:
    get:
      operationId: api_auth_user_retrieve
      description: |-
        Reads and updates UserModel fields
        Accepts GET, PUT, PATCH methods.

        Default accepted fields: username, first_name, last_name
        Default display fields: pk, username, email, first_name, last_name
        Read-only fields: pk, email

        Returns UserModel fields.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
          description: ''
    put:
      operationId: api_auth_user_update
      description: |-
        Reads and updates UserModel fields
        Accepts GET, PUT, PATCH methods.

        Default accepted fields: username, first_name, last_name
        Default display fields: pk, username, email, first_name, last_name
        Read-only fields: pk, email

        Returns UserModel fields.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserDetails'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserDetails'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserDetails'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
          description: ''
    patch:
      operationId: api_auth_user_partial_update
      description: |-
        Reads and updates UserModel fields
        Accepts GET, PUT, PATCH methods.

        Default accepted fields: username, first_name, last_name
        Default display fields: pk, username, email, first_name, last_name
        Read-only fields: pk, email

        Returns UserModel fields.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserDetails'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserDetails'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserDetails'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
          description: ''
  /api/background-task/:
    get:
      operationId: api_background_task_retrieve
      description: Return information about the current status of the background task
        queue.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/background-task/failed/:
    get:
      operationId: api_background_task_failed_list
      description: Provides a read-only list of currently failed tasks.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFailedTaskList'
          description: ''
    delete:
      operationId: api_background_task_failed_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/background-task/pending/:
    get:
      operationId: api_background_task_pending_list
      description: Provides a read-only list of currently pending tasks.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPendingTaskList'
          description: ''
    delete:
      operationId: api_background_task_pending_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/background-task/scheduled/:
    get:
      operationId: api_background_task_scheduled_list
      description: Provides a read-only list of currently scheduled tasks.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedScheduledTaskList'
          description: ''
  /api/barcode/:
    post:
      operationId: api_barcode_create
      description: |-
        Endpoint for handling generic barcode scan requests.

        Barcode data are decoded by the client application,
        and sent to this endpoint (as a JSON object) for validation.

        A barcode could follow the internal InvenTree barcode format,
        or it could match to a third-party barcode format (e.g. Digikey).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Barcode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Barcode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Barcode'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Barcode'
          description: ''
  /api/barcode/link/:
    post:
      operationId: api_barcode_link_create
      description: |-
        Endpoint for assigning a barcode to a stock item.

        - This only works if the barcode is not already associated with an object in the database
        - If the barcode does not match an object, then the barcode hash is assigned to the StockItem
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodeAssign'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BarcodeAssign'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BarcodeAssign'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarcodeAssign'
          description: ''
  /api/barcode/po-allocate/:
    post:
      operationId: api_barcode_po_allocate_create
      description: |-
        Endpoint for allocating parts to a purchase order by scanning their barcode.

        Note that the scanned barcode may point to:

        - A Part object
        - A ManufacturerPart object
        - A SupplierPart object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodePOAllocate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BarcodePOAllocate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BarcodePOAllocate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarcodePOAllocate'
          description: ''
  /api/barcode/po-receive/:
    post:
      operationId: api_barcode_po_receive_create
      description: |-
        Endpoint for handling receiving parts by scanning their barcode.

        Barcode data are decoded by the client application,
        and sent to this endpoint (as a JSON object) for validation.

        The barcode should follow a third-party barcode format (e.g. Digikey)
        and ideally contain order_number and quantity information.

        The following parameters are available:

        - barcode: The raw barcode data (required)
        - purchase_order: The purchase order containing the item to receive (optional)
        - location: The destination location for the received item (optional)
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodePOReceive'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BarcodePOReceive'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BarcodePOReceive'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarcodePOReceive'
          description: ''
  /api/barcode/so-allocate/:
    post:
      operationId: api_barcode_so_allocate_create
      description: |-
        Endpoint for allocating stock to a sales order, by scanning barcode.

        The scanned barcode should map to a StockItem object.

        Additional fields can be passed to the endpoint:

        - SalesOrder (Required)
        - Line Item
        - Shipment
        - Quantity
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodeSOAllocate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BarcodeSOAllocate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BarcodeSOAllocate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarcodeSOAllocate'
          description: ''
  /api/barcode/unlink/:
    post:
      operationId: api_barcode_unlink_create
      description: Endpoint for unlinking / unassigning a custom barcode from a database
        object.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodeUnassign'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BarcodeUnassign'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BarcodeUnassign'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BarcodeUnassign'
          description: ''
  /api/bom/:
    get:
      operationId: api_bom_list
      description: |-
        API endpoint for accessing a list of BomItem objects.

        - GET: Return list of BomItem objects
        - POST: Create a new BomItem object
      parameters:
      - in: query
        name: allow_variants
        schema:
          type: boolean
      - in: query
        name: available_stock
        schema:
          type: boolean
        description: Has available stock
      - in: query
        name: consumable
        schema:
          type: boolean
      - in: query
        name: has_pricing
        schema:
          type: boolean
        description: Has Pricing
      - in: query
        name: inherited
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: on_order
        schema:
          type: boolean
        description: On order
      - in: query
        name: optional
        schema:
          type: boolean
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part_active
        schema:
          type: boolean
        description: Master part is active
      - in: query
        name: part_trackable
        schema:
          type: boolean
        description: Master part is trackable
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: sub_part_assembly
        schema:
          type: boolean
        description: Sub part is an assembly
      - in: query
        name: sub_part_trackable
        schema:
          type: boolean
        description: Sub part is trackable
      - in: query
        name: validated
        schema:
          type: boolean
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBomItemList'
          description: ''
    post:
      operationId: api_bom_create
      description: |-
        API endpoint for accessing a list of BomItem objects.

        - GET: Return list of BomItem objects
        - POST: Create a new BomItem object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItem'
          description: ''
    delete:
      operationId: api_bom_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/bom/{id}/:
    get:
      operationId: api_bom_retrieve
      description: API endpoint for detail view of a single BomItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItem'
          description: ''
    put:
      operationId: api_bom_update
      description: API endpoint for detail view of a single BomItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItem'
          description: ''
    patch:
      operationId: api_bom_partial_update
      description: API endpoint for detail view of a single BomItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBomItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBomItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBomItem'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItem'
          description: ''
    delete:
      operationId: api_bom_destroy_2
      description: API endpoint for detail view of a single BomItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/bom/{id}/metadata/:
    get:
      operationId: api_bom_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_bom_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_bom_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/bom/{id}/validate/:
    put:
      operationId: api_bom_validate_update
      description: API endpoint for validating a BomItem.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomItemValidation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomItemValidation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomItemValidation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemValidation'
          description: ''
    patch:
      operationId: api_bom_validate_partial_update
      description: API endpoint for validating a BomItem.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBomItemValidation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBomItemValidation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBomItemValidation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemValidation'
          description: ''
  /api/bom/import/extract/:
    post:
      operationId: api_bom_import_extract_create
      description: API endpoint for extracting BOM data from a BOM file.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomImportExtract'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomImportExtract'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomImportExtract'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomImportExtract'
          description: ''
  /api/bom/import/submit/:
    post:
      operationId: api_bom_import_submit_create
      description: API endpoint for submitting BOM data from a BOM file.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomImportSubmit'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomImportSubmit'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomImportSubmit'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomImportSubmit'
          description: ''
  /api/bom/import/upload/:
    post:
      operationId: api_bom_import_upload_create
      description: |-
        API endpoint for uploading a complete Bill of Materials.

        It is assumed that the BOM has been extracted from a file using the BomExtract endpoint.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomImportUpload'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomImportUpload'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomImportUpload'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomImportUpload'
          description: ''
  /api/bom/substitute/:
    get:
      operationId: api_bom_substitute_list
      description: API endpoint for accessing a list of BomItemSubstitute objects.
      parameters:
      - in: query
        name: bom_item
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBomItemSubstituteList'
          description: ''
    post:
      operationId: api_bom_substitute_create
      description: API endpoint for accessing a list of BomItemSubstitute objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomItemSubstitute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomItemSubstitute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomItemSubstitute'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemSubstitute'
          description: ''
  /api/bom/substitute/{id}/:
    get:
      operationId: api_bom_substitute_retrieve
      description: API endpoint for detail view of a single BomItemSubstitute object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemSubstitute'
          description: ''
    put:
      operationId: api_bom_substitute_update
      description: API endpoint for detail view of a single BomItemSubstitute object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BomItemSubstitute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BomItemSubstitute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BomItemSubstitute'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemSubstitute'
          description: ''
    patch:
      operationId: api_bom_substitute_partial_update
      description: API endpoint for detail view of a single BomItemSubstitute object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBomItemSubstitute'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBomItemSubstitute'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBomItemSubstitute'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemSubstitute'
          description: ''
    delete:
      operationId: api_bom_substitute_destroy
      description: API endpoint for detail view of a single BomItemSubstitute object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/bom/substitute/{id}/metadata/:
    get:
      operationId: api_bom_substitute_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_bom_substitute_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_bom_substitute_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/build/:
    get:
      operationId: api_build_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: active
        schema:
          type: boolean
        description: Build is active
      - in: query
        name: assigned_to
        schema:
          type: number
        description: responsible
      - in: query
        name: assigned_to_me
        schema:
          type: boolean
        description: assigned_to_me
      - in: query
        name: has_project_code
        schema:
          type: boolean
        description: has_project_code
      - in: query
        name: issued_by
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: overdue
        schema:
          type: boolean
        description: Build is overdue
      - in: query
        name: parent
        schema:
          type: integer
      - in: query
        name: part
        schema:
          type: integer
      - in: query
        name: project_code
        schema:
          type: integer
      - in: query
        name: reference
        schema:
          type: string
        description: Filter by exact reference
      - in: query
        name: sales_order
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: integer
        description: Status
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildList'
          description: ''
    post:
      operationId: api_build_create
      description: |-
        API endpoint for accessing a list of Build objects.

        - GET: Return list of objects (with filters)
        - POST: Create a new Build object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Build'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Build'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Build'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
          description: ''
  /api/build/{id}/:
    get:
      operationId: api_build_retrieve
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
          description: ''
    put:
      operationId: api_build_update
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Build'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Build'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Build'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
          description: ''
    patch:
      operationId: api_build_partial_update
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuild'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuild'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuild'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
          description: ''
    delete:
      operationId: api_build_destroy
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/{id}/allocate/:
    post:
      operationId: api_build_allocate_create
      description: |-
        API endpoint to allocate stock items to a build order.

        - The BuildOrder object is specified by the URL
        - Items to allocate are specified as a list called "items" with the following options:
            - bom_item: pk value of a given BomItem object (must match the part associated with this build)
            - stock_item: pk value of a given StockItem object
            - quantity: quantity to allocate
            - output: StockItem (build order output) to allocate stock against (optional)
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildAllocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildAllocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildAllocation'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildAllocation'
          description: ''
  /api/build/{id}/auto-allocate/:
    post:
      operationId: api_build_auto_allocate_create
      description: |-
        API endpoint for 'automatically' allocating stock against a build order.

        - Only looks at 'untracked' parts
        - If stock exists in a single location, easy!
        - If user decides that stock items are "fungible", allocate against multiple stock items
        - If the user wants to, allocate substite parts if the primary parts are not available.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildAutoAllocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildAutoAllocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildAutoAllocation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildAutoAllocation'
          description: ''
  /api/build/{id}/cancel/:
    post:
      operationId: api_build_cancel_create
      description: API endpoint for cancelling a BuildOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildCancel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildCancel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildCancel'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildCancel'
          description: ''
  /api/build/{id}/complete/:
    post:
      operationId: api_build_complete_create
      description: API endpoint for completing build outputs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildOutputComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildOutputComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildOutputComplete'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildOutputComplete'
          description: ''
  /api/build/{id}/create-output/:
    post:
      operationId: api_build_create_output_create
      description: API endpoint for creating new build output(s).
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildOutputCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildOutputCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildOutputCreate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildOutputCreate'
          description: ''
  /api/build/{id}/delete-outputs/:
    post:
      operationId: api_build_delete_outputs_create
      description: API endpoint for deleting multiple build outputs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildOutputDelete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildOutputDelete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildOutputDelete'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildOutputDelete'
          description: ''
  /api/build/{id}/finish/:
    post:
      operationId: api_build_finish_create
      description: API endpoint for marking a build as finished (completed).
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildComplete'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildComplete'
          description: ''
  /api/build/{id}/metadata/:
    get:
      operationId: api_build_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_build_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_build_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/build/{id}/scrap-outputs/:
    post:
      operationId: api_build_scrap_outputs_create
      description: API endpoint for scrapping build output(s).
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildOutputScrap'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildOutputScrap'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildOutputScrap'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildOutputScrap'
          description: ''
  /api/build/{id}/unallocate/:
    post:
      operationId: api_build_unallocate_create
      description: |-
        API endpoint for unallocating stock items from a build order.

        - The BuildOrder object is specified by the URL
        - "output" (StockItem) can optionally be specified
        - "bom_item" can optionally be specified
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildUnallocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildUnallocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildUnallocation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildUnallocation'
          description: ''
  /api/build/attachment/:
    get:
      operationId: api_build_attachment_list
      description: API endpoint for listing (and creating) BuildOrderAttachment objects.
      parameters:
      - in: query
        name: build
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildAttachmentList'
          description: ''
    post:
      operationId: api_build_attachment_create
      description: API endpoint for listing (and creating) BuildOrderAttachment objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildAttachment'
          description: ''
    delete:
      operationId: api_build_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/attachment/{id}/:
    get:
      operationId: api_build_attachment_retrieve
      description: Detail endpoint for a BuildOrderAttachment object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildAttachment'
          description: ''
    put:
      operationId: api_build_attachment_update
      description: Detail endpoint for a BuildOrderAttachment object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildAttachment'
          description: ''
    patch:
      operationId: api_build_attachment_partial_update
      description: Detail endpoint for a BuildOrderAttachment object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuildAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuildAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuildAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildAttachment'
          description: ''
    delete:
      operationId: api_build_attachment_destroy_2
      description: Detail endpoint for a BuildOrderAttachment object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/item/:
    get:
      operationId: api_build_item_list
      description: |-
        API endpoint for accessing a list of BuildItem objects.

        - GET: Return list of objects
        - POST: Create a new BuildItem object
      parameters:
      - in: query
        name: build
        schema:
          type: integer
      - in: query
        name: build_line
        schema:
          type: integer
      - in: query
        name: install_into
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: part
        schema:
          type: integer
      - in: query
        name: stock_item
        schema:
          type: integer
      - in: query
        name: tracked
        schema:
          type: boolean
        description: Tracked
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildItemList'
          description: ''
    post:
      operationId: api_build_item_create
      description: |-
        API endpoint for accessing a list of BuildItem objects.

        - GET: Return list of objects
        - POST: Create a new BuildItem object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildItem'
          description: ''
  /api/build/item/{id}/:
    get:
      operationId: api_build_item_retrieve
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildItem'
          description: ''
    put:
      operationId: api_build_item_update
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildItem'
          description: ''
    patch:
      operationId: api_build_item_partial_update
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuildItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuildItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuildItem'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildItem'
          description: ''
    delete:
      operationId: api_build_item_destroy
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/item/{id}/metadata/:
    get:
      operationId: api_build_item_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_build_item_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_build_item_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/build/line/:
    get:
      operationId: api_build_line_list
      description: API endpoint for accessing a list of BuildLine objects
      parameters:
      - in: query
        name: allocated
        schema:
          type: boolean
        description: Allocated
      - in: query
        name: available
        schema:
          type: boolean
        description: Available
      - in: query
        name: bom_item
        schema:
          type: integer
      - in: query
        name: build
        schema:
          type: integer
      - in: query
        name: consumable
        schema:
          type: boolean
        description: Consumable
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: optional
        schema:
          type: boolean
        description: Optional
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: tracked
        schema:
          type: boolean
        description: Tracked
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildLineList'
          description: ''
    post:
      operationId: api_build_line_create
      description: API endpoint for accessing a list of BuildLine objects
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLine'
          description: ''
  /api/build/line/{id}/:
    get:
      operationId: api_build_line_retrieve
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLine'
          description: ''
    put:
      operationId: api_build_line_update
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLine'
          description: ''
    patch:
      operationId: api_build_line_partial_update
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuildLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuildLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuildLine'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLine'
          description: ''
    delete:
      operationId: api_build_line_destroy
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/status/:
    get:
      operationId: api_build_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/company/:
    get:
      operationId: api_company_list
      description: |-
        API endpoint for accessing a list of Company objects.

        Provides two methods:

        - GET: Return list of objects
        - POST: Create a new Company object
      parameters:
      - in: query
        name: is_customer
        schema:
          type: boolean
      - in: query
        name: is_manufacturer
        schema:
          type: boolean
      - in: query
        name: is_supplier
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCompanyList'
          description: ''
    post:
      operationId: api_company_create
      description: |-
        API endpoint for accessing a list of Company objects.

        Provides two methods:

        - GET: Return list of objects
        - POST: Create a new Company object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Company'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Company'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Company'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
          description: ''
  /api/company/{id}/:
    get:
      operationId: api_company_retrieve
      description: API endpoint for detail of a single Company object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
          description: ''
    put:
      operationId: api_company_update
      description: API endpoint for detail of a single Company object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Company'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Company'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Company'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
          description: ''
    patch:
      operationId: api_company_partial_update
      description: API endpoint for detail of a single Company object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCompany'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCompany'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCompany'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
          description: ''
    delete:
      operationId: api_company_destroy
      description: API endpoint for detail of a single Company object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/{id}/metadata/:
    get:
      operationId: api_company_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_company_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_company_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/company/address/:
    get:
      operationId: api_company_address_list
      description: API endpoint for list view of Address model.
      parameters:
      - in: query
        name: company
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAddressList'
          description: ''
    post:
      operationId: api_company_address_create
      description: API endpoint for list view of Address model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Address'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Address'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Address'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
          description: ''
    delete:
      operationId: api_company_address_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/address/{id}/:
    get:
      operationId: api_company_address_retrieve
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
          description: ''
    put:
      operationId: api_company_address_update
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Address'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Address'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Address'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
          description: ''
    patch:
      operationId: api_company_address_partial_update
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAddress'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedAddress'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedAddress'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
          description: ''
    delete:
      operationId: api_company_address_destroy_2
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/attachment/:
    get:
      operationId: api_company_attachment_list
      description: API endpoint for the CompanyAttachment model.
      parameters:
      - in: query
        name: company
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCompanyAttachmentList'
          description: ''
    post:
      operationId: api_company_attachment_create
      description: API endpoint for the CompanyAttachment model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CompanyAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CompanyAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyAttachment'
          description: ''
    delete:
      operationId: api_company_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/attachment/{id}/:
    get:
      operationId: api_company_attachment_retrieve
      description: Detail endpoint for CompanyAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyAttachment'
          description: ''
    put:
      operationId: api_company_attachment_update
      description: Detail endpoint for CompanyAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CompanyAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CompanyAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyAttachment'
          description: ''
    patch:
      operationId: api_company_attachment_partial_update
      description: Detail endpoint for CompanyAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCompanyAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCompanyAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCompanyAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyAttachment'
          description: ''
    delete:
      operationId: api_company_attachment_destroy_2
      description: Detail endpoint for CompanyAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/contact/:
    get:
      operationId: api_company_contact_list
      description: API endpoint for list view of Company model.
      parameters:
      - in: query
        name: company
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedContactList'
          description: ''
    post:
      operationId: api_company_contact_create
      description: API endpoint for list view of Company model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Contact'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Contact'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Contact'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
          description: ''
    delete:
      operationId: api_company_contact_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/contact/{id}/:
    get:
      operationId: api_company_contact_retrieve
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
          description: ''
    put:
      operationId: api_company_contact_update
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Contact'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Contact'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Contact'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
          description: ''
    patch:
      operationId: api_company_contact_partial_update
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedContact'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedContact'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedContact'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
          description: ''
    delete:
      operationId: api_company_contact_destroy_2
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/contact/{id}/metadata/:
    get:
      operationId: api_company_contact_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_company_contact_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_company_contact_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/company/part/:
    get:
      operationId: api_company_part_list
      description: |-
        API endpoint for list view of SupplierPart object.

        - GET: Return list of SupplierPart objects
        - POST: Create a new SupplierPart object
      parameters:
      - in: query
        name: MPN
        schema:
          type: string
        description: Manufacturer Part Number
      - in: query
        name: SKU
        schema:
          type: string
      - in: query
        name: active
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: manufacturer_part
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: supplier
        schema:
          type: integer
      - in: query
        name: tags__name
        schema:
          type: string
      - in: query
        name: tags__slug
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierPartList'
          description: ''
    post:
      operationId: api_company_part_create
      description: |-
        API endpoint for list view of SupplierPart object.

        - GET: Return list of SupplierPart objects
        - POST: Create a new SupplierPart object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierPart'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPart'
          description: ''
    delete:
      operationId: api_company_part_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/{id}/:
    get:
      operationId: api_company_part_retrieve
      description: |-
        API endpoint for detail view of SupplierPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPart'
          description: ''
    put:
      operationId: api_company_part_update
      description: |-
        API endpoint for detail view of SupplierPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierPart'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPart'
          description: ''
    patch:
      operationId: api_company_part_partial_update
      description: |-
        API endpoint for detail view of SupplierPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSupplierPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSupplierPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSupplierPart'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPart'
          description: ''
    delete:
      operationId: api_company_part_destroy_2
      description: |-
        API endpoint for detail view of SupplierPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/{id}/metadata/:
    get:
      operationId: api_company_part_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_company_part_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_company_part_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/company/part/manufacturer/:
    get:
      operationId: api_company_part_manufacturer_list
      description: |-
        API endpoint for list view of ManufacturerPart object.

        - GET: Return list of ManufacturerPart objects
        - POST: Create a new ManufacturerPart object
      parameters:
      - in: query
        name: MPN
        schema:
          type: string
      - in: query
        name: active
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: manufacturer
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: tags__name
        schema:
          type: string
      - in: query
        name: tags__slug
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedManufacturerPartList'
          description: ''
    post:
      operationId: api_company_part_manufacturer_create
      description: |-
        API endpoint for list view of ManufacturerPart object.

        - GET: Return list of ManufacturerPart objects
        - POST: Create a new ManufacturerPart object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManufacturerPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ManufacturerPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ManufacturerPart'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPart'
          description: ''
    delete:
      operationId: api_company_part_manufacturer_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/{id}/:
    get:
      operationId: api_company_part_manufacturer_retrieve
      description: |-
        API endpoint for detail view of ManufacturerPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPart'
          description: ''
    put:
      operationId: api_company_part_manufacturer_update
      description: |-
        API endpoint for detail view of ManufacturerPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManufacturerPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ManufacturerPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ManufacturerPart'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPart'
          description: ''
    patch:
      operationId: api_company_part_manufacturer_partial_update
      description: |-
        API endpoint for detail view of ManufacturerPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPart'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPart'
          description: ''
    delete:
      operationId: api_company_part_manufacturer_destroy_2
      description: |-
        API endpoint for detail view of ManufacturerPart object.

        - GET: Retrieve detail view
        - PATCH: Update object
        - DELETE: Delete object
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/{id}/metadata/:
    get:
      operationId: api_company_part_manufacturer_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_company_part_manufacturer_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_company_part_manufacturer_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/company/part/manufacturer/attachment/:
    get:
      operationId: api_company_part_manufacturer_attachment_list
      description: API endpoint for listing (and creating) a ManufacturerPartAttachment
        (file upload).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: manufacturer_part
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedManufacturerPartAttachmentList'
          description: ''
    post:
      operationId: api_company_part_manufacturer_attachment_create
      description: API endpoint for listing (and creating) a ManufacturerPartAttachment
        (file upload).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManufacturerPartAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ManufacturerPartAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ManufacturerPartAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartAttachment'
          description: ''
    delete:
      operationId: api_company_part_manufacturer_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/attachment/{id}/:
    get:
      operationId: api_company_part_manufacturer_attachment_retrieve
      description: Detail endpooint for ManufacturerPartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartAttachment'
          description: ''
    put:
      operationId: api_company_part_manufacturer_attachment_update
      description: Detail endpooint for ManufacturerPartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManufacturerPartAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ManufacturerPartAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ManufacturerPartAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartAttachment'
          description: ''
    patch:
      operationId: api_company_part_manufacturer_attachment_partial_update
      description: Detail endpooint for ManufacturerPartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPartAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPartAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPartAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartAttachment'
          description: ''
    delete:
      operationId: api_company_part_manufacturer_attachment_destroy_2
      description: Detail endpooint for ManufacturerPartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/parameter/:
    get:
      operationId: api_company_part_manufacturer_parameter_list
      description: API endpoint for list view of ManufacturerPartParamater model.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: manufacturer
        schema:
          type: integer
      - in: query
        name: manufacturer_part
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: units
        schema:
          type: string
      - in: query
        name: value
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedManufacturerPartParameterList'
          description: ''
    post:
      operationId: api_company_part_manufacturer_parameter_create
      description: API endpoint for list view of ManufacturerPartParamater model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManufacturerPartParameter'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ManufacturerPartParameter'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ManufacturerPartParameter'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartParameter'
          description: ''
    delete:
      operationId: api_company_part_manufacturer_parameter_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/parameter/{id}/:
    get:
      operationId: api_company_part_manufacturer_parameter_retrieve
      description: API endpoint for detail view of ManufacturerPartParameter model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartParameter'
          description: ''
    put:
      operationId: api_company_part_manufacturer_parameter_update
      description: API endpoint for detail view of ManufacturerPartParameter model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManufacturerPartParameter'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ManufacturerPartParameter'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ManufacturerPartParameter'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartParameter'
          description: ''
    patch:
      operationId: api_company_part_manufacturer_parameter_partial_update
      description: API endpoint for detail view of ManufacturerPartParameter model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPartParameter'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPartParameter'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedManufacturerPartParameter'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartParameter'
          description: ''
    delete:
      operationId: api_company_part_manufacturer_parameter_destroy_2
      description: API endpoint for detail view of ManufacturerPartParameter model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/price-break/:
    get:
      operationId: api_company_price_break_list
      description: |-
        API endpoint for list view of SupplierPriceBreak object.

        - GET: Retrieve list of SupplierPriceBreak objects
        - POST: Create a new SupplierPriceBreak object
      parameters:
      - in: query
        name: base_part
        schema:
          type: integer
        description: Base Part
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - in: query
        name: quantity
        schema:
          type: number
      - in: query
        name: supplier
        schema:
          type: integer
        description: Supplier
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierPriceBreakList'
          description: ''
    post:
      operationId: api_company_price_break_create
      description: |-
        API endpoint for list view of SupplierPriceBreak object.

        - GET: Retrieve list of SupplierPriceBreak objects
        - POST: Create a new SupplierPriceBreak object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierPriceBreak'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierPriceBreak'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierPriceBreak'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPriceBreak'
          description: ''
  /api/company/price-break/{id}/:
    get:
      operationId: api_company_price_break_retrieve
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPriceBreak'
          description: ''
    put:
      operationId: api_company_price_break_update
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierPriceBreak'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierPriceBreak'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierPriceBreak'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPriceBreak'
          description: ''
    patch:
      operationId: api_company_price_break_partial_update
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSupplierPriceBreak'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSupplierPriceBreak'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSupplierPriceBreak'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPriceBreak'
          description: ''
    delete:
      operationId: api_company_price_break_destroy
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/currency/exchange/:
    get:
      operationId: api_currency_exchange_retrieve
      description: Return information on available currency conversions.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/currency/refresh/:
    post:
      operationId: api_currency_refresh_create
      description: Performing a POST request will update currency exchange rates.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/email/generate/:
    post:
      operationId: api_email_generate_create
      description: Get the token for the current user or fail.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetSimpleLogin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetSimpleLogin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GetSimpleLogin'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSimpleLogin'
          description: ''
  /api/error-report/:
    get:
      operationId: api_error_report_list
      description: List view for server error messages.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedErrorMessageList'
          description: ''
    delete:
      operationId: api_error_report_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/error-report/{id}/:
    get:
      operationId: api_error_report_retrieve
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: ''
    put:
      operationId: api_error_report_update
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ErrorMessage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ErrorMessage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ErrorMessage'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: ''
    patch:
      operationId: api_error_report_partial_update
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedErrorMessage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedErrorMessage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedErrorMessage'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: ''
    delete:
      operationId: api_error_report_destroy_2
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/flags/:
    get:
      operationId: api_flags_list
      description: List view for feature flags.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/flags/{key}/:
    get:
      operationId: api_flags_retrieve
      description: Detail view for an individual feature flag.
      parameters:
      - in: path
        name: key
        schema:
          type: string
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/generic/status/:
    get:
      operationId: api_generic_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/generic/status/{statusmodel}/:
    get:
      operationId: api_generic_status_retrieve_2
      description: Perform a GET request to learn information about status codes.
      parameters:
      - in: path
        name: statusmodel
        schema:
          type: string
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/buildline/:
    get:
      operationId: api_label_buildline_list
      description: API endpoint for viewing a list of BuildLineLabel objects.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildLineLabelList'
          description: ''
    post:
      operationId: api_label_buildline_create
      description: API endpoint for viewing a list of BuildLineLabel objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildLineLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildLineLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildLineLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLineLabel'
          description: ''
  /api/label/buildline/{id}/:
    get:
      operationId: api_label_buildline_retrieve
      description: API endpoint for a single BuildLineLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLineLabel'
          description: ''
    put:
      operationId: api_label_buildline_update
      description: API endpoint for a single BuildLineLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildLineLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildLineLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildLineLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLineLabel'
          description: ''
    patch:
      operationId: api_label_buildline_partial_update
      description: API endpoint for a single BuildLineLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuildLineLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuildLineLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuildLineLabel'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLineLabel'
          description: ''
    delete:
      operationId: api_label_buildline_destroy
      description: API endpoint for a single BuildLineLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/label/buildline/{id}/metadata/:
    get:
      operationId: api_label_buildline_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_label_buildline_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_label_buildline_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/buildline/{id}/print/:
    get:
      operationId: api_label_buildline_print_retrieve
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    post:
      operationId: api_label_buildline_print_create
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/location/:
    get:
      operationId: api_label_location_list
      description: |-
        API endpoint for viewiing list of StockLocationLabel objects.

        Filterable by:

        - enabled: Filter by enabled / disabled status
        - location: Filter by a single stock location
        - locations: Filter by list of stock locations
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockLocationLabelList'
          description: ''
    post:
      operationId: api_label_location_create
      description: |-
        API endpoint for viewiing list of StockLocationLabel objects.

        Filterable by:

        - enabled: Filter by enabled / disabled status
        - location: Filter by a single stock location
        - locations: Filter by list of stock locations
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockLocationLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockLocationLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockLocationLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationLabel'
          description: ''
  /api/label/location/{id}/:
    get:
      operationId: api_label_location_retrieve
      description: API endpoint for a single StockLocationLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationLabel'
          description: ''
    put:
      operationId: api_label_location_update
      description: API endpoint for a single StockLocationLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockLocationLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockLocationLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockLocationLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationLabel'
          description: ''
    patch:
      operationId: api_label_location_partial_update
      description: API endpoint for a single StockLocationLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationLabel'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationLabel'
          description: ''
    delete:
      operationId: api_label_location_destroy
      description: API endpoint for a single StockLocationLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/label/location/{id}/metadata/:
    get:
      operationId: api_label_location_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_label_location_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_label_location_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/location/{id}/print/:
    get:
      operationId: api_label_location_print_retrieve
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    post:
      operationId: api_label_location_print_create
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/part/:
    get:
      operationId: api_label_part_list
      description: API endpoint for viewing list of PartLabel objects.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartLabelList'
          description: ''
    post:
      operationId: api_label_part_create
      description: API endpoint for viewing list of PartLabel objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartLabel'
          description: ''
  /api/label/part/{id}/:
    get:
      operationId: api_label_part_retrieve
      description: API endpoint for a single PartLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartLabel'
          description: ''
    put:
      operationId: api_label_part_update
      description: API endpoint for a single PartLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartLabel'
          description: ''
    patch:
      operationId: api_label_part_partial_update
      description: API endpoint for a single PartLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartLabel'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartLabel'
          description: ''
    delete:
      operationId: api_label_part_destroy
      description: API endpoint for a single PartLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/label/part/{id}/metadata/:
    get:
      operationId: api_label_part_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_label_part_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_label_part_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/part/{id}/print/:
    get:
      operationId: api_label_part_print_retrieve
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    post:
      operationId: api_label_part_print_create
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/stock/:
    get:
      operationId: api_label_stock_list
      description: |-
        API endpoint for viewing list of StockItemLabel objects.

        Filterable by:

        - enabled: Filter by enabled / disabled status
        - item: Filter by single stock item
        - items: Filter by list of stock items
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockItemLabelList'
          description: ''
    post:
      operationId: api_label_stock_create
      description: |-
        API endpoint for viewing list of StockItemLabel objects.

        Filterable by:

        - enabled: Filter by enabled / disabled status
        - item: Filter by single stock item
        - items: Filter by list of stock items
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItemLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItemLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItemLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemLabel'
          description: ''
  /api/label/stock/{id}/:
    get:
      operationId: api_label_stock_retrieve
      description: API endpoint for a single StockItemLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemLabel'
          description: ''
    put:
      operationId: api_label_stock_update
      description: API endpoint for a single StockItemLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItemLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItemLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItemLabel'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemLabel'
          description: ''
    patch:
      operationId: api_label_stock_partial_update
      description: API endpoint for a single StockItemLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockItemLabel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockItemLabel'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockItemLabel'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemLabel'
          description: ''
    delete:
      operationId: api_label_stock_destroy
      description: API endpoint for a single StockItemLabel object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/label/stock/{id}/metadata/:
    get:
      operationId: api_label_stock_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_label_stock_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_label_stock_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/label/stock/{id}/print/:
    get:
      operationId: api_label_stock_print_retrieve
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    post:
      operationId: api_label_stock_print_create
      description: Perform a GET request against this endpoint to print labels.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/locate/:
    post:
      operationId: api_locate_create
      description: Check inputs and offload the task to the plugin.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/news/:
    get:
      operationId: api_news_list
      description: List view for all news items.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: read
        schema:
          type: boolean
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNewsFeedEntryList'
          description: ''
    delete:
      operationId: api_news_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/news/{id}/:
    get:
      operationId: api_news_retrieve
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsFeedEntry'
          description: ''
    put:
      operationId: api_news_update
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewsFeedEntry'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NewsFeedEntry'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NewsFeedEntry'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsFeedEntry'
          description: ''
    patch:
      operationId: api_news_partial_update
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNewsFeedEntry'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedNewsFeedEntry'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedNewsFeedEntry'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsFeedEntry'
          description: ''
    delete:
      operationId: api_news_destroy_2
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/notes-image-upload/:
    get:
      operationId: api_notes_image_upload_list
      description: List view for all notes images.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNotesImageList'
          description: ''
    post:
      operationId: api_notes_image_upload_create
      description: List view for all notes images.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotesImage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NotesImage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NotesImage'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotesImage'
          description: ''
  /api/notifications/:
    get:
      operationId: api_notifications_list
      description: List view for all notifications of the current user.
      parameters:
      - in: query
        name: category
        schema:
          type: string
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: read
        schema:
          type: boolean
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNotificationMessageList'
          description: ''
    delete:
      operationId: api_notifications_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/notifications/{id}/:
    get:
      operationId: api_notifications_retrieve
      description: |-
        Detail view for an individual notification object.

        - User can only view / delete their own notification objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationMessage'
          description: ''
    put:
      operationId: api_notifications_update
      description: |-
        Detail view for an individual notification object.

        - User can only view / delete their own notification objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationMessage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NotificationMessage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NotificationMessage'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationMessage'
          description: ''
    patch:
      operationId: api_notifications_partial_update
      description: |-
        Detail view for an individual notification object.

        - User can only view / delete their own notification objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNotificationMessage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedNotificationMessage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedNotificationMessage'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationMessage'
          description: ''
    delete:
      operationId: api_notifications_destroy_2
      description: |-
        Detail view for an individual notification object.

        - User can only view / delete their own notification objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/notifications/readall/:
    get:
      operationId: api_notifications_readall_retrieve
      description: Set all messages for the current user as read.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationMessage'
          description: ''
  /api/order/po/:
    get:
      operationId: api_order_po_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: assigned_to_me
        schema:
          type: boolean
        description: assigned_to_me
      - in: query
        name: has_project_code
        schema:
          type: boolean
        description: has_project_code
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: outstanding
        schema:
          type: boolean
        description: outstanding
      - in: query
        name: overdue
        schema:
          type: boolean
        description: overdue
      - in: query
        name: project_code
        schema:
          type: integer
      - in: query
        name: reference
        schema:
          type: string
        description: Filter by exact reference
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: integer
        description: Order Status
      - in: query
        name: supplier
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderList'
          description: ''
    post:
      operationId: api_order_po_create
      description: |-
        API endpoint for accessing a list of PurchaseOrder objects.

        - GET: Return list of PurchaseOrder objects (with filters)
        - POST: Create a new PurchaseOrder object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrder'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
          description: ''
  /api/order/po-extra-line/:
    get:
      operationId: api_order_po_extra_line_list
      description: Generic handler for a download request.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderExtraLineList'
          description: ''
    post:
      operationId: api_order_po_extra_line_create
      description: API endpoint for accessing a list of PurchaseOrderExtraLine objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderExtraLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderExtraLine'
          description: ''
  /api/order/po-extra-line/{id}/:
    get:
      operationId: api_order_po_extra_line_retrieve
      description: API endpoint for detail view of a PurchaseOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderExtraLine'
          description: ''
    put:
      operationId: api_order_po_extra_line_update
      description: API endpoint for detail view of a PurchaseOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderExtraLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderExtraLine'
          description: ''
    patch:
      operationId: api_order_po_extra_line_partial_update
      description: API endpoint for detail view of a PurchaseOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderExtraLine'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderExtraLine'
          description: ''
    delete:
      operationId: api_order_po_extra_line_destroy
      description: API endpoint for detail view of a PurchaseOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po-extra-line/{id}/metadata/:
    get:
      operationId: api_order_po_extra_line_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_po_extra_line_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_po_extra_line_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/po-line/:
    get:
      operationId: api_order_po_line_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: has_pricing
        schema:
          type: boolean
        description: Has Pricing
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - in: query
        name: order_status
        schema:
          type: integer
        description: order_status
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - in: query
        name: pending
        schema:
          type: boolean
        description: pending
      - in: query
        name: received
        schema:
          type: boolean
        description: received
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderLineItemList'
          description: ''
    post:
      operationId: api_order_po_line_create
      description: |-
        API endpoint for accessing a list of PurchaseOrderLineItem objects.

        - GET: Return a list of PurchaseOrder Line Item objects
        - POST: Create a new PurchaseOrderLineItem object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderLineItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderLineItem'
          description: ''
    delete:
      operationId: api_order_po_line_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po-line/{id}/:
    get:
      operationId: api_order_po_line_retrieve
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderLineItem'
          description: ''
    put:
      operationId: api_order_po_line_update
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderLineItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderLineItem'
          description: ''
    patch:
      operationId: api_order_po_line_partial_update
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderLineItem'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderLineItem'
          description: ''
    delete:
      operationId: api_order_po_line_destroy_2
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po-line/{id}/metadata/:
    get:
      operationId: api_order_po_line_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_po_line_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_po_line_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/po/{id}/:
    get:
      operationId: api_order_po_retrieve
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
          description: ''
    put:
      operationId: api_order_po_update
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrder'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
          description: ''
    patch:
      operationId: api_order_po_partial_update
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrder'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
          description: ''
    delete:
      operationId: api_order_po_destroy
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po/{id}/cancel/:
    post:
      operationId: api_order_po_cancel_create
      description: |-
        API endpoint to 'cancel' a purchase order.

        The purchase order must be in a state which can be cancelled
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/po/{id}/complete/:
    post:
      operationId: api_order_po_complete_create
      description: API endpoint to 'complete' a purchase order.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderComplete'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderComplete'
          description: ''
  /api/order/po/{id}/issue/:
    post:
      operationId: api_order_po_issue_create
      description: API endpoint to 'issue' (place) a PurchaseOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/po/{id}/metadata/:
    get:
      operationId: api_order_po_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_po_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_po_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/po/{id}/receive/:
    post:
      operationId: api_order_po_receive_create
      description: |-
        API endpoint to receive stock items against a PurchaseOrder.

        - The purchase order is specified in the URL.
        - Items to receive are specified as a list called "items" with the following options:
            - line_item: pk of the PO Line item
            - supplier_part: pk value of the supplier part
            - quantity: quantity to receive
            - status: stock item status
            - location: destination for stock item (optional)
            - batch_code: the batch code for this stock item
            - serial_numbers: serial numbers for this stock item
        - A global location must also be specified. This is used when no locations are specified for items, and no location is given in the PO line item
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReceive'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReceive'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReceive'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderReceive'
          description: ''
  /api/order/po/attachment/:
    get:
      operationId: api_order_po_attachment_list
      description: API endpoint for listing (and creating) a PurchaseOrderAttachment
        (file upload).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderAttachmentList'
          description: ''
    post:
      operationId: api_order_po_attachment_create
      description: API endpoint for listing (and creating) a PurchaseOrderAttachment
        (file upload).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderAttachment'
          description: ''
    delete:
      operationId: api_order_po_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po/attachment/{id}/:
    get:
      operationId: api_order_po_attachment_retrieve
      description: Detail endpoint for a PurchaseOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderAttachment'
          description: ''
    put:
      operationId: api_order_po_attachment_update
      description: Detail endpoint for a PurchaseOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderAttachment'
          description: ''
    patch:
      operationId: api_order_po_attachment_partial_update
      description: Detail endpoint for a PurchaseOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderAttachment'
          description: ''
    delete:
      operationId: api_order_po_attachment_destroy_2
      description: Detail endpoint for a PurchaseOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po/status/:
    get:
      operationId: api_order_po_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/ro/:
    get:
      operationId: api_order_ro_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: assigned_to_me
        schema:
          type: boolean
        description: assigned_to_me
      - in: query
        name: customer
        schema:
          type: integer
      - in: query
        name: has_project_code
        schema:
          type: boolean
        description: has_project_code
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: outstanding
        schema:
          type: boolean
        description: outstanding
      - in: query
        name: overdue
        schema:
          type: boolean
        description: overdue
      - in: query
        name: project_code
        schema:
          type: integer
      - in: query
        name: reference
        schema:
          type: string
        description: Filter by exact reference
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: integer
        description: Order Status
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderList'
          description: ''
    post:
      operationId: api_order_ro_create
      description: API endpoint for accessing a list of ReturnOrder objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrder'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrder'
          description: ''
  /api/order/ro-extra-line/:
    get:
      operationId: api_order_ro_extra_line_list
      description: Generic handler for a download request.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderExtraLineList'
          description: ''
    post:
      operationId: api_order_ro_extra_line_create
      description: API endpoint for accessing a list of ReturnOrderExtraLine objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderExtraLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderExtraLine'
          description: ''
  /api/order/ro-extra-line/{id}/:
    get:
      operationId: api_order_ro_extra_line_retrieve
      description: API endpoint for detail view of a ReturnOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderExtraLine'
          description: ''
    put:
      operationId: api_order_ro_extra_line_update
      description: API endpoint for detail view of a ReturnOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderExtraLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderExtraLine'
          description: ''
    patch:
      operationId: api_order_ro_extra_line_partial_update
      description: API endpoint for detail view of a ReturnOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderExtraLine'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderExtraLine'
          description: ''
    delete:
      operationId: api_order_ro_extra_line_destroy
      description: API endpoint for detail view of a ReturnOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro-extra-line/{id}/metadata/:
    get:
      operationId: api_order_ro_extra_line_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_ro_extra_line_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_ro_extra_line_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/ro-line/:
    get:
      operationId: api_order_ro_line_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: has_pricing
        schema:
          type: boolean
        description: Has Pricing
      - in: query
        name: item
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - in: query
        name: order_status
        schema:
          type: integer
        description: order_status
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: outcome
        schema:
          type: integer
        description: outcome
      - in: query
        name: received
        schema:
          type: boolean
        description: received
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderLineItemList'
          description: ''
    post:
      operationId: api_order_ro_line_create
      description: API endpoint for accessing a list of ReturnOrderLineItemList objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderLineItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderLineItem'
          description: ''
  /api/order/ro-line/{id}/:
    get:
      operationId: api_order_ro_line_retrieve
      description: API endpoint for detail view of a ReturnOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderLineItem'
          description: ''
    put:
      operationId: api_order_ro_line_update
      description: API endpoint for detail view of a ReturnOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderLineItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderLineItem'
          description: ''
    patch:
      operationId: api_order_ro_line_partial_update
      description: API endpoint for detail view of a ReturnOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderLineItem'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderLineItem'
          description: ''
    delete:
      operationId: api_order_ro_line_destroy
      description: API endpoint for detail view of a ReturnOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro-line/{id}/metadata/:
    get:
      operationId: api_order_ro_line_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_ro_line_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_ro_line_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/ro-line/status/:
    get:
      operationId: api_order_ro_line_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/ro/{id}/:
    get:
      operationId: api_order_ro_retrieve
      description: API endpoint for detail view of a single ReturnOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrder'
          description: ''
    put:
      operationId: api_order_ro_update
      description: API endpoint for detail view of a single ReturnOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrder'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrder'
          description: ''
    patch:
      operationId: api_order_ro_partial_update
      description: API endpoint for detail view of a single ReturnOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrder'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrder'
          description: ''
    delete:
      operationId: api_order_ro_destroy
      description: API endpoint for detail view of a single ReturnOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro/{id}/cancel/:
    post:
      operationId: api_order_ro_cancel_create
      description: API endpoint to cancel a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/complete/:
    post:
      operationId: api_order_ro_complete_create
      description: API endpoint to complete a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/issue/:
    post:
      operationId: api_order_ro_issue_create
      description: API endpoint to issue (place) a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/metadata/:
    get:
      operationId: api_order_ro_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_ro_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_ro_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/ro/{id}/receive/:
    post:
      operationId: api_order_ro_receive_create
      description: API endpoint to receive items against a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderReceive'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderReceive'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderReceive'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderReceive'
          description: ''
  /api/order/ro/attachment/:
    get:
      operationId: api_order_ro_attachment_list
      description: API endpoint for listing (and creating) a ReturnOrderAttachment
        (file upload).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderAttachmentList'
          description: ''
    post:
      operationId: api_order_ro_attachment_create
      description: API endpoint for listing (and creating) a ReturnOrderAttachment
        (file upload).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderAttachment'
          description: ''
    delete:
      operationId: api_order_ro_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro/attachment/{id}/:
    get:
      operationId: api_order_ro_attachment_retrieve
      description: Detail endpoint for the ReturnOrderAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderAttachment'
          description: ''
    put:
      operationId: api_order_ro_attachment_update
      description: Detail endpoint for the ReturnOrderAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderAttachment'
          description: ''
    patch:
      operationId: api_order_ro_attachment_partial_update
      description: Detail endpoint for the ReturnOrderAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderAttachment'
          description: ''
    delete:
      operationId: api_order_ro_attachment_destroy_2
      description: Detail endpoint for the ReturnOrderAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro/status/:
    get:
      operationId: api_order_ro_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/so/:
    get:
      operationId: api_order_so_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: assigned_to_me
        schema:
          type: boolean
        description: assigned_to_me
      - in: query
        name: customer
        schema:
          type: integer
      - in: query
        name: has_project_code
        schema:
          type: boolean
        description: has_project_code
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: outstanding
        schema:
          type: boolean
        description: outstanding
      - in: query
        name: overdue
        schema:
          type: boolean
        description: overdue
      - in: query
        name: project_code
        schema:
          type: integer
      - in: query
        name: reference
        schema:
          type: string
        description: Filter by exact reference
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: status
        schema:
          type: integer
        description: Order Status
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderList'
          description: ''
    post:
      operationId: api_order_so_create
      description: |-
        API endpoint for accessing a list of SalesOrder objects.

        - GET: Return list of SalesOrder objects (with filters)
        - POST: Create a new SalesOrder
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrder'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrder'
          description: ''
  /api/order/so-allocation/:
    get:
      operationId: api_order_so_allocation_list
      description: API endpoint for listing SalesOrderAllocation objects.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderAllocationList'
          description: ''
  /api/order/so-allocation/{id}/:
    get:
      operationId: api_order_so_allocation_retrieve
      description: API endpoint for detali view of a SalesOrderAllocation object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAllocation'
          description: ''
    put:
      operationId: api_order_so_allocation_update
      description: API endpoint for detali view of a SalesOrderAllocation object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderAllocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderAllocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderAllocation'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAllocation'
          description: ''
    patch:
      operationId: api_order_so_allocation_partial_update
      description: API endpoint for detali view of a SalesOrderAllocation object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderAllocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderAllocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderAllocation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAllocation'
          description: ''
    delete:
      operationId: api_order_so_allocation_destroy
      description: API endpoint for detali view of a SalesOrderAllocation object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so-extra-line/:
    get:
      operationId: api_order_so_extra_line_list
      description: Generic handler for a download request.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderExtraLineList'
          description: ''
    post:
      operationId: api_order_so_extra_line_create
      description: API endpoint for accessing a list of SalesOrderExtraLine objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderExtraLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderExtraLine'
          description: ''
  /api/order/so-extra-line/{id}/:
    get:
      operationId: api_order_so_extra_line_retrieve
      description: API endpoint for detail view of a SalesOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderExtraLine'
          description: ''
    put:
      operationId: api_order_so_extra_line_update
      description: API endpoint for detail view of a SalesOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderExtraLine'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderExtraLine'
          description: ''
    patch:
      operationId: api_order_so_extra_line_partial_update
      description: API endpoint for detail view of a SalesOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderExtraLine'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderExtraLine'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderExtraLine'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderExtraLine'
          description: ''
    delete:
      operationId: api_order_so_extra_line_destroy
      description: API endpoint for detail view of a SalesOrderExtraLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so-extra-line/{id}/metadata/:
    get:
      operationId: api_order_so_extra_line_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_so_extra_line_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_so_extra_line_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/so-line/:
    get:
      operationId: api_order_so_line_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: completed
        schema:
          type: boolean
        description: completed
      - in: query
        name: has_pricing
        schema:
          type: boolean
        description: Has Pricing
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - in: query
        name: order_status
        schema:
          type: integer
        description: order_status
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderLineItemList'
          description: ''
    post:
      operationId: api_order_so_line_create
      description: API endpoint for accessing a list of SalesOrderLineItem objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderLineItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderLineItem'
          description: ''
  /api/order/so-line/{id}/:
    get:
      operationId: api_order_so_line_retrieve
      description: API endpoint for detail view of a SalesOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderLineItem'
          description: ''
    put:
      operationId: api_order_so_line_update
      description: API endpoint for detail view of a SalesOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderLineItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderLineItem'
          description: ''
    patch:
      operationId: api_order_so_line_partial_update
      description: API endpoint for detail view of a SalesOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderLineItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderLineItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderLineItem'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderLineItem'
          description: ''
    delete:
      operationId: api_order_so_line_destroy
      description: API endpoint for detail view of a SalesOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so-line/{id}/metadata/:
    get:
      operationId: api_order_so_line_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_so_line_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_so_line_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/so/{id}/:
    get:
      operationId: api_order_so_retrieve
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrder'
          description: ''
    put:
      operationId: api_order_so_update
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrder'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrder'
          description: ''
    patch:
      operationId: api_order_so_partial_update
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrder'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrder'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrder'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrder'
          description: ''
    delete:
      operationId: api_order_so_destroy
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so/{id}/allocate/:
    post:
      operationId: api_order_so_allocate_create
      description: |-
        API endpoint to allocate stock items against a SalesOrder.

        - The SalesOrder is specified in the URL
        - See the SalesOrderShipmentAllocationSerializer class
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderShipmentAllocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderShipmentAllocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderShipmentAllocation'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipmentAllocation'
          description: ''
  /api/order/so/{id}/allocate-serials/:
    post:
      operationId: api_order_so_allocate_serials_create
      description: API endpoint to allocation stock items against a SalesOrder, by
        specifying serial numbers.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderSerialAllocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderSerialAllocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderSerialAllocation'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderSerialAllocation'
          description: ''
  /api/order/so/{id}/cancel/:
    post:
      operationId: api_order_so_cancel_create
      description: API endpoint to cancel a SalesOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/so/{id}/complete/:
    post:
      operationId: api_order_so_complete_create
      description: API endpoint for manually marking a SalesOrder as "complete".
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderComplete'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderComplete'
          description: ''
  /api/order/so/{id}/issue/:
    post:
      operationId: api_order_so_issue_create
      description: API endpoint to issue a SalesOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/so/{id}/metadata/:
    get:
      operationId: api_order_so_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_so_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_so_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/so/attachment/:
    get:
      operationId: api_order_so_attachment_list
      description: API endpoint for listing (and creating) a SalesOrderAttachment
        (file upload).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderAttachmentList'
          description: ''
    post:
      operationId: api_order_so_attachment_create
      description: API endpoint for listing (and creating) a SalesOrderAttachment
        (file upload).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAttachment'
          description: ''
    delete:
      operationId: api_order_so_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so/attachment/{id}/:
    get:
      operationId: api_order_so_attachment_retrieve
      description: Detail endpoint for SalesOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAttachment'
          description: ''
    put:
      operationId: api_order_so_attachment_update
      description: Detail endpoint for SalesOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAttachment'
          description: ''
    patch:
      operationId: api_order_so_attachment_partial_update
      description: Detail endpoint for SalesOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAttachment'
          description: ''
    delete:
      operationId: api_order_so_attachment_destroy_2
      description: Detail endpoint for SalesOrderAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so/shipment/:
    get:
      operationId: api_order_so_shipment_list
      description: API list endpoint for SalesOrderShipment model.
      parameters:
      - in: query
        name: delivered
        schema:
          type: boolean
        description: delivered
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: order
        schema:
          type: integer
      - in: query
        name: shipped
        schema:
          type: boolean
        description: shipped
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderShipmentList'
          description: ''
    post:
      operationId: api_order_so_shipment_create
      description: API list endpoint for SalesOrderShipment model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderShipment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderShipment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderShipment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipment'
          description: ''
  /api/order/so/shipment/{id}/:
    get:
      operationId: api_order_so_shipment_retrieve
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipment'
          description: ''
    put:
      operationId: api_order_so_shipment_update
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderShipment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderShipment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderShipment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipment'
          description: ''
    patch:
      operationId: api_order_so_shipment_partial_update
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderShipment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderShipment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderShipment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipment'
          description: ''
    delete:
      operationId: api_order_so_shipment_destroy
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so/shipment/{id}/metadata/:
    get:
      operationId: api_order_so_shipment_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_order_so_shipment_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_order_so_shipment_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/order/so/shipment/{id}/ship/:
    post:
      operationId: api_order_so_shipment_ship_create
      description: API endpoint for completing (shipping) a SalesOrderShipment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderShipmentComplete'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderShipmentComplete'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderShipmentComplete'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipmentComplete'
          description: ''
  /api/order/so/status/:
    get:
      operationId: api_order_so_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/:
    get:
      operationId: api_part_retrieve
      description: Generic handler for a download request.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    post:
      operationId: api_part_create
      description: API endpoint for accessing a list of Part objects, or creating
        a new Part instance.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/part/{id}/:
    get:
      operationId: api_part_retrieve_2
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_update
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_partial_update
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    delete:
      operationId: api_part_destroy
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/{id}/bom-copy/:
    post:
      operationId: api_part_bom_copy_create
      description: API endpoint for duplicating a BOM.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartCopyBOM'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartCopyBOM'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartCopyBOM'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartCopyBOM'
          description: ''
  /api/part/{id}/bom-validate/:
    get:
      operationId: api_part_bom_validate_retrieve
      description: API endpoint for 'validating' the BOM for a given Part.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMValidate'
          description: ''
    put:
      operationId: api_part_bom_validate_update
      description: API endpoint for 'validating' the BOM for a given Part.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BOMValidate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BOMValidate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BOMValidate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMValidate'
          description: ''
    patch:
      operationId: api_part_bom_validate_partial_update
      description: API endpoint for 'validating' the BOM for a given Part.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBOMValidate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBOMValidate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBOMValidate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMValidate'
          description: ''
  /api/part/{id}/metadata/:
    get:
      operationId: api_part_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/{id}/pricing/:
    get:
      operationId: api_part_pricing_retrieve
      description: API endpoint for viewing part pricing data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartPricing'
          description: ''
    put:
      operationId: api_part_pricing_update
      description: API endpoint for viewing part pricing data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartPricing'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartPricing'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartPricing'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartPricing'
          description: ''
    patch:
      operationId: api_part_pricing_partial_update
      description: API endpoint for viewing part pricing data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartPricing'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartPricing'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartPricing'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartPricing'
          description: ''
  /api/part/{id}/requirements/:
    get:
      operationId: api_part_requirements_retrieve
      description: |-
        API endpoint detailing 'requirements' information for a particular part.

        This endpoint returns information on upcoming requirements for:

        - Sales Orders
        - Build Orders
        - Total requirements

        As this data is somewhat complex to calculate, is it not included in the default API
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/{id}/scheduling/:
    get:
      operationId: api_part_scheduling_retrieve
      description: |-
        API endpoint for delivering "scheduling" information about a given part via the API.

        Returns a chronologically ordered list about future "scheduled" events,
        concerning stock levels for the part:

        - Purchase Orders (incoming stock)
        - Sales Orders (outgoing stock)
        - Build Orders (incoming completed stock)
        - Build Orders (outgoing allocated stock)
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/{id}/serial-numbers/:
    get:
      operationId: api_part_serial_numbers_retrieve
      description: API endpoint for returning extra serial number information about
        a particular part.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/attachment/:
    get:
      operationId: api_part_attachment_list
      description: API endpoint for listing (and creating) a PartAttachment (file
        upload).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartAttachmentList'
          description: ''
    post:
      operationId: api_part_attachment_create
      description: API endpoint for listing (and creating) a PartAttachment (file
        upload).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartAttachment'
          description: ''
    delete:
      operationId: api_part_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/attachment/{id}/:
    get:
      operationId: api_part_attachment_retrieve
      description: Detail endpoint for PartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartAttachment'
          description: ''
    put:
      operationId: api_part_attachment_update
      description: Detail endpoint for PartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartAttachment'
          description: ''
    patch:
      operationId: api_part_attachment_partial_update
      description: Detail endpoint for PartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartAttachment'
          description: ''
    delete:
      operationId: api_part_attachment_destroy_2
      description: Detail endpoint for PartAttachment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/category/:
    get:
      operationId: api_part_category_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: description
        schema:
          type: string
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: structural
        schema:
          type: boolean
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryList'
          description: ''
    post:
      operationId: api_part_category_create
      description: |-
        API endpoint for accessing a list of PartCategory objects.

        - GET: Return a list of PartCategory objects
        - POST: Create a new PartCategory object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Category'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Category'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
  /api/part/category/{id}/:
    get:
      operationId: api_part_category_retrieve
      description: Custom get method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
    put:
      operationId: api_part_category_update
      description: Custom put method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Category'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Category'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
    patch:
      operationId: api_part_category_partial_update
      description: Custom patch method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCategory'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCategory'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCategory'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
    delete:
      operationId: api_part_category_destroy
      description: Custom delete method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/category/{id}/metadata/:
    get:
      operationId: api_part_category_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_category_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_category_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/category/parameters/:
    get:
      operationId: api_part_category_parameters_list
      description: |-
        API endpoint for accessing a list of PartCategoryParameterTemplate objects.

        - GET: Return a list of PartCategoryParameterTemplate objects
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryParameterTemplateList'
          description: ''
    post:
      operationId: api_part_category_parameters_create
      description: |-
        API endpoint for accessing a list of PartCategoryParameterTemplate objects.

        - GET: Return a list of PartCategoryParameterTemplate objects
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryParameterTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CategoryParameterTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CategoryParameterTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryParameterTemplate'
          description: ''
  /api/part/category/parameters/{id}/:
    get:
      operationId: api_part_category_parameters_retrieve
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryParameterTemplate'
          description: ''
    put:
      operationId: api_part_category_parameters_update
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryParameterTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CategoryParameterTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CategoryParameterTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryParameterTemplate'
          description: ''
    patch:
      operationId: api_part_category_parameters_partial_update
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCategoryParameterTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCategoryParameterTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCategoryParameterTemplate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryParameterTemplate'
          description: ''
    delete:
      operationId: api_part_category_parameters_destroy
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/category/parameters/{id}/metadata/:
    get:
      operationId: api_part_category_parameters_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_category_parameters_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_category_parameters_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/category/tree/:
    get:
      operationId: api_part_category_tree_list
      description: API endpoint for accessing a list of PartCategory objects ready
        for rendering a tree.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryTreeList'
          description: ''
  /api/part/change_category/:
    post:
      operationId: api_part_change_category_create
      description: API endpoint to change the location of multiple parts in bulk.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartSetCategory'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartSetCategory'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartSetCategory'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartSetCategory'
          description: ''
  /api/part/internal-price/:
    get:
      operationId: api_part_internal_price_list
      description: API endpoint for list view of PartInternalPriceBreak model.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: part
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartInternalPriceList'
          description: ''
    post:
      operationId: api_part_internal_price_create
      description: API endpoint for list view of PartInternalPriceBreak model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartInternalPrice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartInternalPrice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartInternalPrice'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartInternalPrice'
          description: ''
  /api/part/internal-price/{id}/:
    get:
      operationId: api_part_internal_price_retrieve
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartInternalPrice'
          description: ''
    put:
      operationId: api_part_internal_price_update
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartInternalPrice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartInternalPrice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartInternalPrice'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartInternalPrice'
          description: ''
    patch:
      operationId: api_part_internal_price_partial_update
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartInternalPrice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartInternalPrice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartInternalPrice'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartInternalPrice'
          description: ''
    delete:
      operationId: api_part_internal_price_destroy
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/parameter/:
    get:
      operationId: api_part_parameter_list
      description: |-
        API endpoint for accessing a list of PartParameter objects.

        - GET: Return list of PartParameter objects
        - POST: Create a new PartParameter object
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: template
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartParameterList'
          description: ''
    post:
      operationId: api_part_parameter_create
      description: |-
        API endpoint for accessing a list of PartParameter objects.

        - GET: Return list of PartParameter objects
        - POST: Create a new PartParameter object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartParameter'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartParameter'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartParameter'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameter'
          description: ''
  /api/part/parameter/{id}/:
    get:
      operationId: api_part_parameter_retrieve
      description: API endpoint for detail view of a single PartParameter object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameter'
          description: ''
    put:
      operationId: api_part_parameter_update
      description: API endpoint for detail view of a single PartParameter object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartParameter'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartParameter'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartParameter'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameter'
          description: ''
    patch:
      operationId: api_part_parameter_partial_update
      description: API endpoint for detail view of a single PartParameter object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartParameter'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartParameter'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartParameter'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameter'
          description: ''
    delete:
      operationId: api_part_parameter_destroy
      description: API endpoint for detail view of a single PartParameter object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/parameter/{id}/metadata/:
    get:
      operationId: api_part_parameter_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_parameter_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_parameter_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/parameter/template/:
    get:
      operationId: api_part_parameter_template_list
      description: |-
        API endpoint for accessing a list of PartParameterTemplate objects.

        - GET: Return list of PartParameterTemplate objects
        - POST: Create a new PartParameterTemplate object
      parameters:
      - in: query
        name: checkbox
        schema:
          type: boolean
      - in: query
        name: has_choices
        schema:
          type: boolean
        description: Has Choice
      - in: query
        name: has_units
        schema:
          type: boolean
        description: Has Units
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: units
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartParameterTemplateList'
          description: ''
    post:
      operationId: api_part_parameter_template_create
      description: |-
        API endpoint for accessing a list of PartParameterTemplate objects.

        - GET: Return list of PartParameterTemplate objects
        - POST: Create a new PartParameterTemplate object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartParameterTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartParameterTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartParameterTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameterTemplate'
          description: ''
  /api/part/parameter/template/{id}/:
    get:
      operationId: api_part_parameter_template_retrieve
      description: API endpoint for accessing the detail view for a PartParameterTemplate
        object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameterTemplate'
          description: ''
    put:
      operationId: api_part_parameter_template_update
      description: API endpoint for accessing the detail view for a PartParameterTemplate
        object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartParameterTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartParameterTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartParameterTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameterTemplate'
          description: ''
    patch:
      operationId: api_part_parameter_template_partial_update
      description: API endpoint for accessing the detail view for a PartParameterTemplate
        object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartParameterTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartParameterTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartParameterTemplate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameterTemplate'
          description: ''
    delete:
      operationId: api_part_parameter_template_destroy
      description: API endpoint for accessing the detail view for a PartParameterTemplate
        object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/parameter/template/{id}/metadata/:
    get:
      operationId: api_part_parameter_template_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_parameter_template_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_parameter_template_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/related/:
    get:
      operationId: api_part_related_list
      description: API endpoint for accessing a list of PartRelated objects.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartRelationList'
          description: ''
    post:
      operationId: api_part_related_create
      description: API endpoint for accessing a list of PartRelated objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartRelation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartRelation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartRelation'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartRelation'
          description: ''
  /api/part/related/{id}/:
    get:
      operationId: api_part_related_retrieve
      description: API endpoint for accessing detail view of a PartRelated object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartRelation'
          description: ''
    put:
      operationId: api_part_related_update
      description: API endpoint for accessing detail view of a PartRelated object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartRelation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartRelation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartRelation'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartRelation'
          description: ''
    patch:
      operationId: api_part_related_partial_update
      description: API endpoint for accessing detail view of a PartRelated object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartRelation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartRelation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartRelation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartRelation'
          description: ''
    delete:
      operationId: api_part_related_destroy
      description: API endpoint for accessing detail view of a PartRelated object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/related/{id}/metadata/:
    get:
      operationId: api_part_related_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_related_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_related_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/sale-price/:
    get:
      operationId: api_part_sale_price_list
      description: API endpoint for list view of PartSalePriceBreak model.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: part
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartSalePriceList'
          description: ''
    post:
      operationId: api_part_sale_price_create
      description: API endpoint for list view of PartSalePriceBreak model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartSalePrice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartSalePrice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartSalePrice'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartSalePrice'
          description: ''
  /api/part/sale-price/{id}/:
    get:
      operationId: api_part_sale_price_retrieve
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartSalePrice'
          description: ''
    put:
      operationId: api_part_sale_price_update
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartSalePrice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartSalePrice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartSalePrice'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartSalePrice'
          description: ''
    patch:
      operationId: api_part_sale_price_partial_update
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartSalePrice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartSalePrice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartSalePrice'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartSalePrice'
          description: ''
    delete:
      operationId: api_part_sale_price_destroy
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/stocktake/:
    get:
      operationId: api_part_stocktake_list
      description: API endpoint for listing part stocktake information.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
      - in: query
        name: user
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartStocktakeList'
          description: ''
    post:
      operationId: api_part_stocktake_create
      description: API endpoint for listing part stocktake information.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartStocktake'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartStocktake'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartStocktake'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartStocktake'
          description: ''
  /api/part/stocktake/{id}/:
    get:
      operationId: api_part_stocktake_retrieve
      description: |-
        Detail API endpoint for a single PartStocktake instance.

        Note: Only staff (admin) users can access this endpoint.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartStocktake'
          description: ''
    put:
      operationId: api_part_stocktake_update
      description: |-
        Detail API endpoint for a single PartStocktake instance.

        Note: Only staff (admin) users can access this endpoint.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartStocktake'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartStocktake'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartStocktake'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartStocktake'
          description: ''
    patch:
      operationId: api_part_stocktake_partial_update
      description: |-
        Detail API endpoint for a single PartStocktake instance.

        Note: Only staff (admin) users can access this endpoint.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartStocktake'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartStocktake'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartStocktake'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartStocktake'
          description: ''
    delete:
      operationId: api_part_stocktake_destroy
      description: |-
        Detail API endpoint for a single PartStocktake instance.

        Note: Only staff (admin) users can access this endpoint.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/stocktake/report/:
    get:
      operationId: api_part_stocktake_report_list
      description: API endpoint for listing part stocktake report information.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartStocktakeReportList'
          description: ''
  /api/part/stocktake/report/generate/:
    post:
      operationId: api_part_stocktake_report_generate_create
      description: API endpoint for manually generating a new PartStocktakeReport.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartStocktakeReportGenerate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartStocktakeReportGenerate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartStocktakeReportGenerate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartStocktakeReportGenerate'
          description: ''
  /api/part/test-template/:
    get:
      operationId: api_part_test_template_list
      description: API endpoint for listing (and creating) a PartTestTemplate.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part
        schema:
          type: integer
        description: Part
      - in: query
        name: required
        schema:
          type: boolean
      - in: query
        name: requires_attachment
        schema:
          type: boolean
      - in: query
        name: requires_value
        schema:
          type: boolean
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartTestTemplateList'
          description: ''
    post:
      operationId: api_part_test_template_create
      description: API endpoint for listing (and creating) a PartTestTemplate.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartTestTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartTestTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartTestTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartTestTemplate'
          description: ''
  /api/part/test-template/{id}/:
    get:
      operationId: api_part_test_template_retrieve
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartTestTemplate'
          description: ''
    put:
      operationId: api_part_test_template_update
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartTestTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartTestTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartTestTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartTestTemplate'
          description: ''
    patch:
      operationId: api_part_test_template_partial_update
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartTestTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartTestTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartTestTemplate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartTestTemplate'
          description: ''
    delete:
      operationId: api_part_test_template_destroy
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/test-template/{id}/metadata/:
    get:
      operationId: api_part_test_template_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_part_test_template_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_part_test_template_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/thumbs/:
    get:
      operationId: api_part_thumbs_list
      description: API endpoint for retrieving information on available Part thumbnails.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartThumbList'
          description: ''
  /api/part/thumbs/{id}/:
    get:
      operationId: api_part_thumbs_retrieve
      description: API endpoint for updating Part thumbnails.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartThumbSerializerUpdate'
          description: ''
    put:
      operationId: api_part_thumbs_update
      description: API endpoint for updating Part thumbnails.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartThumbSerializerUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PartThumbSerializerUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PartThumbSerializerUpdate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartThumbSerializerUpdate'
          description: ''
    patch:
      operationId: api_part_thumbs_partial_update
      description: API endpoint for updating Part thumbnails.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPartThumbSerializerUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPartThumbSerializerUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPartThumbSerializerUpdate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartThumbSerializerUpdate'
          description: ''
  /api/plugins/:
    get:
      operationId: api_plugins_list
      description: |-
        API endpoint for list of PluginConfig objects.

        - GET: Return a list of all PluginConfig objects
      parameters:
      - in: query
        name: active
        schema:
          type: boolean
      - in: query
        name: builtin
        schema:
          type: boolean
        description: Builtin
      - in: query
        name: installed
        schema:
          type: boolean
        description: Installed
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: mixin
        schema:
          type: string
        description: Mixin
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: sample
        schema:
          type: boolean
        description: Sample
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPluginConfigList'
          description: ''
  /api/plugins/{id}/:
    get:
      operationId: api_plugins_retrieve
      description: |-
        API detail endpoint for PluginConfig object.

        get:
        Return a single PluginConfig object

        post:
        Update a PluginConfig

        delete:
        Remove a PluginConfig
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginConfig'
          description: ''
    put:
      operationId: api_plugins_update
      description: |-
        API detail endpoint for PluginConfig object.

        get:
        Return a single PluginConfig object

        post:
        Update a PluginConfig

        delete:
        Remove a PluginConfig
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginConfig'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginConfig'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginConfig'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginConfig'
          description: ''
    patch:
      operationId: api_plugins_partial_update
      description: |-
        API detail endpoint for PluginConfig object.

        get:
        Return a single PluginConfig object

        post:
        Update a PluginConfig

        delete:
        Remove a PluginConfig
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPluginConfig'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPluginConfig'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPluginConfig'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginConfig'
          description: ''
    delete:
      operationId: api_plugins_destroy
      description: |-
        Handle DELETE request for a PluginConfig instance.

        We only allow plugin deletion if the plugin is not active.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/plugins/{id}/activate/:
    put:
      operationId: api_plugins_activate_update_2
      description: |-
        Endpoint for activating a plugin.

        - PATCH: Activate a plugin

        Pass a boolean value for the 'active' field.
        If not provided, it is assumed to be True,
        and the plugin will be activated.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginActivate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginActivate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginActivate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginActivate'
          description: ''
    patch:
      operationId: api_plugins_activate_partial_update_2
      description: |-
        Endpoint for activating a plugin.

        - PATCH: Activate a plugin

        Pass a boolean value for the 'active' field.
        If not provided, it is assumed to be True,
        and the plugin will be activated.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPluginActivate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPluginActivate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPluginActivate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginActivate'
          description: ''
  /api/plugins/{id}/settings/:
    get:
      operationId: api_plugins_settings_list_2
      description: Get all settings for a plugin config.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PluginSetting'
          description: ''
  /api/plugins/{id}/settings/{key}/:
    get:
      operationId: api_plugins_settings_retrieve_2
      description: |-
        Detail endpoint for a plugin-specific setting.

        Note that these cannot be created or deleted via the API
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
    put:
      operationId: api_plugins_settings_update_2
      description: |-
        Detail endpoint for a plugin-specific setting.

        Note that these cannot be created or deleted via the API
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginSetting'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
    patch:
      operationId: api_plugins_settings_partial_update_2
      description: |-
        Detail endpoint for a plugin-specific setting.

        Note that these cannot be created or deleted via the API
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPluginSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPluginSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPluginSetting'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
  /api/plugins/{id}/uninstall/:
    put:
      operationId: api_plugins_uninstall_update
      description: Endpoint for uninstalling a single plugin.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginUninstall'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginUninstall'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginUninstall'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginUninstall'
          description: ''
    patch:
      operationId: api_plugins_uninstall_partial_update
      description: Endpoint for uninstalling a single plugin.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPluginUninstall'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPluginUninstall'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPluginUninstall'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginUninstall'
          description: ''
  /api/plugins/activate/:
    put:
      operationId: api_plugins_activate_update
      description: |-
        Endpoint for activating a plugin.

        - PATCH: Activate a plugin

        Pass a boolean value for the 'active' field.
        If not provided, it is assumed to be True,
        and the plugin will be activated.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginActivate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginActivate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginActivate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginActivate'
          description: ''
    patch:
      operationId: api_plugins_activate_partial_update
      description: |-
        Endpoint for activating a plugin.

        - PATCH: Activate a plugin

        Pass a boolean value for the 'active' field.
        If not provided, it is assumed to be True,
        and the plugin will be activated.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPluginActivate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPluginActivate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPluginActivate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginActivate'
          description: ''
  /api/plugins/install/:
    post:
      operationId: api_plugins_install_create
      description: Endpoint for installing a new plugin.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginConfigInstall'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginConfigInstall'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginConfigInstall'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginConfigInstall'
          description: ''
  /api/plugins/metadata/:
    get:
      operationId: api_plugins_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_plugins_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_plugins_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/plugins/reload/:
    post:
      operationId: api_plugins_reload_create
      description: Endpoint for reloading all plugins.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginReload'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginReload'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginReload'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginReload'
          description: ''
  /api/plugins/settings/:
    get:
      operationId: api_plugins_settings_list
      description: |-
        List endpoint for all plugin related settings.

        - read only
        - only accessible by staff users
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - in: query
        name: plugin__active
        schema:
          type: boolean
      - in: query
        name: plugin__key
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPluginSettingList'
          description: ''
  /api/plugins/settings/{plugin}/{key}/:
    get:
      operationId: api_plugins_settings_retrieve
      description: |-
        Detail endpoint for a plugin-specific setting.

        Note that these cannot be created or deleted via the API
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      - in: path
        name: plugin
        schema:
          type: string
          pattern: ^[-\w]+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
    put:
      operationId: api_plugins_settings_update
      description: |-
        Detail endpoint for a plugin-specific setting.

        Note that these cannot be created or deleted via the API
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      - in: path
        name: plugin
        schema:
          type: string
          pattern: ^[-\w]+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PluginSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PluginSetting'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
    patch:
      operationId: api_plugins_settings_partial_update
      description: |-
        Detail endpoint for a plugin-specific setting.

        Note that these cannot be created or deleted via the API
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      - in: path
        name: plugin
        schema:
          type: string
          pattern: ^[-\w]+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPluginSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPluginSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPluginSetting'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
  /api/plugins/status/:
    get:
      operationId: api_plugins_status_retrieve
      description: Show registry status information.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginRegistryStatus'
          description: ''
  /api/project-code/:
    get:
      operationId: api_project_code_list
      description: List view for all project codes.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProjectCodeList'
          description: ''
    post:
      operationId: api_project_code_create
      description: List view for all project codes.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectCode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectCode'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCode'
          description: ''
  /api/project-code/{id}/:
    get:
      operationId: api_project_code_retrieve
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCode'
          description: ''
    put:
      operationId: api_project_code_update
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectCode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectCode'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCode'
          description: ''
    patch:
      operationId: api_project_code_partial_update
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectCode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedProjectCode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedProjectCode'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCode'
          description: ''
    delete:
      operationId: api_project_code_destroy
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/project-code/{id}/metadata/:
    get:
      operationId: api_project_code_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_project_code_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_project_code_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/bom/:
    get:
      operationId: api_report_bom_list
      description: |-
        API endpoint for viewing a list of BillOfMaterialReport objects.

        Filterably by:

        - enabled: Filter by enabled / disabled status
        - part: Filter by part(s)
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBOMReportList'
          description: ''
    post:
      operationId: api_report_bom_create
      description: |-
        API endpoint for viewing a list of BillOfMaterialReport objects.

        Filterably by:

        - enabled: Filter by enabled / disabled status
        - part: Filter by part(s)
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BOMReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BOMReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BOMReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMReport'
          description: ''
  /api/report/bom/{id}/:
    get:
      operationId: api_report_bom_retrieve
      description: API endpoint for a single BillOfMaterialReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMReport'
          description: ''
    put:
      operationId: api_report_bom_update
      description: API endpoint for a single BillOfMaterialReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BOMReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BOMReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BOMReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMReport'
          description: ''
    patch:
      operationId: api_report_bom_partial_update
      description: API endpoint for a single BillOfMaterialReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBOMReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBOMReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBOMReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMReport'
          description: ''
    delete:
      operationId: api_report_bom_destroy
      description: API endpoint for a single BillOfMaterialReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/bom/{id}/metadata/:
    get:
      operationId: api_report_bom_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_bom_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_bom_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/bom/{id}/print/:
    get:
      operationId: api_report_bom_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMReport'
          description: ''
  /api/report/build/:
    get:
      operationId: api_report_build_list
      description: |-
        API endpoint for viewing a list of BuildReport objects.

        Can be filtered by:

        - enabled: Filter by enabled / disabled status
        - build: Filter by Build object
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildReportList'
          description: ''
    post:
      operationId: api_report_build_create
      description: |-
        API endpoint for viewing a list of BuildReport objects.

        Can be filtered by:

        - enabled: Filter by enabled / disabled status
        - build: Filter by Build object
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildReport'
          description: ''
  /api/report/build/{id}/:
    get:
      operationId: api_report_build_retrieve
      description: API endpoint for a single BuildReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildReport'
          description: ''
    put:
      operationId: api_report_build_update
      description: API endpoint for a single BuildReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuildReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuildReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuildReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildReport'
          description: ''
    patch:
      operationId: api_report_build_partial_update
      description: API endpoint for a single BuildReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuildReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuildReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuildReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildReport'
          description: ''
    delete:
      operationId: api_report_build_destroy
      description: API endpoint for a single BuildReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/build/{id}/metadata/:
    get:
      operationId: api_report_build_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_build_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_build_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/build/{id}/print/:
    get:
      operationId: api_report_build_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildReport'
          description: ''
  /api/report/po/:
    get:
      operationId: api_report_po_list
      description: API list endpoint for the PurchaseOrderReport model.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderReportList'
          description: ''
    post:
      operationId: api_report_po_create
      description: API list endpoint for the PurchaseOrderReport model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderReport'
          description: ''
  /api/report/po/{id}/:
    get:
      operationId: api_report_po_retrieve
      description: API endpoint for a single PurchaseOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderReport'
          description: ''
    put:
      operationId: api_report_po_update
      description: API endpoint for a single PurchaseOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PurchaseOrderReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderReport'
          description: ''
    patch:
      operationId: api_report_po_partial_update
      description: API endpoint for a single PurchaseOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPurchaseOrderReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderReport'
          description: ''
    delete:
      operationId: api_report_po_destroy
      description: API endpoint for a single PurchaseOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/po/{id}/metadata/:
    get:
      operationId: api_report_po_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_po_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_po_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/po/{id}/print/:
    get:
      operationId: api_report_po_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderReport'
          description: ''
  /api/report/ro/:
    get:
      operationId: api_report_ro_list
      description: API list endpoint for the ReturnOrderReport model.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderReportList'
          description: ''
    post:
      operationId: api_report_ro_create
      description: API list endpoint for the ReturnOrderReport model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderReport'
          description: ''
  /api/report/ro/{id}/:
    get:
      operationId: api_report_ro_retrieve
      description: API endpoint for a single ReturnOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderReport'
          description: ''
    put:
      operationId: api_report_ro_update
      description: API endpoint for a single ReturnOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnOrderReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderReport'
          description: ''
    patch:
      operationId: api_report_ro_partial_update
      description: API endpoint for a single ReturnOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReturnOrderReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderReport'
          description: ''
    delete:
      operationId: api_report_ro_destroy
      description: API endpoint for a single ReturnOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/ro/{id}/metadata/:
    get:
      operationId: api_report_ro_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_ro_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_ro_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/ro/{id}/print/:
    get:
      operationId: api_report_ro_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderReport'
          description: ''
  /api/report/slr/:
    get:
      operationId: api_report_slr_list
      description: API list endpoint for the StockLocationReportList model.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockLocationReportList'
          description: ''
    post:
      operationId: api_report_slr_create
      description: API list endpoint for the StockLocationReportList model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockLocationReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockLocationReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockLocationReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationReport'
          description: ''
  /api/report/slr/{id}/:
    get:
      operationId: api_report_slr_retrieve
      description: API endpoint for a single StockLocationReportDetail object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationReport'
          description: ''
    put:
      operationId: api_report_slr_update
      description: API endpoint for a single StockLocationReportDetail object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockLocationReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockLocationReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockLocationReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationReport'
          description: ''
    patch:
      operationId: api_report_slr_partial_update
      description: API endpoint for a single StockLocationReportDetail object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationReport'
          description: ''
    delete:
      operationId: api_report_slr_destroy
      description: API endpoint for a single StockLocationReportDetail object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/slr/{id}/metadata/:
    get:
      operationId: api_report_slr_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_slr_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_slr_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/slr/{id}/print/:
    get:
      operationId: api_report_slr_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationReport'
          description: ''
  /api/report/so/:
    get:
      operationId: api_report_so_list
      description: API list endpoint for the SalesOrderReport model.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderReportList'
          description: ''
    post:
      operationId: api_report_so_create
      description: API list endpoint for the SalesOrderReport model.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderReport'
          description: ''
  /api/report/so/{id}/:
    get:
      operationId: api_report_so_retrieve
      description: API endpoint for a single SalesOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderReport'
          description: ''
    put:
      operationId: api_report_so_update
      description: API endpoint for a single SalesOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SalesOrderReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderReport'
          description: ''
    patch:
      operationId: api_report_so_partial_update
      description: API endpoint for a single SalesOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSalesOrderReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderReport'
          description: ''
    delete:
      operationId: api_report_so_destroy
      description: API endpoint for a single SalesOrderReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/so/{id}/metadata/:
    get:
      operationId: api_report_so_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_so_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_so_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/so/{id}/print/:
    get:
      operationId: api_report_so_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderReport'
          description: ''
  /api/report/test/:
    get:
      operationId: api_report_test_list
      description: |-
        API endpoint for viewing list of TestReport objects.

        Filterable by:

        - enabled: Filter by enabled / disabled status
        - item: Filter by stock item(s)
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTestReportList'
          description: ''
    post:
      operationId: api_report_test_create
      description: |-
        API endpoint for viewing list of TestReport objects.

        Filterable by:

        - enabled: Filter by enabled / disabled status
        - item: Filter by stock item(s)
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TestReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestReport'
          description: ''
  /api/report/test/{id}/:
    get:
      operationId: api_report_test_retrieve
      description: API endpoint for a single TestReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestReport'
          description: ''
    put:
      operationId: api_report_test_update
      description: API endpoint for a single TestReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TestReport'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestReport'
          description: ''
    patch:
      operationId: api_report_test_partial_update
      description: API endpoint for a single TestReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTestReport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedTestReport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedTestReport'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestReport'
          description: ''
    delete:
      operationId: api_report_test_destroy
      description: API endpoint for a single TestReport object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/test/{id}/metadata/:
    get:
      operationId: api_report_test_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_report_test_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_report_test_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/report/test/{id}/print/:
    get:
      operationId: api_report_test_print_retrieve
      description: |-
        Default implementation of GET for a print endpoint.

        Note that it expects the class has defined a get_items() method
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestReport'
          description: ''
  /api/search/:
    post:
      operationId: api_search_create
      description: Perform search query against available models.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/settings/global/:
    get:
      operationId: api_settings_global_list
      description: API endpoint for accessing a list of global settings objects.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGlobalSettingsList'
          description: ''
  /api/settings/global/{key}/:
    get:
      operationId: api_settings_global_retrieve
      description: |-
        Detail view for an individual "global setting" object.

        - User must have 'staff' status to view / edit
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalSettings'
          description: ''
    put:
      operationId: api_settings_global_update
      description: |-
        Detail view for an individual "global setting" object.

        - User must have 'staff' status to view / edit
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalSettings'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GlobalSettings'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GlobalSettings'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalSettings'
          description: ''
    patch:
      operationId: api_settings_global_partial_update
      description: |-
        Detail view for an individual "global setting" object.

        - User must have 'staff' status to view / edit
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGlobalSettings'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGlobalSettings'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGlobalSettings'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalSettings'
          description: ''
  /api/settings/notification/:
    get:
      operationId: api_settings_notification_list
      description: API endpoint for accessing a list of notification user settings
        objects.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNotificationUserSettingList'
          description: ''
  /api/settings/notification/{id}/:
    get:
      operationId: api_settings_notification_retrieve
      description: |-
        Detail view for an individual "notification user setting" object.

        - User can only view / edit settings their own settings objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationUserSetting'
          description: ''
    put:
      operationId: api_settings_notification_update
      description: |-
        Detail view for an individual "notification user setting" object.

        - User can only view / edit settings their own settings objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationUserSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NotificationUserSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NotificationUserSetting'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationUserSetting'
          description: ''
    patch:
      operationId: api_settings_notification_partial_update
      description: |-
        Detail view for an individual "notification user setting" object.

        - User can only view / edit settings their own settings objects
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNotificationUserSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedNotificationUserSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedNotificationUserSetting'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationUserSetting'
          description: ''
  /api/settings/user/:
    get:
      operationId: api_settings_user_list
      description: API endpoint for accessing a list of user settings objects.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserSettingsList'
          description: ''
  /api/settings/user/{key}/:
    get:
      operationId: api_settings_user_retrieve
      description: |-
        Detail view for an individual "user setting" object.

        - User can only view / edit settings their own settings objects
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSettings'
          description: ''
    put:
      operationId: api_settings_user_update
      description: |-
        Detail view for an individual "user setting" object.

        - User can only view / edit settings their own settings objects
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserSettings'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserSettings'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserSettings'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSettings'
          description: ''
    patch:
      operationId: api_settings_user_partial_update
      description: |-
        Detail view for an individual "user setting" object.

        - User can only view / edit settings their own settings objects
      parameters:
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserSettings'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserSettings'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserSettings'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSettings'
          description: ''
  /api/stock/:
    get:
      operationId: api_stock_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: IPN
        schema:
          type: string
        description: Part IPN (case insensitive)
      - in: query
        name: IPN_contains
        schema:
          type: string
        description: Part IPN contains (case insensitive)
      - in: query
        name: IPN_regex
        schema:
          type: string
        description: Part IPN (regex)
      - in: query
        name: active
        schema:
          type: boolean
        description: Active
      - in: query
        name: allocated
        schema:
          type: boolean
        description: Is Allocated
      - in: query
        name: ancestor
        schema:
          type: string
        description: Ancestor
      - in: query
        name: assembly
        schema:
          type: boolean
        description: Assembly
      - in: query
        name: available
        schema:
          type: boolean
        description: Available
      - in: query
        name: batch
        schema:
          type: string
        description: Batch code filter (case insensitive)
      - in: query
        name: batch_regex
        schema:
          type: string
        description: Batch code filter (regex)
      - in: query
        name: belongs_to
        schema:
          type: integer
      - in: query
        name: bom_item
        schema:
          type: string
        description: BOM Item
      - in: query
        name: build
        schema:
          type: integer
      - in: query
        name: category
        schema:
          type: string
        description: Category
      - in: query
        name: company
        schema:
          type: string
        description: Company
      - in: query
        name: consumed_by
        schema:
          type: integer
      - in: query
        name: customer
        schema:
          type: integer
      - in: query
        name: depleted
        schema:
          type: boolean
        description: Depleted
      - in: query
        name: expired
        schema:
          type: boolean
        description: Expired
      - in: query
        name: expiry_date_gte
        schema:
          type: string
          format: date
        description: Expiry date after
      - in: query
        name: expiry_date_lte
        schema:
          type: string
          format: date
        description: Expiry date before
      - in: query
        name: external
        schema:
          type: boolean
        description: External Location
      - in: query
        name: has_batch
        schema:
          type: boolean
        description: Has batch code
      - in: query
        name: has_child_items
        schema:
          type: boolean
        description: Has child items
      - in: query
        name: has_installed_items
        schema:
          type: boolean
        description: Has installed items
      - in: query
        name: has_purchase_price
        schema:
          type: boolean
        description: Has purchase price
      - in: query
        name: in_stock
        schema:
          type: boolean
        description: In Stock
      - in: query
        name: installed
        schema:
          type: boolean
        description: Installed in other stock item
      - in: query
        name: is_building
        schema:
          type: boolean
        description: In production
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: manufacturer
        schema:
          type: string
        description: Manufacturer
      - in: query
        name: max_stock
        schema:
          type: number
        description: Maximum stock
      - in: query
        name: min_stock
        schema:
          type: number
        description: Minimum stock
      - in: query
        name: name
        schema:
          type: string
        description: Part name (case insensitive)
      - in: query
        name: name_contains
        schema:
          type: string
        description: Part name contains (case insensitive)
      - in: query
        name: name_regex
        schema:
          type: string
        description: Part name (regex)
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: part_tree
        schema:
          type: string
        description: Part Tree
      - in: query
        name: purchase_order
        schema:
          type: integer
      - in: query
        name: salable
        schema:
          type: boolean
        description: Salable
      - in: query
        name: sales_order
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: sent_to_customer
        schema:
          type: boolean
        description: Sent to customer
      - in: query
        name: serial
        schema:
          type: string
        description: Serial number
      - in: query
        name: serial_gte
        schema:
          type: integer
        description: Serial number GTE
      - in: query
        name: serial_lte
        schema:
          type: integer
        description: Serial number LTE
      - in: query
        name: serialized
        schema:
          type: boolean
        description: Has serial number
      - in: query
        name: stale
        schema:
          type: boolean
        description: Stale
      - in: query
        name: status
        schema:
          type: integer
        description: Status Code
      - in: query
        name: supplier
        schema:
          type: integer
        description: Supplier
      - in: query
        name: supplier_part
        schema:
          type: integer
      - in: query
        name: tags__name
        schema:
          type: string
      - in: query
        name: tags__slug
        schema:
          type: string
      - in: query
        name: tracked
        schema:
          type: boolean
        description: Tracked
      - in: query
        name: updated_after
        schema:
          type: string
          format: date
        description: Updated after
      - in: query
        name: updated_before
        schema:
          type: string
          format: date
        description: Updated before
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockItemList'
          description: ''
    post:
      operationId: api_stock_create
      description: |-
        API endpoint for list view of Stock objects.

        - GET: Return a list of all StockItem objects (with optional query filters)
        - POST: Create a new StockItem
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItem'
          description: ''
    delete:
      operationId: api_stock_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/{id}/:
    get:
      operationId: api_stock_retrieve
      description: |-
        API detail endpoint for Stock object.

        get:
        Return a single StockItem object

        post:
        Update a StockItem

        delete:
        Remove a StockItem
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItem'
          description: ''
    put:
      operationId: api_stock_update
      description: |-
        API detail endpoint for Stock object.

        get:
        Return a single StockItem object

        post:
        Update a StockItem

        delete:
        Remove a StockItem
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItem'
          description: ''
    patch:
      operationId: api_stock_partial_update
      description: |-
        API detail endpoint for Stock object.

        get:
        Return a single StockItem object

        post:
        Update a StockItem

        delete:
        Remove a StockItem
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockItem'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItem'
          description: ''
    delete:
      operationId: api_stock_destroy_2
      description: |-
        API detail endpoint for Stock object.

        get:
        Return a single StockItem object

        post:
        Update a StockItem

        delete:
        Remove a StockItem
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/{id}/convert/:
    post:
      operationId: api_stock_convert_create
      description: API endpoint for converting a stock item to a variant part.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConvertStockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ConvertStockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ConvertStockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConvertStockItem'
          description: ''
  /api/stock/{id}/install/:
    post:
      operationId: api_stock_install_create
      description: |-
        API endpoint for installing a particular stock item into this stock item.

        - stock_item.part must be in the BOM for this part
        - stock_item must currently be "in stock"
        - stock_item must be serialized (and not belong to another item)
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstallStockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/InstallStockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/InstallStockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstallStockItem'
          description: ''
  /api/stock/{id}/metadata/:
    get:
      operationId: api_stock_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_stock_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_stock_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/stock/{id}/return/:
    post:
      operationId: api_stock_return_create
      description: API endpoint for returning a stock item from a customer.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnStockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReturnStockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReturnStockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnStockItem'
          description: ''
  /api/stock/{id}/serialize/:
    post:
      operationId: api_stock_serialize_create
      description: API endpoint for serializing a stock item.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SerializeStockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SerializeStockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SerializeStockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SerializeStockItem'
          description: ''
  /api/stock/{id}/uninstall/:
    post:
      operationId: api_stock_uninstall_create
      description: API endpoint for removing (uninstalling) items from this item.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UninstallStockItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UninstallStockItem'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UninstallStockItem'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UninstallStockItem'
          description: ''
  /api/stock/add/:
    post:
      operationId: api_stock_add_create
      description: Endpoint for adding a quantity of stock to an existing StockItem.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockAdd'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockAdd'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockAdd'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockAdd'
          description: ''
  /api/stock/assign/:
    post:
      operationId: api_stock_assign_create
      description: API endpoint for assigning stock to a particular customer.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockAssignment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockAssignment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockAssignment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockAssignment'
          description: ''
  /api/stock/attachment/:
    get:
      operationId: api_stock_attachment_list
      description: API endpoint for listing (and creating) a StockItemAttachment (file
        upload).
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: stock_item
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockItemAttachmentList'
          description: ''
    post:
      operationId: api_stock_attachment_create
      description: API endpoint for listing (and creating) a StockItemAttachment (file
        upload).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItemAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItemAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItemAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemAttachment'
          description: ''
    delete:
      operationId: api_stock_attachment_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/attachment/{id}/:
    get:
      operationId: api_stock_attachment_retrieve
      description: Detail endpoint for StockItemAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemAttachment'
          description: ''
    put:
      operationId: api_stock_attachment_update
      description: Detail endpoint for StockItemAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItemAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItemAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItemAttachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemAttachment'
          description: ''
    patch:
      operationId: api_stock_attachment_partial_update
      description: Detail endpoint for StockItemAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockItemAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockItemAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockItemAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemAttachment'
          description: ''
    delete:
      operationId: api_stock_attachment_destroy_2
      description: Detail endpoint for StockItemAttachment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/change_status/:
    post:
      operationId: api_stock_change_status_create
      description: API endpoint to change the status code of multiple StockItem objects.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockChangeStatus'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockChangeStatus'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockChangeStatus'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockChangeStatus'
          description: ''
  /api/stock/count/:
    post:
      operationId: api_stock_count_create
      description: Endpoint for counting stock (performing a stocktake).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockCount'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockCount'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockCount'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockCount'
          description: ''
  /api/stock/location/:
    get:
      operationId: api_stock_location_list
      description: Generic handler for a download request.
      parameters:
      - in: query
        name: has_location_type
        schema:
          type: boolean
        description: has_location_type
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: location_type
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationList'
          description: ''
    post:
      operationId: api_stock_location_create
      description: |-
        API endpoint for list view of StockLocation objects.

        - GET: Return list of StockLocation objects
        - POST: Create a new StockLocation
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Location'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Location'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Location'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
  /api/stock/location-type/:
    get:
      operationId: api_stock_location_type_list
      description: |-
        API endpoint for a list of StockLocationType objects.

        - GET: Return a list of all StockLocationType objects
        - POST: Create a StockLocationType
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockLocationTypeList'
          description: ''
    post:
      operationId: api_stock_location_type_create
      description: |-
        API endpoint for a list of StockLocationType objects.

        - GET: Return a list of all StockLocationType objects
        - POST: Create a StockLocationType
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockLocationType'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockLocationType'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockLocationType'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationType'
          description: ''
  /api/stock/location-type/{id}/:
    get:
      operationId: api_stock_location_type_retrieve
      description: |-
        API detail endpoint for a StockLocationType object.

        - GET: return a single StockLocationType
        - PUT: update a StockLocationType
        - PATCH: partial update a StockLocationType
        - DELETE: delete a StockLocationType
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationType'
          description: ''
    put:
      operationId: api_stock_location_type_update
      description: |-
        API detail endpoint for a StockLocationType object.

        - GET: return a single StockLocationType
        - PUT: update a StockLocationType
        - PATCH: partial update a StockLocationType
        - DELETE: delete a StockLocationType
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockLocationType'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockLocationType'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockLocationType'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationType'
          description: ''
    patch:
      operationId: api_stock_location_type_partial_update
      description: |-
        API detail endpoint for a StockLocationType object.

        - GET: return a single StockLocationType
        - PUT: update a StockLocationType
        - PATCH: partial update a StockLocationType
        - DELETE: delete a StockLocationType
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationType'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationType'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockLocationType'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationType'
          description: ''
    delete:
      operationId: api_stock_location_type_destroy
      description: |-
        API detail endpoint for a StockLocationType object.

        - GET: return a single StockLocationType
        - PUT: update a StockLocationType
        - PATCH: partial update a StockLocationType
        - DELETE: delete a StockLocationType
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/location-type/{id}/metadata/:
    get:
      operationId: api_stock_location_type_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_stock_location_type_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_stock_location_type_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/stock/location/{id}/:
    get:
      operationId: api_stock_location_retrieve
      description: Custom get method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
    put:
      operationId: api_stock_location_update
      description: Custom put method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Location'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Location'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Location'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
    patch:
      operationId: api_stock_location_partial_update
      description: Custom patch method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedLocation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedLocation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedLocation'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
    delete:
      operationId: api_stock_location_destroy
      description: Custom delete method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/location/{id}/metadata/:
    get:
      operationId: api_stock_location_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_stock_location_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_stock_location_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/stock/location/tree/:
    get:
      operationId: api_stock_location_tree_list
      description: API endpoint for accessing a list of StockLocation objects, ready
        for rendering as a tree.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationTreeList'
          description: ''
  /api/stock/merge/:
    post:
      operationId: api_stock_merge_create
      description: API endpoint for merging multiple stock items.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockMerge'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockMerge'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockMerge'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockMerge'
          description: ''
  /api/stock/remove/:
    post:
      operationId: api_stock_remove_create
      description: Endpoint for removing a quantity of stock from an existing StockItem.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockRemove'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockRemove'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockRemove'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockRemove'
          description: ''
  /api/stock/status/:
    get:
      operationId: api_stock_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/stock/test/:
    get:
      operationId: api_stock_test_list
      description: API endpoint for listing (and creating) a StockItemTestResult object.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - in: query
        name: result
        schema:
          type: boolean
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: test
        schema:
          type: string
      - in: query
        name: user
        schema:
          type: integer
      - in: query
        name: value
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockItemTestResultList'
          description: ''
    post:
      operationId: api_stock_test_create
      description: API endpoint for listing (and creating) a StockItemTestResult object.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItemTestResult'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItemTestResult'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItemTestResult'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemTestResult'
          description: ''
    delete:
      operationId: api_stock_test_destroy
      description: |-
        Perform a DELETE operation against this list endpoint.

        We expect a list of primary-key (ID) values to be supplied as a JSON object, e.g.
        {
            items: [4, 8, 15, 16, 23, 42]
        }
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/test/{id}/:
    get:
      operationId: api_stock_test_retrieve
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemTestResult'
          description: ''
    put:
      operationId: api_stock_test_update
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockItemTestResult'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockItemTestResult'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockItemTestResult'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemTestResult'
          description: ''
    patch:
      operationId: api_stock_test_partial_update
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedStockItemTestResult'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedStockItemTestResult'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedStockItemTestResult'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemTestResult'
          description: ''
    delete:
      operationId: api_stock_test_destroy_2
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/test/{id}/metadata/:
    get:
      operationId: api_stock_test_metadata_retrieve
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    put:
      operationId: api_stock_test_metadata_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
    patch:
      operationId: api_stock_test_metadata_partial_update
      description: Generic API endpoint for reading and editing metadata for a model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/stock/track/:
    get:
      operationId: api_stock_track_list
      description: |-
        API endpoint for list view of StockItemTracking objects.

        StockItemTracking objects are read-only
        (they are created by internal model functionality)

        - GET: Return list of StockItemTracking objects
      parameters:
      - in: query
        name: item
        schema:
          type: integer
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: user
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockTrackingList'
          description: ''
  /api/stock/track/{id}/:
    get:
      operationId: api_stock_track_retrieve
      description: Detail API endpoint for StockItemTracking model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockTracking'
          description: ''
  /api/stock/track/status/:
    get:
      operationId: api_stock_track_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/stock/transfer/:
    post:
      operationId: api_stock_transfer_create
      description: API endpoint for performing stock movements.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StockTransfer'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/StockTransfer'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/StockTransfer'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockTransfer'
          description: ''
  /api/units/:
    get:
      operationId: api_units_list
      description: List view for custom units.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomUnitList'
          description: ''
    post:
      operationId: api_units_create
      description: List view for custom units.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomUnit'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomUnit'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomUnit'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomUnit'
          description: ''
  /api/units/{id}/:
    get:
      operationId: api_units_retrieve
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomUnit'
          description: ''
    put:
      operationId: api_units_update
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomUnit'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomUnit'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomUnit'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomUnit'
          description: ''
    patch:
      operationId: api_units_partial_update
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomUnit'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCustomUnit'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCustomUnit'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomUnit'
          description: ''
    delete:
      operationId: api_units_destroy
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/:
    get:
      operationId: api_user_list
      description: List endpoint for detail on all users.
      parameters:
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: is_staff
        schema:
          type: boolean
      - in: query
        name: is_superuser
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserCreateList'
          description: ''
    post:
      operationId: api_user_create
      description: List endpoint for detail on all users.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserCreate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCreate'
          description: ''
  /api/user/{id}/:
    get:
      operationId: api_user_retrieve
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    put:
      operationId: api_user_update
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExendedUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExendedUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExendedUser'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    patch:
      operationId: api_user_partial_update
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExendedUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExendedUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExendedUser'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    delete:
      operationId: api_user_destroy
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/group/:
    get:
      operationId: api_user_group_list
      description: List endpoint for all auth groups.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGroupList'
          description: ''
    post:
      operationId: api_user_group_create
      description: List endpoint for all auth groups.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Group'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Group'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
          description: ''
  /api/user/group/{id}/:
    get:
      operationId: api_user_group_retrieve
      description: Detail endpoint for a particular auth group.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
          description: ''
    put:
      operationId: api_user_group_update
      description: Detail endpoint for a particular auth group.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Group'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Group'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Group'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
          description: ''
    patch:
      operationId: api_user_group_partial_update
      description: Detail endpoint for a particular auth group.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGroup'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGroup'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGroup'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
          description: ''
    delete:
      operationId: api_user_group_destroy
      description: Detail endpoint for a particular auth group.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/me/:
    get:
      operationId: api_user_me_retrieve
      description: Detail endpoint for current user.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    put:
      operationId: api_user_me_update
      description: Detail endpoint for current user.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExendedUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExendedUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExendedUser'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    patch:
      operationId: api_user_me_partial_update
      description: Detail endpoint for current user.
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExendedUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExendedUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExendedUser'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    delete:
      operationId: api_user_me_destroy
      description: Detail endpoint for current user.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/owner/:
    get:
      operationId: api_user_owner_list
      description: |-
        List API endpoint for Owner model.

        Cannot create.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: offset
        required: false
        in: query
        description: The initial index from which to return the results.
        schema:
          type: integer
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOwnerList'
          description: ''
  /api/user/owner/{id}/:
    get:
      operationId: api_user_owner_retrieve
      description: |-
        Detail API endpoint for Owner model.

        Cannot edit or delete
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Owner'
          description: ''
  /api/user/roles/:
    get:
      operationId: api_user_roles_retrieve
      description: Return the list of roles / permissions available to the current
        user.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/user/token/:
    get:
      operationId: api_user_token_retrieve
      description: |-
        Return an API token if the user is authenticated.

        - If the user already has a matching token, delete it and create a new one
        - Existing tokens are *never* exposed again via the API
        - Once the token is provided, it can be used for auth until it expires
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/version/:
    get:
      operationId: api_version_retrieve
      description: Return information about the InvenTree server.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/version-text:
    get:
      operationId: api_version_text_retrieve
      description: Simple JSON endpoint for InvenTree version text.
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/web/ui_preference/:
    get:
      operationId: api_web_ui_preference_retrieve
      description: Set preferred UI (CIU/PUI).
      tags:
      - api
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Preferred'
          description: ''
    put:
      operationId: api_web_ui_preference_update
      description: Set preferred UI (CIU/PUI).
      tags:
      - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Preferred'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Preferred'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Preferred'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Preferred'
          description: ''
  /api/webhook/{endpoint}/:
    post:
      operationId: api_webhook_create
      description: Process incoming webhook.
      parameters:
      - in: path
        name: endpoint
        schema:
          type: string
        required: true
      tags:
      - api
      responses:
        '200':
          description: No response body
components:
  schemas:
    AcceptOverallocatedEnum:
      enum:
      - reject
      - accept
      - trim
      type: string
      description: |-
        * `reject` - Not permitted
        * `accept` - Accept as consumed by this build order
        * `trim` - Deallocate before completing this build order
    Address:
      type: object
      description: Serializer for the Address Model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        company:
          type: integer
          description: Select company
        title:
          type: string
          title: Address title
          description: Title describing the address entry
          maxLength: 100
        primary:
          type: boolean
          title: Primary address
          description: Set as primary address
        line1:
          type: string
          title: Line 1
          description: Address line 1
          maxLength: 50
        line2:
          type: string
          title: Line 2
          description: Address line 2
          maxLength: 50
        postal_code:
          type: string
          description: Postal code
          maxLength: 10
        postal_city:
          type: string
          title: City/Region
          description: Postal code city/region
          maxLength: 50
        province:
          type: string
          title: State/Province
          description: State or province
          maxLength: 50
        country:
          type: string
          description: Address country
          maxLength: 50
        shipping_notes:
          type: string
          title: Courier shipping notes
          description: Notes for shipping courier
          maxLength: 100
        internal_shipping_notes:
          type: string
          description: Shipping notes for internal use
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to address information (external)
          maxLength: 200
      required:
      - company
      - pk
      - title
    AddressBrief:
      type: object
      description: Serializer for Address Model (limited).
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        line1:
          type: string
          title: Line 1
          description: Address line 1
          maxLength: 50
        line2:
          type: string
          title: Line 2
          description: Address line 2
          maxLength: 50
        postal_code:
          type: string
          description: Postal code
          maxLength: 10
        postal_city:
          type: string
          title: City/Region
          description: Postal code city/region
          maxLength: 50
        province:
          type: string
          title: State/Province
          description: State or province
          maxLength: 50
        country:
          type: string
          description: Address country
          maxLength: 50
        shipping_notes:
          type: string
          title: Courier shipping notes
          description: Notes for shipping courier
          maxLength: 100
        internal_shipping_notes:
          type: string
          description: Shipping notes for internal use
          maxLength: 100
      required:
      - pk
    BOMReport:
      type: object
      description: Serializer class for the BillOfMaterialsReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          title: Part Filters
          description: Part query filters (comma-separated list of key=value pairs
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    BOMValidate:
      type: object
      description: Simple serializer class for validating a single BomItem instance.
      properties:
        checksum:
          type: string
          readOnly: true
        valid:
          type: boolean
          writeOnly: true
          default: false
          description: Validate entire Bill of Materials
      required:
      - checksum
    Barcode:
      type: object
      description: Generic serializer for receiving barcode data.
      properties:
        barcode:
          type: string
          description: Scanned barcode data
          maxLength: 4095
      required:
      - barcode
    BarcodeAssign:
      type: object
      description: Serializer class for linking a barcode to an internal model.
      properties:
        barcode:
          type: string
          description: Scanned barcode data
          maxLength: 4095
        build:
          type: integer
          nullable: true
          title: Build Order
        manufacturerpart:
          type: integer
          nullable: true
          title: manufacturer part
        supplierpart:
          type: integer
          nullable: true
          title: supplier part
        purchaseorder:
          type: integer
          nullable: true
          title: purchase order
        salesorder:
          type: integer
          nullable: true
          title: sales order
        returnorder:
          type: integer
          nullable: true
          title: return order
        part:
          type: integer
          nullable: true
        stocklocation:
          type: integer
          nullable: true
          title: Stock Location
        stockitem:
          type: integer
          nullable: true
          title: stock item
      required:
      - barcode
    BarcodePOAllocate:
      type: object
      description: |-
        Serializer for allocating items against a purchase order.

        The scanned barcode could be a Part, ManufacturerPart or SupplierPart object
      properties:
        barcode:
          type: string
          description: Scanned barcode data
          maxLength: 4095
        purchase_order:
          type: integer
          description: Purchase Order to allocate items against
      required:
      - barcode
      - purchase_order
    BarcodePOReceive:
      type: object
      description: |-
        Serializer for receiving items against a purchase order.

        The following additional fields may be specified:

        - purchase_order: PurchaseOrder object to receive items against
        - location: Location to receive items into
      properties:
        barcode:
          type: string
          description: Scanned barcode data
          maxLength: 4095
        purchase_order:
          type: integer
          nullable: true
          description: PurchaseOrder to receive items against
        location:
          type: integer
          nullable: true
          description: Location to receive items into
      required:
      - barcode
    BarcodeSOAllocate:
      type: object
      description: |-
        Serializr for allocating stock items to a sales order.

        The scanned barcode must map to a StockItem object
      properties:
        barcode:
          type: string
          description: Scanned barcode data
          maxLength: 4095
        sales_order:
          type: integer
          description: Sales Order to allocate items against
        line:
          type: integer
          nullable: true
          description: Sales order line item to allocate items against
        shipment:
          type: integer
          nullable: true
          description: Sales order shipment to allocate items against
        quantity:
          type: integer
          description: Quantity to allocate
      required:
      - barcode
      - sales_order
    BarcodeUnassign:
      type: object
      description: Serializer class for unlinking a barcode from an internal model.
      properties:
        build:
          type: integer
          nullable: true
          title: Build Order
        manufacturerpart:
          type: integer
          nullable: true
          title: manufacturer part
        supplierpart:
          type: integer
          nullable: true
          title: supplier part
        purchaseorder:
          type: integer
          nullable: true
          title: purchase order
        salesorder:
          type: integer
          nullable: true
          title: sales order
        returnorder:
          type: integer
          nullable: true
          title: return order
        part:
          type: integer
          nullable: true
        stocklocation:
          type: integer
          nullable: true
          title: Stock Location
        stockitem:
          type: integer
          nullable: true
          title: stock item
    BlankEnum:
      enum:
      - ''
    BomImportExtract:
      type: object
      description: |-
        Serializer class for exatracting BOM data from an uploaded file.

        The parent class DataFileExtractSerializer does most of the heavy lifting here.
      properties:
        columns:
          type: array
          items:
            type: string
        rows:
          type: array
          items:
            type: array
            items:
              type: string
              nullable: true
      required:
      - columns
      - rows
    BomImportSubmit:
      type: object
      description: |-
        Serializer for uploading a BOM against a specified part.

        A "BOM" is a set of BomItem objects which are to be validated together as a set
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BomItem'
      required:
      - items
    BomImportUpload:
      type: object
      description: Serializer for uploading a file and extracting data from it.
      properties:
        data_file:
          type: string
          format: uri
          description: Select data file for upload
        part:
          type: integer
        clear_existing_bom:
          type: boolean
          description: Delete existing BOM items before uploading
      required:
      - clear_existing_bom
      - data_file
      - part
    BomItem:
      type: object
      description: Serializer for BomItem object.
      properties:
        allow_variants:
          type: boolean
          description: Stock items for variant parts can be used for this BOM item
        inherited:
          type: boolean
          title: Gets inherited
          description: This BOM item is inherited by BOMs for variant parts
        note:
          type: string
          description: BOM item notes
          maxLength: 500
        optional:
          type: boolean
          description: This BOM item is optional
        consumable:
          type: boolean
          description: This BOM item is consumable (it is not tracked in build orders)
        overage:
          type: string
          description: Estimated build wastage quantity (absolute or percentage)
          maxLength: 24
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        pricing_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        pricing_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: BOM item reference
          maxLength: 5000
        sub_part:
          type: integer
        substitutes:
          type: array
          items:
            $ref: '#/components/schemas/BomItemSubstitute'
          readOnly: true
        validated:
          type: boolean
          description: This BOM item has been validated
        available_stock:
          type: number
          format: double
          readOnly: true
        available_substitute_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        on_order:
          type: number
          format: double
          readOnly: true
        building:
          type: number
          format: double
          readOnly: true
          title: In Production
      required:
      - available_stock
      - available_substitute_stock
      - available_variant_stock
      - building
      - on_order
      - part
      - pk
      - pricing_max
      - pricing_min
      - quantity
      - sub_part
      - substitutes
    BomItemSubstitute:
      type: object
      description: Serializer for the BomItemSubstitute class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        bom_item:
          type: integer
          description: Parent BOM item
        part:
          type: integer
          description: Substitute part
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
      required:
      - bom_item
      - part
      - part_detail
      - pk
    BomItemValidation:
      type: object
      description: Simple serializer for passing a single boolean field.
      properties:
        valid:
          type: boolean
          default: false
    Build:
      type: object
      description: Serializes a Build object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        url:
          type: string
          readOnly: true
        title:
          type: string
          title: Description
          description: Brief description of the build (optional)
          maxLength: 100
        barcode_hash:
          type: string
          readOnly: true
        batch:
          type: string
          nullable: true
          title: Batch Code
          description: Batch code for this build output
          maxLength: 100
        creation_date:
          type: string
          format: date
          readOnly: true
        completed:
          type: integer
          readOnly: true
          title: Completed items
          description: Number of stock items which have been completed
        completion_date:
          type: string
          format: date
          nullable: true
        destination:
          type: integer
          nullable: true
          title: Destination Location
          description: Select location where the completed items will be stored
        parent:
          type: integer
          nullable: true
          title: Parent Build
          description: BuildOrder to which this build is allocated
        part:
          type: integer
          description: Select part to build
        project_code:
          type: integer
          nullable: true
          description: Project code for this build order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        reference:
          type: string
        sales_order:
          type: integer
          nullable: true
          title: Sales Order Reference
          description: SalesOrder to which this build is allocated
        quantity:
          type: number
          format: double
        status:
          allOf:
          - $ref: '#/components/schemas/BuildStatusEnum'
          readOnly: true
          title: Build Status
          description: |-
            Build status code

            * `10` - Pending
            * `20` - Production
            * `30` - Cancelled
            * `40` - Complete
        status_text:
          type: string
          readOnly: true
        target_date:
          type: string
          format: date
          nullable: true
          title: Target completion date
          description: Target date for build completion. Build will be overdue after
            this date.
        take_from:
          type: integer
          nullable: true
          title: Source Location
          description: Select location to take stock from for this build (leave blank
            to take from any stock location)
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        link:
          type: string
          format: uri
          title: External Link
          description: Link to external URL
          maxLength: 200
        issued_by:
          type: integer
          nullable: true
          description: User who issued this build order
        issued_by_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this build order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        priority:
          type: integer
          minimum: 0
          title: Build Priority
          description: Priority of this build order
      required:
      - barcode_hash
      - completed
      - creation_date
      - issued_by_detail
      - overdue
      - part
      - pk
      - project_code_detail
      - quantity
      - reference
      - responsible_detail
      - status
      - status_text
      - url
    BuildAllocation:
      type: object
      description: DRF serializer for allocation stock items against a build order.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BuildAllocationItem'
      required:
      - items
    BuildAllocationItem:
      type: object
      description: A serializer for allocating a single stock item against a build
        order.
      properties:
        build_line:
          type: integer
          title: Build Line Item
        stock_item:
          type: integer
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
        output:
          type: integer
          nullable: true
          title: Build Output
      required:
      - build_line
      - quantity
      - stock_item
    BuildAttachment:
      type: object
      description: Serializer for a BuildAttachment.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        build:
          type: integer
      required:
      - build
      - pk
      - upload_date
      - user_detail
    BuildAutoAllocation:
      type: object
      description: DRF serializer for auto allocating stock items against a build
        order.
      properties:
        location:
          type: integer
          nullable: true
          title: Source Location
          description: Stock location where parts are to be sourced (leave blank to
            take from any location)
        exclude_location:
          type: integer
          nullable: true
          description: Exclude stock items from this selected location
        interchangeable:
          type: boolean
          default: false
          title: Interchangeable Stock
          description: Stock items in multiple locations can be used interchangeably
        substitutes:
          type: boolean
          default: true
          title: Substitute Stock
          description: Allow allocation of substitute parts
        optional_items:
          type: boolean
          default: false
          description: Allocate optional BOM items to build order
    BuildCancel:
      type: object
      description: DRF serializer class for cancelling an active BuildOrder
      properties:
        remove_allocated_stock:
          type: boolean
          default: false
          description: Subtract any stock which has already been allocated to this
            build
        remove_incomplete_outputs:
          type: boolean
          default: false
          description: Delete any build outputs which have not been completed
    BuildComplete:
      type: object
      description: DRF serializer for marking a BuildOrder as complete.
      properties:
        accept_overallocated:
          allOf:
          - $ref: '#/components/schemas/AcceptOverallocatedEnum'
          default: reject
          title: Overallocated Stock
          description: |-
            How do you want to handle extra stock items assigned to the build order

            * `reject` - Not permitted
            * `accept` - Accept as consumed by this build order
            * `trim` - Deallocate before completing this build order
        accept_unallocated:
          type: boolean
          default: false
          description: Accept that stock items have not been fully allocated to this
            build order
        accept_incomplete:
          type: boolean
          default: false
          description: Accept that the required number of build outputs have not been
            completed
    BuildItem:
      type: object
      description: Serializes a BuildItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        build:
          type: integer
          readOnly: true
        build_line:
          type: integer
          nullable: true
        install_into:
          type: integer
          nullable: true
          description: Destination stock item
        stock_item:
          type: integer
          description: Source stock item
        quantity:
          type: number
          format: double
        location_detail:
          allOf:
          - $ref: '#/components/schemas/Location'
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        stock_item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItemSerializerBrief'
          readOnly: true
      required:
      - build
      - build_line
      - install_into
      - location_detail
      - part_detail
      - pk
      - quantity
      - stock_item
      - stock_item_detail
    BuildLine:
      type: object
      description: Serializer for a BuildItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        build:
          type: integer
          readOnly: true
          description: Build object
        bom_item:
          type: integer
          readOnly: true
        bom_item_detail:
          allOf:
          - $ref: '#/components/schemas/BomItem'
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/Part'
          readOnly: true
        quantity:
          type: number
          format: double
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/BuildItem'
          readOnly: true
        allocated:
          type: number
          format: double
          readOnly: true
          title: Allocated Stock
        in_production:
          type: number
          format: double
          readOnly: true
        on_order:
          type: number
          format: double
          readOnly: true
        available_stock:
          type: number
          format: double
          readOnly: true
        available_substitute_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        total_available_stock:
          type: number
          format: double
          readOnly: true
      required:
      - allocated
      - allocations
      - available_stock
      - available_substitute_stock
      - available_variant_stock
      - bom_item
      - bom_item_detail
      - build
      - in_production
      - on_order
      - part_detail
      - pk
      - quantity
      - total_available_stock
    BuildLineLabel:
      type: object
      description: Serializes a BuildLineLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
      required:
      - label
      - name
      - pk
    BuildOutput:
      type: object
      description: |-
        Serializer for a "BuildOutput".

        Note that a "BuildOutput" is really just a StockItem which is "in production"!
      properties:
        output:
          type: integer
          title: Build Output
      required:
      - output
    BuildOutputComplete:
      type: object
      description: DRF serializer for completing one or more build outputs.
      properties:
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/BuildOutput'
        location:
          type: integer
          description: Location for completed build outputs
        status:
          allOf:
          - $ref: '#/components/schemas/Status46bEnum'
          default: 10
        accept_incomplete_allocation:
          type: boolean
          default: false
          description: Complete outputs if stock has not been fully allocated
        notes:
          type: string
      required:
      - location
      - outputs
    BuildOutputCreate:
      type: object
      description: |-
        Serializer for creating a new BuildOutput against a BuildOrder.

        URL pattern is "/api/build/<pk>/create-output/", where <pk> is the PK of a Build.

        The Build object is provided to the serializer context.
      properties:
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
          description: Enter quantity for build output
        batch_code:
          type: string
          description: Batch code for this build output
        serial_numbers:
          type: string
          description: Enter serial numbers for build outputs
        auto_allocate:
          type: boolean
          nullable: true
          default: false
          title: Auto Allocate Serial Numbers
          description: Automatically allocate required items with matching serial
            numbers
      required:
      - quantity
    BuildOutputDelete:
      type: object
      description: DRF serializer for deleting (cancelling) one or more build outputs.
      properties:
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/BuildOutput'
      required:
      - outputs
    BuildOutputQuantity:
      type: object
      description: Serializer for a single build output, with additional quantity
        field
      properties:
        output:
          type: integer
          title: Build Output
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
          description: Enter quantity for build output
      required:
      - output
      - quantity
    BuildOutputScrap:
      type: object
      description: DRF serializer for scrapping one or more build outputs
      properties:
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/BuildOutputQuantity'
        location:
          type: integer
          description: Stock location for scrapped outputs
        discard_allocations:
          type: boolean
          default: false
          description: Discard any stock allocations for scrapped outputs
        notes:
          type: string
          description: Reason for scrapping build output(s)
      required:
      - location
      - notes
      - outputs
    BuildReport:
      type: object
      description: Serializer class for the BuildReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          title: Build Filters
          description: Build query filters (comma-separated list of key=value pairs
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    BuildStatusEnum:
      enum:
      - 10
      - 20
      - 30
      - 40
      type: integer
      description: |-
        * `10` - Pending
        * `20` - Production
        * `30` - Cancelled
        * `40` - Complete
    BuildUnallocation:
      type: object
      description: |-
        DRF serializer for unallocating stock from a BuildOrder.

        Allocated stock can be unallocated with a number of filters:

        - output: Filter against a particular build output (blank = untracked stock)
        - bom_item: Filter against a particular BOM line item
      properties:
        build_line:
          type: integer
          nullable: true
        output:
          type: integer
          nullable: true
          title: Build output
    Category:
      type: object
      description: Serializer for PartCategory.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        description:
          type: string
          description: Description (optional)
          maxLength: 250
        default_location:
          type: integer
          nullable: true
          description: Default location for parts in this category
        default_keywords:
          type: string
          nullable: true
          description: Default keywords for parts in this category
          maxLength: 250
        level:
          type: integer
          readOnly: true
        parent:
          type: integer
          nullable: true
        part_count:
          type: integer
          readOnly: true
        pathstring:
          type: string
          title: Path
          description: Path
          maxLength: 250
        starred:
          type: string
          readOnly: true
        url:
          type: string
          readOnly: true
        structural:
          type: boolean
          description: Parts may not be directly assigned to a structural category,
            but may be assigned to child categories.
        icon:
          type: string
          description: Icon (optional)
          maxLength: 100
      required:
      - level
      - name
      - part_count
      - pk
      - starred
      - url
    CategoryParameterTemplate:
      type: object
      description: Serializer for the PartCategoryParameterTemplate model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        category:
          type: integer
          description: Part Category
        category_detail:
          allOf:
          - $ref: '#/components/schemas/Category'
          readOnly: true
        parameter_template:
          type: integer
          description: Parameter Template
        parameter_template_detail:
          allOf:
          - $ref: '#/components/schemas/PartParameterTemplate'
          readOnly: true
        default_value:
          type: string
          description: Default Parameter Value
          maxLength: 500
      required:
      - category
      - category_detail
      - parameter_template
      - parameter_template_detail
      - pk
    CategoryTree:
      type: object
      description: Serializer for PartCategory tree.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        parent:
          type: integer
          nullable: true
        icon:
          type: string
          description: Icon (optional)
          maxLength: 100
        structural:
          type: boolean
          description: Parts may not be directly assigned to a structural category,
            but may be assigned to child categories.
      required:
      - name
      - pk
    Company:
      type: object
      description: Serializer for Company object (full detail).
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        url:
          type: string
          readOnly: true
        name:
          type: string
          title: Company name
          description: Company name
          maxLength: 100
        description:
          type: string
          title: Company description
          description: Description of the company
          maxLength: 500
        website:
          type: string
          format: uri
          description: Company website URL
          maxLength: 200
        phone:
          type: string
          title: Phone number
          description: Contact phone number
          maxLength: 50
        address:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          nullable: true
          description: Contact email address
          maxLength: 254
        currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          description: |-
            Default currency used for this supplier

            * `EUR` - Euro
            * `USD` - US Dollar
        contact:
          type: string
          description: Point of contact
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to external company information
          maxLength: 200
        image:
          type: string
          format: uri
          nullable: true
        is_customer:
          type: boolean
          description: Do you sell items to this company?
        is_manufacturer:
          type: boolean
          description: Does this company manufacture parts?
        is_supplier:
          type: boolean
          description: Do you purchase items from this company?
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        parts_supplied:
          type: integer
          readOnly: true
        parts_manufactured:
          type: integer
          readOnly: true
        remote_image:
          type: string
          format: uri
          writeOnly: true
          description: URL of remote image file
        address_count:
          type: integer
          readOnly: true
        primary_address:
          allOf:
          - $ref: '#/components/schemas/Address'
          readOnly: true
          nullable: true
      required:
      - address
      - address_count
      - currency
      - name
      - parts_manufactured
      - parts_supplied
      - pk
      - primary_address
      - url
    CompanyAttachment:
      type: object
      description: Serializer for the CompanyAttachment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        company:
          type: integer
      required:
      - company
      - pk
      - upload_date
      - user_detail
    CompanyBrief:
      type: object
      description: Serializer for Company object (limited detail).
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        url:
          type: string
          readOnly: true
        name:
          type: string
          title: Company name
          description: Company name
          maxLength: 100
        description:
          type: string
          title: Company description
          description: Description of the company
          maxLength: 500
        image:
          type: string
          readOnly: true
      required:
      - image
      - name
      - pk
      - url
    Contact:
      type: object
      description: Serializer class for the Contact model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        company:
          type: integer
        name:
          type: string
          maxLength: 100
        phone:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          maxLength: 254
        role:
          type: string
          maxLength: 100
      required:
      - company
      - name
      - pk
    ConvertStockItem:
      type: object
      description: DRF serializer class for converting a StockItem to a valid variant
        part.
      properties:
        part:
          type: integer
          description: Select part to convert stock item into
      required:
      - part
    CustomUnit:
      type: object
      description: DRF serializer for CustomUnit model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Unit name
          maxLength: 50
        symbol:
          type: string
          description: Optional unit symbol
          maxLength: 10
        definition:
          type: string
          description: Unit definition
          maxLength: 50
      required:
      - definition
      - name
      - pk
    EmailAddress:
      type: object
      description: Serializer for the EmailAddress model.
      properties:
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
        verified:
          type: boolean
        primary:
          type: boolean
        user:
          type: integer
      required:
      - email
      - id
      - user
    ErrorMessage:
      type: object
      description: DRF serializer for server error messages.
      properties:
        when:
          type: string
          format: date-time
          readOnly: true
        info:
          type: string
          readOnly: true
        data:
          type: string
          readOnly: true
          nullable: true
        path:
          type: string
          format: uri
          readOnly: true
          nullable: true
          maxLength: 200
        pk:
          type: integer
          readOnly: true
          title: ID
      required:
      - data
      - info
      - path
      - pk
      - when
    ExendedUser:
      type: object
      description: Serializer for a User with a bit more info.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          readOnly: true
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_superuser:
          type: boolean
          title: Superuser status
          description: Designates that this user has all permissions without explicitly
            assigning them.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
      required:
      - groups
      - pk
      - username
    FailedTask:
      type: object
      description: Serializer for an individual failed task object.
      properties:
        pk:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        func:
          type: string
          maxLength: 256
        args:
          type: string
          readOnly: true
          nullable: true
        kwargs:
          type: string
          readOnly: true
          nullable: true
        started:
          type: string
          format: date-time
          readOnly: true
        stopped:
          type: string
          format: date-time
          readOnly: true
        attempt_count:
          type: integer
        result:
          type: string
      required:
      - args
      - func
      - kwargs
      - name
      - pk
      - result
      - started
      - stopped
    GetSimpleLogin:
      type: object
      description: Serializer for the simple login view.
      properties:
        email:
          type: string
      required:
      - email
    GlobalSettings:
      type: object
      description: Serializer for the InvenTreeSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        units:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
      required:
      - api_url
      - choices
      - description
      - key
      - model_name
      - name
      - pk
      - typ
      - type
      - units
      - value
    Group:
      type: object
      description: Serializer for a 'Group'.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          maxLength: 150
      required:
      - name
      - pk
    InstallStockItem:
      type: object
      description: Serializer for installing a stock item into a given part.
      properties:
        stock_item:
          type: integer
          description: Select stock item to install
        quantity:
          type: integer
          minimum: 1
          default: 1
          title: Quantity to Install
          description: Enter the quantity of items to install
        note:
          type: string
          description: Add transaction note (optional)
      required:
      - stock_item
    Location:
      type: object
      description: Detailed information about a stock location.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        url:
          type: string
          readOnly: true
        name:
          type: string
          description: Name
          maxLength: 100
        level:
          type: integer
          readOnly: true
        description:
          type: string
          description: Description (optional)
          maxLength: 250
        parent:
          type: integer
          nullable: true
        pathstring:
          type: string
          title: Path
          description: Path
          maxLength: 250
        items:
          type: integer
          readOnly: true
        owner:
          type: integer
          nullable: true
          description: Select Owner
        icon:
          type: string
          readOnly: true
        custom_icon:
          type: string
          title: Icon
          description: Icon (optional)
          maxLength: 100
        structural:
          type: boolean
          description: Stock items may not be directly located into a structural stock
            locations, but may be located to child locations.
        external:
          type: boolean
          description: This is an external stock location
        location_type:
          type: integer
          nullable: true
          description: Stock location type of this location
        location_type_detail:
          allOf:
          - $ref: '#/components/schemas/StockLocationType'
          readOnly: true
        tags:
          type: array
          items:
            type: string
      required:
      - barcode_hash
      - icon
      - items
      - level
      - location_type_detail
      - name
      - pk
      - url
    LocationBrief:
      type: object
      description: Provides a brief serializer for a StockLocation object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        pathstring:
          type: string
          title: Path
          description: Path
          maxLength: 250
      required:
      - name
      - pk
    LocationTree:
      type: object
      description: Serializer for a simple tree view.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        parent:
          type: integer
          nullable: true
        icon:
          type: string
          readOnly: true
        structural:
          type: boolean
          description: Stock items may not be directly located into a structural stock
            locations, but may be located to child locations.
      required:
      - icon
      - name
      - pk
    Login:
      type: object
      properties:
        username:
          type: string
        email:
          type: string
          format: email
        password:
          type: string
      required:
      - password
    ManufacturerPart:
      type: object
      description: Serializer for ManufacturerPart object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
          title: Base Part
          description: Select part
        manufacturer:
          type: integer
        manufacturer_detail:
          allOf:
          - $ref: '#/components/schemas/CompanyBrief'
          readOnly: true
        description:
          type: string
          nullable: true
          description: Manufacturer part description
          maxLength: 250
        MPN:
          type: string
          nullable: true
          description: Manufacturer Part Number
          maxLength: 100
        link:
          type: string
          format: uri
          nullable: true
          description: URL for external manufacturer part link
          maxLength: 200
        barcode_hash:
          type: string
          description: Unique hash of barcode data
          maxLength: 128
        tags:
          type: array
          items:
            type: string
      required:
      - MPN
      - manufacturer
      - manufacturer_detail
      - part
      - pk
    ManufacturerPartAttachment:
      type: object
      description: Serializer for the ManufacturerPartAttachment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        manufacturer_part:
          type: integer
      required:
      - manufacturer_part
      - pk
      - upload_date
      - user_detail
    ManufacturerPartParameter:
      type: object
      description: Serializer for the ManufacturerPartParameter model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        manufacturer_part:
          type: integer
        name:
          type: string
          description: Parameter name
          maxLength: 500
        value:
          type: string
          description: Parameter value
          maxLength: 500
        units:
          type: string
          nullable: true
          description: Parameter units
          maxLength: 64
      required:
      - manufacturer_part
      - name
      - pk
      - value
    NewsFeedEntry:
      type: object
      description: Serializer for the NewsFeedEntry model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        feed_id:
          type: string
          title: Id
          maxLength: 250
        title:
          type: string
          maxLength: 250
        link:
          type: string
          format: uri
          maxLength: 250
        published:
          type: string
          format: date-time
        author:
          type: string
          maxLength: 250
        summary:
          type: string
          maxLength: 250
        read:
          type: boolean
      required:
      - author
      - feed_id
      - link
      - pk
      - published
      - read
      - summary
      - title
    NotesImage:
      type: object
      description: Serializer for the NotesImage model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        image:
          type: string
          format: uri
        user:
          type: integer
          readOnly: true
          nullable: true
        date:
          type: string
          format: date-time
          readOnly: true
      required:
      - date
      - image
      - pk
      - user
    NotificationMessage:
      type: object
      description: Serializer for the InvenTreeUserSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        target:
          type: string
          readOnly: true
        source:
          type: string
          readOnly: true
        user:
          type: integer
          readOnly: true
        category:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        message:
          type: string
          readOnly: true
          nullable: true
        creation:
          type: string
          format: date-time
          readOnly: true
        age:
          type: string
          readOnly: true
        age_human:
          type: string
          readOnly: true
        read:
          type: boolean
      required:
      - age
      - age_human
      - category
      - creation
      - message
      - name
      - pk
      - read
      - source
      - target
      - user
    NotificationUserSetting:
      type: object
      description: Serializer for the PluginSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        method:
          type: string
          readOnly: true
      required:
      - api_url
      - choices
      - description
      - key
      - method
      - model_name
      - name
      - pk
      - typ
      - type
      - value
    NullEnum:
      enum:
      - null
    OutcomeEnum:
      enum:
      - 10
      - 20
      - 30
      - 40
      - 50
      - 60
      type: integer
      description: |-
        * `10` - Pending
        * `20` - Return
        * `30` - Repair
        * `40` - Replace
        * `50` - Refund
        * `60` - Reject
    Owner:
      type: object
      description: Serializer for an "Owner" (either a "user" or a "group").
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        owner_id:
          type: integer
          nullable: true
        name:
          type: string
          readOnly: true
        label:
          type: string
          readOnly: true
      required:
      - label
      - name
      - pk
    PaginatedAddressList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Address'
    PaginatedBOMReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BOMReport'
    PaginatedBomItemList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BomItem'
    PaginatedBomItemSubstituteList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BomItemSubstitute'
    PaginatedBuildAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BuildAttachment'
    PaginatedBuildItemList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BuildItem'
    PaginatedBuildLineLabelList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BuildLineLabel'
    PaginatedBuildLineList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BuildLine'
    PaginatedBuildList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Build'
    PaginatedBuildReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/BuildReport'
    PaginatedCategoryList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Category'
    PaginatedCategoryParameterTemplateList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CategoryParameterTemplate'
    PaginatedCategoryTreeList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CategoryTree'
    PaginatedCompanyAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CompanyAttachment'
    PaginatedCompanyList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Company'
    PaginatedContactList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
    PaginatedCustomUnitList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/CustomUnit'
    PaginatedEmailAddressList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddress'
    PaginatedErrorMessageList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ErrorMessage'
    PaginatedFailedTaskList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/FailedTask'
    PaginatedGlobalSettingsList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/GlobalSettings'
    PaginatedGroupList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Group'
    PaginatedLocationList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Location'
    PaginatedLocationTreeList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/LocationTree'
    PaginatedManufacturerPartAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ManufacturerPartAttachment'
    PaginatedManufacturerPartList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ManufacturerPart'
    PaginatedManufacturerPartParameterList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ManufacturerPartParameter'
    PaginatedNewsFeedEntryList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/NewsFeedEntry'
    PaginatedNotesImageList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/NotesImage'
    PaginatedNotificationMessageList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/NotificationMessage'
    PaginatedNotificationUserSettingList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/NotificationUserSetting'
    PaginatedOwnerList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Owner'
    PaginatedPartAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartAttachment'
    PaginatedPartInternalPriceList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartInternalPrice'
    PaginatedPartLabelList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartLabel'
    PaginatedPartParameterList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartParameter'
    PaginatedPartParameterTemplateList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartParameterTemplate'
    PaginatedPartRelationList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartRelation'
    PaginatedPartSalePriceList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartSalePrice'
    PaginatedPartStocktakeList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartStocktake'
    PaginatedPartStocktakeReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartStocktakeReport'
    PaginatedPartTestTemplateList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartTestTemplate'
    PaginatedPartThumbList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PartThumb'
    PaginatedPendingTaskList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PendingTask'
    PaginatedPluginConfigList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PluginConfig'
    PaginatedPluginSettingList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PluginSetting'
    PaginatedProjectCodeList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ProjectCode'
    PaginatedPurchaseOrderAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrderAttachment'
    PaginatedPurchaseOrderExtraLineList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrderExtraLine'
    PaginatedPurchaseOrderLineItemList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrderLineItem'
    PaginatedPurchaseOrderList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrder'
    PaginatedPurchaseOrderReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrderReport'
    PaginatedReturnOrderAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReturnOrderAttachment'
    PaginatedReturnOrderExtraLineList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReturnOrderExtraLine'
    PaginatedReturnOrderLineItemList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReturnOrderLineItem'
    PaginatedReturnOrderList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReturnOrder'
    PaginatedReturnOrderReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReturnOrderReport'
    PaginatedSalesOrderAllocationList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderAllocation'
    PaginatedSalesOrderAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderAttachment'
    PaginatedSalesOrderExtraLineList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderExtraLine'
    PaginatedSalesOrderLineItemList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderLineItem'
    PaginatedSalesOrderList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrder'
    PaginatedSalesOrderReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderReport'
    PaginatedSalesOrderShipmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderShipment'
    PaginatedScheduledTaskList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledTask'
    PaginatedSocialAccountList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SocialAccount'
    PaginatedStockItemAttachmentList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockItemAttachment'
    PaginatedStockItemLabelList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockItemLabel'
    PaginatedStockItemList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockItem'
    PaginatedStockItemTestResultList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockItemTestResult'
    PaginatedStockLocationLabelList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockLocationLabel'
    PaginatedStockLocationReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockLocationReport'
    PaginatedStockLocationTypeList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockLocationType'
    PaginatedStockTrackingList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/StockTracking'
    PaginatedSupplierPartList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SupplierPart'
    PaginatedSupplierPriceBreakList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/SupplierPriceBreak'
    PaginatedTestReportList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/TestReport'
    PaginatedUserCreateList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/UserCreate'
    PaginatedUserSettingsList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/UserSettings'
    Part:
      type: object
      description: |-
        Serializer for complete detail information of a part.

        Used when displaying all details of a single component.
      properties:
        active:
          type: boolean
          description: Is this part active?
        assembly:
          type: boolean
          description: Can this part be built from other parts?
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        category:
          type: integer
        component:
          type: boolean
          description: Can this part be used to build other parts?
        creation_date:
          type: string
          format: date
          readOnly: true
          nullable: true
        creation_user:
          type: integer
          nullable: true
        default_expiry:
          type: integer
          minimum: 0
          description: Expiry time (in days) for stock items of this part
        default_location:
          type: integer
          nullable: true
          description: Where is this item normally stored?
        default_supplier:
          type: integer
          nullable: true
          description: Default supplier part
        description:
          type: string
          description: Part description (optional)
          maxLength: 250
        full_name:
          type: string
          readOnly: true
        image:
          type: string
          format: uri
          nullable: true
        remote_image:
          type: string
          format: uri
          writeOnly: true
          description: URL of remote image file
        existing_image:
          type: string
          writeOnly: true
          description: Filename of an existing part image
        IPN:
          type: string
          nullable: true
          description: Internal Part Number
          maxLength: 100
        is_template:
          type: boolean
          description: Is this part a template part?
        keywords:
          type: string
          nullable: true
          description: Part keywords to improve visibility in search results
          maxLength: 250
        last_stocktake:
          type: string
          format: date
          nullable: true
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        minimum_stock:
          type: number
          format: double
        name:
          type: string
          description: Part name
          maxLength: 100
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        pk:
          type: integer
          readOnly: true
          title: ID
        purchaseable:
          type: boolean
          description: Can this part be purchased from external suppliers?
        revision:
          type: string
          nullable: true
          description: Part revision or version number
          maxLength: 100
        salable:
          type: boolean
          description: Can this part be sold to customers?
        starred:
          type: string
          readOnly: true
        thumbnail:
          type: string
          readOnly: true
        trackable:
          type: boolean
          description: Does this part have tracking for unique items?
        units:
          type: string
          nullable: true
          description: Units of measure for this part
          maxLength: 20
        variant_of:
          type: integer
          nullable: true
          description: Is this part a variant of another part?
        virtual:
          type: boolean
          description: Is this a virtual part, such as a software product or license?
        responsible:
          type: integer
          nullable: true
        allocated_to_build_orders:
          type: number
          format: double
          readOnly: true
        allocated_to_sales_orders:
          type: number
          format: double
          readOnly: true
        building:
          type: number
          format: double
          readOnly: true
        in_stock:
          type: number
          format: double
          readOnly: true
        ordering:
          type: number
          format: double
          readOnly: true
        required_for_build_orders:
          type: integer
          readOnly: true
        required_for_sales_orders:
          type: integer
          readOnly: true
        stock_item_count:
          type: integer
          readOnly: true
        suppliers:
          type: integer
          readOnly: true
        total_in_stock:
          type: number
          format: double
          readOnly: true
        unallocated_stock:
          type: number
          format: double
          readOnly: true
        variant_stock:
          type: number
          format: double
          readOnly: true
        tags:
          type: array
          items:
            type: string
      required:
      - allocated_to_build_orders
      - allocated_to_sales_orders
      - barcode_hash
      - building
      - category
      - creation_date
      - full_name
      - in_stock
      - minimum_stock
      - name
      - ordering
      - pk
      - required_for_build_orders
      - required_for_sales_orders
      - starred
      - stock_item_count
      - suppliers
      - thumbnail
      - total_in_stock
      - unallocated_stock
      - variant_stock
    PartAttachment:
      type: object
      description: Serializer for the PartAttachment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        part:
          type: integer
      required:
      - part
      - pk
      - upload_date
      - user_detail
    PartBrief:
      type: object
      description: Serializer for Part (brief detail).
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        IPN:
          type: string
          nullable: true
          description: Internal Part Number
          maxLength: 100
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        default_location:
          type: integer
          nullable: true
          description: Where is this item normally stored?
        name:
          type: string
          description: Part name
          maxLength: 100
        revision:
          type: string
          nullable: true
          description: Part revision or version number
          maxLength: 100
        full_name:
          type: string
          readOnly: true
        description:
          type: string
          description: Part description (optional)
          maxLength: 250
        thumbnail:
          type: string
          readOnly: true
        active:
          type: boolean
          description: Is this part active?
        assembly:
          type: boolean
          description: Can this part be built from other parts?
        is_template:
          type: boolean
          description: Is this part a template part?
        purchaseable:
          type: boolean
          description: Can this part be purchased from external suppliers?
        salable:
          type: boolean
          description: Can this part be sold to customers?
        trackable:
          type: boolean
          description: Does this part have tracking for unique items?
        virtual:
          type: boolean
          description: Is this a virtual part, such as a software product or license?
        units:
          type: string
          nullable: true
          description: Units of measure for this part
          maxLength: 20
      required:
      - barcode_hash
      - full_name
      - name
      - pk
      - thumbnail
    PartCopyBOM:
      type: object
      description: Serializer for copying a BOM from another part.
      properties:
        part:
          type: integer
          description: Select part to copy BOM from
        remove_existing:
          type: boolean
          default: true
          title: Remove Existing Data
          description: Remove existing BOM items before copying
        include_inherited:
          type: boolean
          default: false
          description: Include BOM items which are inherited from templated parts
        skip_invalid:
          type: boolean
          default: false
          title: Skip Invalid Rows
          description: Enable this option to skip invalid rows
        copy_substitutes:
          type: boolean
          default: true
          title: Copy Substitute Parts
          description: Copy substitute parts when duplicate BOM items
      required:
      - part
    PartInternalPrice:
      type: object
      description: Serializer for internal prices for Part model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        quantity:
          type: number
          format: double
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase currency of this stock item

            * `EUR` - Euro
            * `USD` - US Dollar
      required:
      - part
      - pk
      - quantity
    PartLabel:
      type: object
      description: Serializes a PartLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
      required:
      - label
      - name
      - pk
    PartParameter:
      type: object
      description: JSON serializers for the PartParameter model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
          description: Parent Part
        template:
          type: integer
          description: Parameter Template
        template_detail:
          allOf:
          - $ref: '#/components/schemas/PartParameterTemplate'
          readOnly: true
        data:
          type: string
          description: Parameter Value
          maxLength: 500
          minLength: 1
        data_numeric:
          type: number
          format: double
          nullable: true
      required:
      - data
      - part
      - pk
      - template
      - template_detail
    PartParameterTemplate:
      type: object
      description: JSON serializer for the PartParameterTemplate model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Parameter Name
          maxLength: 100
        units:
          type: string
          description: Physical units for this parameter
          maxLength: 25
        description:
          type: string
          description: Parameter description
          maxLength: 250
        checkbox:
          type: boolean
          description: Is this parameter a checkbox?
        choices:
          type: string
          description: Valid choices for this parameter (comma-separated)
          maxLength: 5000
      required:
      - name
      - pk
    PartPricing:
      type: object
      description: Serializer for Part pricing information.
      properties:
        currency:
          type: string
          readOnly: true
          nullable: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        scheduled_for_update:
          type: boolean
          readOnly: true
        bom_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        bom_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        purchase_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        purchase_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        internal_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        internal_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        supplier_price_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        supplier_price_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        variant_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        variant_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        override_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
          title: Minimum Price
          description: Override calculated value for minimum price
        override_min_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Minimum price currency
        override_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
          title: Maximum Price
          description: Override calculated value for maximum price
        override_max_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Maximum price currency
        overall_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        overall_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_price_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_price_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_history_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_history_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        update:
          type: boolean
          writeOnly: true
          nullable: true
          default: false
          description: Update pricing for this part
      required:
      - bom_cost_max
      - bom_cost_min
      - currency
      - internal_cost_max
      - internal_cost_min
      - overall_max
      - overall_min
      - purchase_cost_max
      - purchase_cost_min
      - sale_history_max
      - sale_history_min
      - sale_price_max
      - sale_price_min
      - scheduled_for_update
      - supplier_price_max
      - supplier_price_min
      - updated
      - variant_cost_max
      - variant_cost_min
    PartRelation:
      type: object
      description: Serializer for a PartRelated model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part_1:
          type: integer
        part_1_detail:
          allOf:
          - $ref: '#/components/schemas/Part'
          readOnly: true
        part_2:
          type: integer
          description: Select Related Part
        part_2_detail:
          allOf:
          - $ref: '#/components/schemas/Part'
          readOnly: true
      required:
      - part_1
      - part_1_detail
      - part_2
      - part_2_detail
      - pk
    PartSalePrice:
      type: object
      description: Serializer for sale prices for Part model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        quantity:
          type: number
          format: double
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase currency of this stock item

            * `EUR` - Euro
            * `USD` - US Dollar
      required:
      - part
      - pk
      - quantity
    PartSetCategory:
      type: object
      description: Serializer for changing PartCategory for multiple Part objects.
      properties:
        parts:
          type: array
          items:
            type: integer
            title: Parts
        category:
          type: integer
          description: Select category
      required:
      - category
      - parts
    PartStocktake:
      type: object
      description: Serializer for the PartStocktake model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        date:
          type: string
          format: date
          readOnly: true
          description: Date stocktake was performed
        part:
          type: integer
          description: Part for stocktake
        item_count:
          type: integer
          description: Number of individual stock entries at time of stocktake
        quantity:
          type: number
          format: double
        cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        cost_min_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        cost_max_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        note:
          type: string
          title: Notes
          description: Additional notes
          maxLength: 250
        user:
          type: integer
          readOnly: true
          nullable: true
          description: User who performed this stocktake
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
      required:
      - date
      - part
      - pk
      - quantity
      - user
      - user_detail
    PartStocktakeReport:
      type: object
      description: Serializer for stocktake report class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        date:
          type: string
          format: date
          readOnly: true
        report:
          type: string
          format: uri
          readOnly: true
        part_count:
          type: integer
          description: Number of parts covered by stocktake
        user:
          type: integer
          nullable: true
          description: User who requested this stocktake report
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
      required:
      - date
      - pk
      - report
      - user_detail
    PartStocktakeReportGenerate:
      type: object
      description: Serializer class for manually generating a new PartStocktakeReport
        via the API.
      properties:
        part:
          type: integer
          nullable: true
          description: Limit stocktake report to a particular part, and any variant
            parts
        category:
          type: integer
          nullable: true
          description: Limit stocktake report to a particular part category, and any
            child categories
        location:
          type: integer
          nullable: true
          description: Limit stocktake report to a particular stock location, and
            any child locations
        exclude_external:
          type: boolean
          default: true
          title: Exclude External Stock
          description: Exclude stock items in external locations
        generate_report:
          type: boolean
          default: true
          description: Generate report file containing calculated stocktake data
        update_parts:
          type: boolean
          default: true
          description: Update specified parts with calculated stocktake data
    PartTestTemplate:
      type: object
      description: Serializer for the PartTestTemplate class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        part:
          type: integer
        test_name:
          type: string
          description: Enter a name for the test
          maxLength: 100
        description:
          type: string
          nullable: true
          title: Test Description
          description: Enter description for this test
          maxLength: 100
        required:
          type: boolean
          description: Is this test required to pass?
        requires_value:
          type: boolean
          description: Does this test require a value when adding a test result?
        requires_attachment:
          type: boolean
          description: Does this test require a file attachment when adding a test
            result?
      required:
      - key
      - part
      - pk
      - test_name
    PartThumb:
      type: object
      description: |-
        Serializer for the 'image' field of the Part model.

        Used to serve and display existing Part images.
      properties:
        image:
          type: string
          format: uri
          readOnly: true
        count:
          type: integer
          readOnly: true
      required:
      - count
      - image
    PartThumbSerializerUpdate:
      type: object
      description: Serializer for updating Part thumbnail.
      properties:
        image:
          type: string
          format: uri
      required:
      - image
    PasswordChange:
      type: object
      properties:
        new_password1:
          type: string
          maxLength: 128
        new_password2:
          type: string
          maxLength: 128
      required:
      - new_password1
      - new_password2
    PasswordReset:
      type: object
      description: Serializer for requesting a password reset e-mail.
      properties:
        email:
          type: string
          format: email
      required:
      - email
    PasswordResetConfirm:
      type: object
      description: Serializer for confirming a password reset attempt.
      properties:
        new_password1:
          type: string
          maxLength: 128
        new_password2:
          type: string
          maxLength: 128
        uid:
          type: string
        token:
          type: string
      required:
      - new_password1
      - new_password2
      - token
      - uid
    PatchedAddress:
      type: object
      description: Serializer for the Address Model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        company:
          type: integer
          description: Select company
        title:
          type: string
          title: Address title
          description: Title describing the address entry
          maxLength: 100
        primary:
          type: boolean
          title: Primary address
          description: Set as primary address
        line1:
          type: string
          title: Line 1
          description: Address line 1
          maxLength: 50
        line2:
          type: string
          title: Line 2
          description: Address line 2
          maxLength: 50
        postal_code:
          type: string
          description: Postal code
          maxLength: 10
        postal_city:
          type: string
          title: City/Region
          description: Postal code city/region
          maxLength: 50
        province:
          type: string
          title: State/Province
          description: State or province
          maxLength: 50
        country:
          type: string
          description: Address country
          maxLength: 50
        shipping_notes:
          type: string
          title: Courier shipping notes
          description: Notes for shipping courier
          maxLength: 100
        internal_shipping_notes:
          type: string
          description: Shipping notes for internal use
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to address information (external)
          maxLength: 200
    PatchedBOMReport:
      type: object
      description: Serializer class for the BillOfMaterialsReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          title: Part Filters
          description: Part query filters (comma-separated list of key=value pairs
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedBOMValidate:
      type: object
      description: Simple serializer class for validating a single BomItem instance.
      properties:
        checksum:
          type: string
          readOnly: true
        valid:
          type: boolean
          writeOnly: true
          default: false
          description: Validate entire Bill of Materials
    PatchedBomItem:
      type: object
      description: Serializer for BomItem object.
      properties:
        allow_variants:
          type: boolean
          description: Stock items for variant parts can be used for this BOM item
        inherited:
          type: boolean
          title: Gets inherited
          description: This BOM item is inherited by BOMs for variant parts
        note:
          type: string
          description: BOM item notes
          maxLength: 500
        optional:
          type: boolean
          description: This BOM item is optional
        consumable:
          type: boolean
          description: This BOM item is consumable (it is not tracked in build orders)
        overage:
          type: string
          description: Estimated build wastage quantity (absolute or percentage)
          maxLength: 24
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        pricing_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        pricing_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: BOM item reference
          maxLength: 5000
        sub_part:
          type: integer
        substitutes:
          type: array
          items:
            $ref: '#/components/schemas/BomItemSubstitute'
          readOnly: true
        validated:
          type: boolean
          description: This BOM item has been validated
        available_stock:
          type: number
          format: double
          readOnly: true
        available_substitute_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        on_order:
          type: number
          format: double
          readOnly: true
        building:
          type: number
          format: double
          readOnly: true
          title: In Production
    PatchedBomItemSubstitute:
      type: object
      description: Serializer for the BomItemSubstitute class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        bom_item:
          type: integer
          description: Parent BOM item
        part:
          type: integer
          description: Substitute part
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
    PatchedBomItemValidation:
      type: object
      description: Simple serializer for passing a single boolean field.
      properties:
        valid:
          type: boolean
          default: false
    PatchedBuild:
      type: object
      description: Serializes a Build object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        url:
          type: string
          readOnly: true
        title:
          type: string
          title: Description
          description: Brief description of the build (optional)
          maxLength: 100
        barcode_hash:
          type: string
          readOnly: true
        batch:
          type: string
          nullable: true
          title: Batch Code
          description: Batch code for this build output
          maxLength: 100
        creation_date:
          type: string
          format: date
          readOnly: true
        completed:
          type: integer
          readOnly: true
          title: Completed items
          description: Number of stock items which have been completed
        completion_date:
          type: string
          format: date
          nullable: true
        destination:
          type: integer
          nullable: true
          title: Destination Location
          description: Select location where the completed items will be stored
        parent:
          type: integer
          nullable: true
          title: Parent Build
          description: BuildOrder to which this build is allocated
        part:
          type: integer
          description: Select part to build
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        project_code:
          type: integer
          nullable: true
          description: Project code for this build order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        reference:
          type: string
        sales_order:
          type: integer
          nullable: true
          title: Sales Order Reference
          description: SalesOrder to which this build is allocated
        quantity:
          type: number
          format: double
        status:
          allOf:
          - $ref: '#/components/schemas/BuildStatusEnum'
          readOnly: true
          title: Build Status
          description: |-
            Build status code

            * `10` - Pending
            * `20` - Production
            * `30` - Cancelled
            * `40` - Complete
        status_text:
          type: string
          readOnly: true
        target_date:
          type: string
          format: date
          nullable: true
          title: Target completion date
          description: Target date for build completion. Build will be overdue after
            this date.
        take_from:
          type: integer
          nullable: true
          title: Source Location
          description: Select location to take stock from for this build (leave blank
            to take from any stock location)
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        link:
          type: string
          format: uri
          title: External Link
          description: Link to external URL
          maxLength: 200
        issued_by:
          type: integer
          nullable: true
          description: User who issued this build order
        issued_by_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this build order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        priority:
          type: integer
          minimum: 0
          title: Build Priority
          description: Priority of this build order
    PatchedBuildAttachment:
      type: object
      description: Serializer for a BuildAttachment.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        build:
          type: integer
    PatchedBuildItem:
      type: object
      description: Serializes a BuildItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        build:
          type: integer
          readOnly: true
        build_line:
          type: integer
          nullable: true
        install_into:
          type: integer
          nullable: true
          description: Destination stock item
        stock_item:
          type: integer
          description: Source stock item
        quantity:
          type: number
          format: double
        location_detail:
          allOf:
          - $ref: '#/components/schemas/Location'
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        stock_item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItemSerializerBrief'
          readOnly: true
    PatchedBuildLine:
      type: object
      description: Serializer for a BuildItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        build:
          type: integer
          readOnly: true
          description: Build object
        bom_item:
          type: integer
          readOnly: true
        bom_item_detail:
          allOf:
          - $ref: '#/components/schemas/BomItem'
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/Part'
          readOnly: true
        quantity:
          type: number
          format: double
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/BuildItem'
          readOnly: true
        allocated:
          type: number
          format: double
          readOnly: true
          title: Allocated Stock
        in_production:
          type: number
          format: double
          readOnly: true
        on_order:
          type: number
          format: double
          readOnly: true
        available_stock:
          type: number
          format: double
          readOnly: true
        available_substitute_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        total_available_stock:
          type: number
          format: double
          readOnly: true
    PatchedBuildLineLabel:
      type: object
      description: Serializes a BuildLineLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
    PatchedBuildReport:
      type: object
      description: Serializer class for the BuildReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          title: Build Filters
          description: Build query filters (comma-separated list of key=value pairs
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedCategory:
      type: object
      description: Serializer for PartCategory.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        description:
          type: string
          description: Description (optional)
          maxLength: 250
        default_location:
          type: integer
          nullable: true
          description: Default location for parts in this category
        default_keywords:
          type: string
          nullable: true
          description: Default keywords for parts in this category
          maxLength: 250
        level:
          type: integer
          readOnly: true
        parent:
          type: integer
          nullable: true
        part_count:
          type: integer
          readOnly: true
        pathstring:
          type: string
          title: Path
          description: Path
          maxLength: 250
        starred:
          type: string
          readOnly: true
        url:
          type: string
          readOnly: true
        structural:
          type: boolean
          description: Parts may not be directly assigned to a structural category,
            but may be assigned to child categories.
        icon:
          type: string
          description: Icon (optional)
          maxLength: 100
    PatchedCategoryParameterTemplate:
      type: object
      description: Serializer for the PartCategoryParameterTemplate model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        category:
          type: integer
          description: Part Category
        category_detail:
          allOf:
          - $ref: '#/components/schemas/Category'
          readOnly: true
        parameter_template:
          type: integer
          description: Parameter Template
        parameter_template_detail:
          allOf:
          - $ref: '#/components/schemas/PartParameterTemplate'
          readOnly: true
        default_value:
          type: string
          description: Default Parameter Value
          maxLength: 500
    PatchedCompany:
      type: object
      description: Serializer for Company object (full detail).
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        url:
          type: string
          readOnly: true
        name:
          type: string
          title: Company name
          description: Company name
          maxLength: 100
        description:
          type: string
          title: Company description
          description: Description of the company
          maxLength: 500
        website:
          type: string
          format: uri
          description: Company website URL
          maxLength: 200
        phone:
          type: string
          title: Phone number
          description: Contact phone number
          maxLength: 50
        address:
          type: string
          readOnly: true
        email:
          type: string
          format: email
          nullable: true
          description: Contact email address
          maxLength: 254
        currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          description: |-
            Default currency used for this supplier

            * `EUR` - Euro
            * `USD` - US Dollar
        contact:
          type: string
          description: Point of contact
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to external company information
          maxLength: 200
        image:
          type: string
          format: uri
          nullable: true
        is_customer:
          type: boolean
          description: Do you sell items to this company?
        is_manufacturer:
          type: boolean
          description: Does this company manufacture parts?
        is_supplier:
          type: boolean
          description: Do you purchase items from this company?
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        parts_supplied:
          type: integer
          readOnly: true
        parts_manufactured:
          type: integer
          readOnly: true
        remote_image:
          type: string
          format: uri
          writeOnly: true
          description: URL of remote image file
        address_count:
          type: integer
          readOnly: true
        primary_address:
          allOf:
          - $ref: '#/components/schemas/Address'
          readOnly: true
          nullable: true
    PatchedCompanyAttachment:
      type: object
      description: Serializer for the CompanyAttachment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        company:
          type: integer
    PatchedContact:
      type: object
      description: Serializer class for the Contact model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        company:
          type: integer
        name:
          type: string
          maxLength: 100
        phone:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          maxLength: 254
        role:
          type: string
          maxLength: 100
    PatchedCustomUnit:
      type: object
      description: DRF serializer for CustomUnit model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Unit name
          maxLength: 50
        symbol:
          type: string
          description: Optional unit symbol
          maxLength: 10
        definition:
          type: string
          description: Unit definition
          maxLength: 50
    PatchedErrorMessage:
      type: object
      description: DRF serializer for server error messages.
      properties:
        when:
          type: string
          format: date-time
          readOnly: true
        info:
          type: string
          readOnly: true
        data:
          type: string
          readOnly: true
          nullable: true
        path:
          type: string
          format: uri
          readOnly: true
          nullable: true
          maxLength: 200
        pk:
          type: integer
          readOnly: true
          title: ID
    PatchedExendedUser:
      type: object
      description: Serializer for a User with a bit more info.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          readOnly: true
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_superuser:
          type: boolean
          title: Superuser status
          description: Designates that this user has all permissions without explicitly
            assigning them.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
    PatchedGlobalSettings:
      type: object
      description: Serializer for the InvenTreeSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        units:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
    PatchedGroup:
      type: object
      description: Serializer for a 'Group'.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          maxLength: 150
    PatchedLocation:
      type: object
      description: Detailed information about a stock location.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        url:
          type: string
          readOnly: true
        name:
          type: string
          description: Name
          maxLength: 100
        level:
          type: integer
          readOnly: true
        description:
          type: string
          description: Description (optional)
          maxLength: 250
        parent:
          type: integer
          nullable: true
        pathstring:
          type: string
          title: Path
          description: Path
          maxLength: 250
        items:
          type: integer
          readOnly: true
        owner:
          type: integer
          nullable: true
          description: Select Owner
        icon:
          type: string
          readOnly: true
        custom_icon:
          type: string
          title: Icon
          description: Icon (optional)
          maxLength: 100
        structural:
          type: boolean
          description: Stock items may not be directly located into a structural stock
            locations, but may be located to child locations.
        external:
          type: boolean
          description: This is an external stock location
        location_type:
          type: integer
          nullable: true
          description: Stock location type of this location
        location_type_detail:
          allOf:
          - $ref: '#/components/schemas/StockLocationType'
          readOnly: true
        tags:
          type: array
          items:
            type: string
    PatchedManufacturerPart:
      type: object
      description: Serializer for ManufacturerPart object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
          title: Base Part
          description: Select part
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        manufacturer:
          type: integer
        manufacturer_detail:
          allOf:
          - $ref: '#/components/schemas/CompanyBrief'
          readOnly: true
        description:
          type: string
          nullable: true
          description: Manufacturer part description
          maxLength: 250
        MPN:
          type: string
          nullable: true
          description: Manufacturer Part Number
          maxLength: 100
        link:
          type: string
          format: uri
          nullable: true
          description: URL for external manufacturer part link
          maxLength: 200
        barcode_hash:
          type: string
          description: Unique hash of barcode data
          maxLength: 128
        tags:
          type: array
          items:
            type: string
    PatchedManufacturerPartAttachment:
      type: object
      description: Serializer for the ManufacturerPartAttachment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        manufacturer_part:
          type: integer
    PatchedManufacturerPartParameter:
      type: object
      description: Serializer for the ManufacturerPartParameter model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        manufacturer_part:
          type: integer
        name:
          type: string
          description: Parameter name
          maxLength: 500
        value:
          type: string
          description: Parameter value
          maxLength: 500
        units:
          type: string
          nullable: true
          description: Parameter units
          maxLength: 64
    PatchedNewsFeedEntry:
      type: object
      description: Serializer for the NewsFeedEntry model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        feed_id:
          type: string
          title: Id
          maxLength: 250
        title:
          type: string
          maxLength: 250
        link:
          type: string
          format: uri
          maxLength: 250
        published:
          type: string
          format: date-time
        author:
          type: string
          maxLength: 250
        summary:
          type: string
          maxLength: 250
        read:
          type: boolean
    PatchedNotificationMessage:
      type: object
      description: Serializer for the InvenTreeUserSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        target:
          type: string
          readOnly: true
        source:
          type: string
          readOnly: true
        user:
          type: integer
          readOnly: true
        category:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        message:
          type: string
          readOnly: true
          nullable: true
        creation:
          type: string
          format: date-time
          readOnly: true
        age:
          type: string
          readOnly: true
        age_human:
          type: string
          readOnly: true
        read:
          type: boolean
    PatchedNotificationUserSetting:
      type: object
      description: Serializer for the PluginSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        method:
          type: string
          readOnly: true
    PatchedPartAttachment:
      type: object
      description: Serializer for the PartAttachment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        part:
          type: integer
    PatchedPartInternalPrice:
      type: object
      description: Serializer for internal prices for Part model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        quantity:
          type: number
          format: double
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase currency of this stock item

            * `EUR` - Euro
            * `USD` - US Dollar
    PatchedPartLabel:
      type: object
      description: Serializes a PartLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
    PatchedPartParameter:
      type: object
      description: JSON serializers for the PartParameter model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
          description: Parent Part
        template:
          type: integer
          description: Parameter Template
        template_detail:
          allOf:
          - $ref: '#/components/schemas/PartParameterTemplate'
          readOnly: true
        data:
          type: string
          description: Parameter Value
          maxLength: 500
          minLength: 1
        data_numeric:
          type: number
          format: double
          nullable: true
    PatchedPartParameterTemplate:
      type: object
      description: JSON serializer for the PartParameterTemplate model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Parameter Name
          maxLength: 100
        units:
          type: string
          description: Physical units for this parameter
          maxLength: 25
        description:
          type: string
          description: Parameter description
          maxLength: 250
        checkbox:
          type: boolean
          description: Is this parameter a checkbox?
        choices:
          type: string
          description: Valid choices for this parameter (comma-separated)
          maxLength: 5000
    PatchedPartPricing:
      type: object
      description: Serializer for Part pricing information.
      properties:
        currency:
          type: string
          readOnly: true
          nullable: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        scheduled_for_update:
          type: boolean
          readOnly: true
        bom_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        bom_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        purchase_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        purchase_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        internal_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        internal_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        supplier_price_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        supplier_price_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        variant_cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        variant_cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        override_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
          title: Minimum Price
          description: Override calculated value for minimum price
        override_min_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Minimum price currency
        override_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
          title: Maximum Price
          description: Override calculated value for maximum price
        override_max_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Maximum price currency
        overall_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        overall_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_price_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_price_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_history_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        sale_history_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        update:
          type: boolean
          writeOnly: true
          nullable: true
          default: false
          description: Update pricing for this part
    PatchedPartRelation:
      type: object
      description: Serializer for a PartRelated model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part_1:
          type: integer
        part_1_detail:
          allOf:
          - $ref: '#/components/schemas/Part'
          readOnly: true
        part_2:
          type: integer
          description: Select Related Part
        part_2_detail:
          allOf:
          - $ref: '#/components/schemas/Part'
          readOnly: true
    PatchedPartSalePrice:
      type: object
      description: Serializer for sale prices for Part model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        quantity:
          type: number
          format: double
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase currency of this stock item

            * `EUR` - Euro
            * `USD` - US Dollar
    PatchedPartStocktake:
      type: object
      description: Serializer for the PartStocktake model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        date:
          type: string
          format: date
          readOnly: true
          description: Date stocktake was performed
        part:
          type: integer
          description: Part for stocktake
        item_count:
          type: integer
          description: Number of individual stock entries at time of stocktake
        quantity:
          type: number
          format: double
        cost_min:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        cost_min_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        cost_max:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        cost_max_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        note:
          type: string
          title: Notes
          description: Additional notes
          maxLength: 250
        user:
          type: integer
          readOnly: true
          nullable: true
          description: User who performed this stocktake
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
    PatchedPartTestTemplate:
      type: object
      description: Serializer for the PartTestTemplate class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        part:
          type: integer
        test_name:
          type: string
          description: Enter a name for the test
          maxLength: 100
        description:
          type: string
          nullable: true
          title: Test Description
          description: Enter description for this test
          maxLength: 100
        required:
          type: boolean
          description: Is this test required to pass?
        requires_value:
          type: boolean
          description: Does this test require a value when adding a test result?
        requires_attachment:
          type: boolean
          description: Does this test require a file attachment when adding a test
            result?
    PatchedPartThumbSerializerUpdate:
      type: object
      description: Serializer for updating Part thumbnail.
      properties:
        image:
          type: string
          format: uri
    PatchedPluginActivate:
      type: object
      description: Serializer for activating or deactivating a plugin.
      properties:
        active:
          type: boolean
          default: true
          title: Activate Plugin
          description: Activate this plugin
    PatchedPluginConfig:
      type: object
      description: Serializer for a PluginConfig.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
          description: Key of plugin
        name:
          type: string
          nullable: true
          description: PluginName of the plugin
          maxLength: 255
        package_name:
          type: string
          nullable: true
          description: Name of the installed package, if the plugin was installed
            via PIP
          maxLength: 255
        active:
          type: boolean
          description: Is the plugin active
        meta:
          type: object
          additionalProperties: {}
          readOnly: true
        mixins:
          type: object
          additionalProperties: {}
          readOnly: true
        is_builtin:
          type: boolean
          description: Return True if this is a 'builtin' plugin.
          readOnly: true
        is_sample:
          type: boolean
          description: Is this plugin a sample app?
          readOnly: true
        is_installed:
          type: boolean
          description: |-
            Simple check to determine if this plugin is installed.

            A plugin might not be installed if it has been removed from the system,
            but the PluginConfig associated with it still exists.
          readOnly: true
        is_package:
          type: boolean
          description: Return True if this is a 'package' plugin.
          readOnly: true
    PatchedPluginSetting:
      type: object
      description: Serializer for the PluginSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        plugin:
          type: string
          readOnly: true
    PatchedPluginUninstall:
      type: object
      description: Serializer for uninstalling a plugin.
      properties:
        delete_config:
          type: boolean
          default: true
          title: Delete configuration
          description: Delete the plugin configuration from the database
    PatchedProjectCode:
      type: object
      description: Serializer for the ProjectCode model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        code:
          type: string
          title: Project Code
          description: Unique project code
          maxLength: 50
        description:
          type: string
          description: Project description
          maxLength: 200
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this project
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
    PatchedPurchaseOrder:
      type: object
      description: Serializer for a PurchaseOrder object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        creation_date:
          type: string
          format: date
          nullable: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Expected date for order delivery. Order will be overdue after
            this date.
        description:
          type: string
          description: Order description (optional)
          maxLength: 250
        line_items:
          type: integer
          readOnly: true
        completed_lines:
          type: integer
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        project_code:
          type: integer
          nullable: true
          description: Select project code for this order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        reference:
          type: string
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        contact:
          type: integer
          nullable: true
          description: Point of contact for this order
        contact_detail:
          allOf:
          - $ref: '#/components/schemas/Contact'
          readOnly: true
        address:
          type: integer
          nullable: true
          description: Company address for this order
        address_detail:
          allOf:
          - $ref: '#/components/schemas/AddressBrief'
          readOnly: true
        status:
          type: integer
          readOnly: true
        status_text:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        barcode_hash:
          type: string
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        issue_date:
          type: string
          format: date
          readOnly: true
          nullable: true
          description: Date order was issued
        complete_date:
          type: string
          format: date
          readOnly: true
          nullable: true
          title: Completion Date
          description: Date order was completed
        supplier:
          type: integer
          nullable: true
          description: Company from which the items are being ordered
        supplier_reference:
          type: string
          description: Supplier order reference code
          maxLength: 64
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        order_currency:
          nullable: true
          description: |-
            Currency for this order (leave blank to use company default)

            * `` - ---------
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
    PatchedPurchaseOrderAttachment:
      type: object
      description: Serializers for the PurchaseOrderAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        order:
          type: integer
    PatchedPurchaseOrderExtraLine:
      type: object
      description: Serializer for a PurchaseOrderExtraLine object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        description:
          type: string
          description: Line item description (optional)
          maxLength: 250
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        context:
          type: object
          additionalProperties: {}
          nullable: true
          description: Additional context for this line
        order:
          type: integer
          description: Purchase Order
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
    PatchedPurchaseOrderLineItem:
      type: object
      description: Serializer class for the PurchaseOrderLineItem model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        quantity:
          type: number
          format: double
          minimum: 0
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        order:
          type: integer
          description: Purchase Order
        overdue:
          type: boolean
          readOnly: true
        part:
          type: integer
          nullable: true
          description: Supplier part
        received:
          type: number
          format: double
          readOnly: true
          default: 0.0
        purchase_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        purchase_price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase price currency

            * `EUR` - Euro
            * `USD` - US Dollar
        destination:
          type: integer
          nullable: true
          description: Where does the Purchaser want this item to be stored?
        destination_detail:
          allOf:
          - $ref: '#/components/schemas/LocationBrief'
          readOnly: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Target date for this line item (leave blank to use the target
            date from the order)
        total_price:
          type: number
          format: double
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
    PatchedPurchaseOrderReport:
      type: object
      description: Serializer class for the PurchaseOrdeReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Purchase order query filters
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedReturnOrder:
      type: object
      description: Serializer for the ReturnOrder model class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        creation_date:
          type: string
          format: date
          nullable: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Expected date for order delivery. Order will be overdue after
            this date.
        description:
          type: string
          description: Order description (optional)
          maxLength: 250
        line_items:
          type: integer
          readOnly: true
        completed_lines:
          type: integer
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        project_code:
          type: integer
          nullable: true
          description: Select project code for this order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        reference:
          type: string
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        contact:
          type: integer
          nullable: true
          description: Point of contact for this order
        contact_detail:
          allOf:
          - $ref: '#/components/schemas/Contact'
          readOnly: true
        address:
          type: integer
          nullable: true
          description: Company address for this order
        address_detail:
          allOf:
          - $ref: '#/components/schemas/AddressBrief'
          readOnly: true
        status:
          type: integer
          readOnly: true
        status_text:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        barcode_hash:
          type: string
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        customer:
          type: integer
          nullable: true
          description: Company from which items are being returned
        customer_reference:
          type: string
          description: Customer order reference code
          maxLength: 64
        order_currency:
          nullable: true
          description: |-
            Currency for this order (leave blank to use company default)

            * `` - ---------
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
    PatchedReturnOrderAttachment:
      type: object
      description: Serializer for the ReturnOrderAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        order:
          type: integer
    PatchedReturnOrderExtraLine:
      type: object
      description: Serializer for a ReturnOrderExtraLine object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        description:
          type: string
          description: Line item description (optional)
          maxLength: 250
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        context:
          type: object
          additionalProperties: {}
          nullable: true
          description: Additional context for this line
        order:
          type: integer
          description: Return Order
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
    PatchedReturnOrderLineItem:
      type: object
      description: Serializer for a ReturnOrderLineItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        order:
          type: integer
          description: Return Order
        item:
          type: integer
          description: Select item to return from customer
        item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItem'
          readOnly: true
        received_date:
          type: string
          format: date
          nullable: true
          description: The date this this return item was received
        outcome:
          allOf:
          - $ref: '#/components/schemas/OutcomeEnum'
          description: |-
            Outcome for this line item

            * `10` - Pending
            * `20` - Return
            * `30` - Repair
            * `40` - Replace
            * `50` - Refund
            * `60` - Reject
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Line price currency

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        target_date:
          type: string
          format: date
          nullable: true
          description: Target date for this line item (leave blank to use the target
            date from the order)
    PatchedReturnOrderReport:
      type: object
      description: Serializer class for the ReturnOrderReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Return order query filters
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedSalesOrder:
      type: object
      description: Serializer for the SalesOrder model class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        creation_date:
          type: string
          format: date
          nullable: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Expected date for order delivery. Order will be overdue after
            this date.
        description:
          type: string
          description: Order description (optional)
          maxLength: 250
        line_items:
          type: integer
          readOnly: true
        completed_lines:
          type: integer
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        project_code:
          type: integer
          nullable: true
          description: Select project code for this order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        reference:
          type: string
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        contact:
          type: integer
          nullable: true
          description: Point of contact for this order
        contact_detail:
          allOf:
          - $ref: '#/components/schemas/Contact'
          readOnly: true
        address:
          type: integer
          nullable: true
          description: Company address for this order
        address_detail:
          allOf:
          - $ref: '#/components/schemas/AddressBrief'
          readOnly: true
        status:
          type: integer
          readOnly: true
        status_text:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        barcode_hash:
          type: string
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        customer:
          type: integer
          nullable: true
          description: Company to which the items are being sold
        customer_reference:
          type: string
          description: Customer order reference code
          maxLength: 64
        shipment_date:
          type: string
          format: date
          readOnly: true
          nullable: true
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        order_currency:
          nullable: true
          description: |-
            Currency for this order (leave blank to use company default)

            * `` - ---------
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
    PatchedSalesOrderAllocation:
      type: object
      description: |-
        Serializer for the SalesOrderAllocation model.

        This includes some fields from the related model objects.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        line:
          type: integer
        serial:
          type: string
          readOnly: true
        quantity:
          type: number
          format: double
        location:
          type: integer
          readOnly: true
        item:
          type: integer
          description: Select stock item to allocate
        item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItem'
          readOnly: true
        order:
          type: integer
          readOnly: true
        part:
          type: integer
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        shipment:
          type: integer
          description: Sales order shipment reference
        shipment_date:
          type: string
          format: date
          readOnly: true
    PatchedSalesOrderAttachment:
      type: object
      description: Serializers for the SalesOrderAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        order:
          type: integer
    PatchedSalesOrderExtraLine:
      type: object
      description: Serializer for a SalesOrderExtraLine object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        description:
          type: string
          description: Line item description (optional)
          maxLength: 250
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        context:
          type: object
          additionalProperties: {}
          nullable: true
          description: Additional context for this line
        order:
          type: integer
          description: Sales Order
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
    PatchedSalesOrderLineItem:
      type: object
      description: Serializer for a SalesOrderLineItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        allocated:
          type: number
          format: double
          readOnly: true
        available_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        order:
          type: integer
          description: Sales Order
        overdue:
          type: boolean
          readOnly: true
        part:
          type: integer
          nullable: true
          description: Part
        sale_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        sale_price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Sale price currency

            * `EUR` - Euro
            * `USD` - US Dollar
        shipped:
          type: number
          format: double
          readOnly: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Target date for this line item (leave blank to use the target
            date from the order)
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
    PatchedSalesOrderReport:
      type: object
      description: Serializer class for the SalesOrderReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Sales order query filters
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedSalesOrderShipment:
      type: object
      description: Serializer for the SalesOrderShipment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        order:
          type: integer
          description: Sales Order
        order_detail:
          allOf:
          - $ref: '#/components/schemas/SalesOrder'
          readOnly: true
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderAllocation'
          readOnly: true
        shipment_date:
          type: string
          format: date
          nullable: true
          description: Date of shipment
        delivery_date:
          type: string
          format: date
          nullable: true
          description: Date of delivery of shipment
        checked_by:
          type: integer
          nullable: true
          description: User who checked this shipment
        reference:
          type: string
          default: '1'
          title: Shipment
          description: Shipment number
          maxLength: 100
        tracking_number:
          type: string
          description: Shipment tracking information
          maxLength: 100
        invoice_number:
          type: string
          description: Reference number for associated invoice
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
    PatchedStockItem:
      type: object
      description: |-
        Serializer for a StockItem.

        - Includes serialization for the linked part
        - Includes serialization for the item location
      properties:
        batch:
          type: string
          nullable: true
          title: Batch Code
          description: Batch code for this stock item
          maxLength: 100
        belongs_to:
          type: integer
          nullable: true
          title: Installed In
          description: Is this item installed in another item?
        build:
          type: integer
          nullable: true
          title: Source Build
          description: Build for this stock item
        consumed_by:
          type: integer
          nullable: true
          description: Build order which consumed this stock item
        customer:
          type: integer
          nullable: true
          description: Customer
        delete_on_deplete:
          type: boolean
          description: Delete this Stock Item when stock is depleted
        expiry_date:
          type: string
          format: date
          nullable: true
          description: Expiry date for stock item. Stock will be considered expired
            after this date
        is_building:
          type: boolean
        link:
          type: string
          format: uri
          title: External Link
          description: Link to external URL
          maxLength: 200
        location:
          type: integer
          nullable: true
          title: Stock Location
          description: Where is this stock item located?
        location_detail:
          allOf:
          - $ref: '#/components/schemas/LocationBrief'
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        owner:
          type: integer
          nullable: true
          description: Select Owner
        packaging:
          type: string
          nullable: true
          description: Packaging this stock item is stored in
          maxLength: 50
        part:
          type: integer
          description: Base Part
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        purchase_order:
          type: integer
          nullable: true
          title: Source Purchase Order
          description: Purchase order for this stock item
        purchase_order_reference:
          type: string
          readOnly: true
        pk:
          type: integer
          readOnly: true
          title: ID
        quantity:
          type: number
          format: double
        sales_order:
          type: integer
          nullable: true
          title: Destination Sales Order
        sales_order_reference:
          type: string
          readOnly: true
        serial:
          type: string
          nullable: true
          title: Serial Number
          description: Serial number for this item
          maxLength: 100
        status:
          allOf:
          - $ref: '#/components/schemas/Status46bEnum'
          minimum: 0
        status_text:
          type: string
          readOnly: true
        stocktake_date:
          type: string
          format: date
          readOnly: true
          nullable: true
        supplier_part:
          type: integer
          nullable: true
          description: Select a matching supplier part for this stock item
        supplier_part_detail:
          allOf:
          - $ref: '#/components/schemas/SupplierPart'
          readOnly: true
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp of last update
        purchase_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
          description: Purchase price of this stock item, per unit or pack
        purchase_price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase currency of this stock item

            * `EUR` - Euro
            * `USD` - US Dollar
        use_pack_size:
          type: boolean
          writeOnly: true
          nullable: true
          description: 'Use pack size when adding: the quantity defined is the number
            of packs'
        allocated:
          type: number
          format: double
        expired:
          type: boolean
          readOnly: true
        installed_items:
          type: integer
          readOnly: true
        child_items:
          type: integer
          readOnly: true
        stale:
          type: boolean
          readOnly: true
        tracking_items:
          type: integer
          readOnly: true
        tags:
          type: array
          items:
            type: string
    PatchedStockItemAttachment:
      type: object
      description: Serializer for StockItemAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        stock_item:
          type: integer
    PatchedStockItemLabel:
      type: object
      description: Serializes a StockItemLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
    PatchedStockItemTestResult:
      type: object
      description: Serializer for the StockItemTestResult model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        stock_item:
          type: integer
        key:
          type: string
          readOnly: true
        test:
          type: string
          description: Test name
          maxLength: 100
        result:
          type: boolean
          description: Test result
        value:
          type: string
          description: Test output value
          maxLength: 500
        attachment:
          type: string
          format: uri
        notes:
          type: string
          description: Test notes
          maxLength: 500
        user:
          type: integer
          readOnly: true
          nullable: true
        date:
          type: string
          format: date-time
          readOnly: true
    PatchedStockLocationLabel:
      type: object
      description: Serializes a StockLocationLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
    PatchedStockLocationReport:
      type: object
      description: Serializer class for the StockLocationReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: stock location query filters (comma-separated list of key=value
            pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedStockLocationType:
      type: object
      description: Serializer for StockLocationType model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        description:
          type: string
          description: Description (optional)
          maxLength: 250
        icon:
          type: string
          description: Default icon for all locations that have no icon set (optional)
          maxLength: 100
        location_count:
          type: integer
          readOnly: true
    PatchedSupplierPart:
      type: object
      description: Serializer for SupplierPart object.
      properties:
        available:
          type: number
          format: double
        availability_updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Date of last update of availability data
        description:
          type: string
          nullable: true
          description: Supplier part description
          maxLength: 250
        in_stock:
          type: number
          format: double
          readOnly: true
        link:
          type: string
          format: uri
          nullable: true
          description: URL for external supplier part link
          maxLength: 200
        manufacturer:
          type: string
          readOnly: true
        manufacturer_detail:
          allOf:
          - $ref: '#/components/schemas/CompanyBrief'
          readOnly: true
        manufacturer_part:
          type: integer
          nullable: true
          description: Select manufacturer part
        manufacturer_part_detail:
          allOf:
          - $ref: '#/components/schemas/ManufacturerPart'
          readOnly: true
        MPN:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        note:
          type: string
          nullable: true
          description: Notes
          maxLength: 100
        pk:
          type: integer
          readOnly: true
          title: ID
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        packaging:
          type: string
          nullable: true
          description: Part packaging
          maxLength: 50
        pack_quantity:
          type: string
          description: Total quantity supplied in a single pack. Leave empty for single
            items.
          maxLength: 25
        pack_quantity_native:
          type: number
          format: double
          readOnly: true
        part:
          type: integer
          title: Base Part
          description: Select part
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        SKU:
          type: string
          description: Supplier stock keeping unit
          maxLength: 100
        supplier:
          type: integer
        supplier_detail:
          allOf:
          - $ref: '#/components/schemas/CompanyBrief'
          readOnly: true
        url:
          type: string
          readOnly: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        tags:
          type: array
          items:
            type: string
    PatchedSupplierPriceBreak:
      type: object
      description: Serializer for SupplierPriceBreak object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        quantity:
          type: number
          format: double
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        supplier:
          type: integer
          readOnly: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp of last update
    PatchedTestReport:
      type: object
      description: Serializer class for the TestReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: StockItem query filters (comma-separated list of key=value
            pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
    PatchedUserDetails:
      type: object
      description: User model w/o password
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        email:
          type: string
          format: email
          readOnly: true
          title: Email address
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
    PatchedUserSettings:
      type: object
      description: Serializer for the InvenTreeUserSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        user:
          type: integer
          readOnly: true
        type:
          type: string
          readOnly: true
        units:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
    PendingTask:
      type: object
      description: Serializer for an individual pending task object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          description: Name of the target cluster
          maxLength: 100
        lock:
          type: string
          format: date-time
          description: Lock time
        task_id:
          type: string
          description: Unique task ID
        name:
          type: string
          description: Task name
        func:
          type: string
          title: Function
          description: Function name
        args:
          type: string
          title: Arguments
          description: Task arguments
        kwargs:
          type: string
          title: Keyword Arguments
          description: Task keyword arguments
      required:
      - args
      - func
      - key
      - kwargs
      - lock
      - name
      - pk
      - task_id
    PluginActivate:
      type: object
      description: Serializer for activating or deactivating a plugin.
      properties:
        active:
          type: boolean
          default: true
          title: Activate Plugin
          description: Activate this plugin
    PluginConfig:
      type: object
      description: Serializer for a PluginConfig.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
          description: Key of plugin
        name:
          type: string
          nullable: true
          description: PluginName of the plugin
          maxLength: 255
        package_name:
          type: string
          nullable: true
          description: Name of the installed package, if the plugin was installed
            via PIP
          maxLength: 255
        active:
          type: boolean
          description: Is the plugin active
        meta:
          type: object
          additionalProperties: {}
          readOnly: true
        mixins:
          type: object
          additionalProperties: {}
          readOnly: true
        is_builtin:
          type: boolean
          description: Return True if this is a 'builtin' plugin.
          readOnly: true
        is_sample:
          type: boolean
          description: Is this plugin a sample app?
          readOnly: true
        is_installed:
          type: boolean
          description: |-
            Simple check to determine if this plugin is installed.

            A plugin might not be installed if it has been removed from the system,
            but the PluginConfig associated with it still exists.
          readOnly: true
        is_package:
          type: boolean
          description: Return True if this is a 'package' plugin.
          readOnly: true
      required:
      - is_builtin
      - is_installed
      - is_package
      - is_sample
      - key
      - meta
      - mixins
      - pk
    PluginConfigInstall:
      type: object
      description: Serializer for installing a new plugin.
      properties:
        url:
          type: string
          title: Source URL
          description: Source for the package - this can be a custom registry or a
            VCS path
        packagename:
          type: string
          title: Package Name
          description: Name for the Plugin Package - can also contain a version indicator
        version:
          type: string
          description: Version specifier for the plugin. Leave blank for latest version.
        confirm:
          type: boolean
          title: Confirm plugin installation
          description: This will install this plugin now into the current instance.
            The instance will go into maintenance.
      required:
      - confirm
    PluginRegistryError:
      type: object
      description: Serializer for a plugin registry error.
      properties:
        stage:
          type: string
        name:
          type: string
        message:
          type: string
      required:
      - message
      - name
      - stage
    PluginRegistryStatus:
      type: object
      description: Serializer for plugin registry status.
      properties:
        registry_errors:
          type: array
          items:
            $ref: '#/components/schemas/PluginRegistryError'
      required:
      - registry_errors
    PluginReload:
      type: object
      description: Serializer for remotely forcing plugin registry reload.
      properties:
        full_reload:
          type: boolean
          default: false
          description: Perform a full reload of the plugin registry
        force_reload:
          type: boolean
          default: false
          description: Force a reload of the plugin registry, even if it is already
            loaded
        collect_plugins:
          type: boolean
          default: false
          description: Collect plugins and add them to the registry
    PluginSetting:
      type: object
      description: Serializer for the PluginSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        type:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        plugin:
          type: string
          readOnly: true
      required:
      - api_url
      - choices
      - description
      - key
      - model_name
      - name
      - pk
      - plugin
      - typ
      - type
      - value
    PluginUninstall:
      type: object
      description: Serializer for uninstalling a plugin.
      properties:
        delete_config:
          type: boolean
          default: true
          title: Delete configuration
          description: Delete the plugin configuration from the database
    Preferred:
      type: object
      description: Serializer for the preferred serializer session setting.
      properties:
        preferred_method:
          $ref: '#/components/schemas/PreferredMethodEnum'
        pui:
          type: string
          readOnly: true
        cui:
          type: string
          readOnly: true
      required:
      - cui
      - preferred_method
      - pui
    PreferredMethodEnum:
      enum:
      - cui
      - pui
      type: string
      description: |-
        * `cui` - cui
        * `pui` - pui
    ProjectCode:
      type: object
      description: Serializer for the ProjectCode model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        code:
          type: string
          title: Project Code
          description: Unique project code
          maxLength: 50
        description:
          type: string
          description: Project description
          maxLength: 200
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this project
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
      required:
      - code
      - pk
      - responsible_detail
    PurchaseOrder:
      type: object
      description: Serializer for a PurchaseOrder object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        creation_date:
          type: string
          format: date
          nullable: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Expected date for order delivery. Order will be overdue after
            this date.
        description:
          type: string
          description: Order description (optional)
          maxLength: 250
        line_items:
          type: integer
          readOnly: true
        completed_lines:
          type: integer
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        project_code:
          type: integer
          nullable: true
          description: Select project code for this order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        reference:
          type: string
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        contact:
          type: integer
          nullable: true
          description: Point of contact for this order
        contact_detail:
          allOf:
          - $ref: '#/components/schemas/Contact'
          readOnly: true
        address:
          type: integer
          nullable: true
          description: Company address for this order
        address_detail:
          allOf:
          - $ref: '#/components/schemas/AddressBrief'
          readOnly: true
        status:
          type: integer
          readOnly: true
        status_text:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        barcode_hash:
          type: string
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        issue_date:
          type: string
          format: date
          readOnly: true
          nullable: true
          description: Date order was issued
        complete_date:
          type: string
          format: date
          readOnly: true
          nullable: true
          title: Completion Date
          description: Date order was completed
        supplier:
          type: integer
          nullable: true
          description: Company from which the items are being ordered
        supplier_reference:
          type: string
          description: Supplier order reference code
          maxLength: 64
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        order_currency:
          nullable: true
          description: |-
            Currency for this order (leave blank to use company default)

            * `` - ---------
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - address_detail
      - barcode_hash
      - complete_date
      - completed_lines
      - contact_detail
      - issue_date
      - line_items
      - overdue
      - pk
      - project_code_detail
      - reference
      - responsible_detail
      - status
      - status_text
      - supplier
      - total_price
    PurchaseOrderAttachment:
      type: object
      description: Serializers for the PurchaseOrderAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        order:
          type: integer
      required:
      - order
      - pk
      - upload_date
      - user_detail
    PurchaseOrderComplete:
      type: object
      description: Serializer for completing a purchase order.
      properties:
        accept_incomplete:
          type: boolean
          default: false
          description: Allow order to be closed with incomplete line items
    PurchaseOrderExtraLine:
      type: object
      description: Serializer for a PurchaseOrderExtraLine object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        description:
          type: string
          description: Line item description (optional)
          maxLength: 250
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        context:
          type: object
          additionalProperties: {}
          nullable: true
          description: Additional context for this line
        order:
          type: integer
          description: Purchase Order
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
      required:
      - order
      - pk
      - quantity
    PurchaseOrderLineItem:
      type: object
      description: Serializer class for the PurchaseOrderLineItem model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        quantity:
          type: number
          format: double
          minimum: 0
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        order:
          type: integer
          description: Purchase Order
        overdue:
          type: boolean
          readOnly: true
        part:
          type: integer
          nullable: true
          description: Supplier part
        received:
          type: number
          format: double
          readOnly: true
          default: 0.0
        purchase_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        purchase_price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase price currency

            * `EUR` - Euro
            * `USD` - US Dollar
        destination:
          type: integer
          nullable: true
          description: Where does the Purchaser want this item to be stored?
        destination_detail:
          allOf:
          - $ref: '#/components/schemas/LocationBrief'
          readOnly: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Target date for this line item (leave blank to use the target
            date from the order)
        total_price:
          type: number
          format: double
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
      required:
      - destination_detail
      - order
      - overdue
      - pk
      - quantity
      - received
      - total_price
    PurchaseOrderLineItemReceive:
      type: object
      description: A serializer for receiving a single purchase order line item against
        a purchase order.
      properties:
        line_item:
          type: integer
        location:
          type: integer
          nullable: true
          description: Select destination location for received items
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
        batch_code:
          type: string
          default: ''
          description: Enter batch code for incoming stock items
        serial_numbers:
          type: string
          default: ''
          description: Enter serial numbers for incoming stock items
        status:
          allOf:
          - $ref: '#/components/schemas/Status46bEnum'
          default: 10
        barcode:
          type: string
          nullable: true
          default: ''
          description: Scanned barcode
      required:
      - line_item
      - quantity
    PurchaseOrderReceive:
      type: object
      description: Serializer for receiving items against a PurchaseOrder.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PurchaseOrderLineItemReceive'
        location:
          type: integer
          nullable: true
          description: Select destination location for received items
      required:
      - items
      - location
    PurchaseOrderReport:
      type: object
      description: Serializer class for the PurchaseOrdeReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Purchase order query filters
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    Register:
      type: object
      properties:
        username:
          type: string
          maxLength: 150
          minLength: 1
        email:
          type: string
          format: email
        password1:
          type: string
          writeOnly: true
        password2:
          type: string
          writeOnly: true
      required:
      - password1
      - password2
      - username
    ResendEmailVerification:
      type: object
      properties:
        email:
          type: string
          format: email
    RestAuthDetail:
      type: object
      properties:
        detail:
          type: string
          readOnly: true
      required:
      - detail
    ReturnOrder:
      type: object
      description: Serializer for the ReturnOrder model class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        creation_date:
          type: string
          format: date
          nullable: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Expected date for order delivery. Order will be overdue after
            this date.
        description:
          type: string
          description: Order description (optional)
          maxLength: 250
        line_items:
          type: integer
          readOnly: true
        completed_lines:
          type: integer
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        project_code:
          type: integer
          nullable: true
          description: Select project code for this order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        reference:
          type: string
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        contact:
          type: integer
          nullable: true
          description: Point of contact for this order
        contact_detail:
          allOf:
          - $ref: '#/components/schemas/Contact'
          readOnly: true
        address:
          type: integer
          nullable: true
          description: Company address for this order
        address_detail:
          allOf:
          - $ref: '#/components/schemas/AddressBrief'
          readOnly: true
        status:
          type: integer
          readOnly: true
        status_text:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        barcode_hash:
          type: string
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        customer:
          type: integer
          nullable: true
          description: Company from which items are being returned
        customer_reference:
          type: string
          description: Customer order reference code
          maxLength: 64
        order_currency:
          nullable: true
          description: |-
            Currency for this order (leave blank to use company default)

            * `` - ---------
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
      required:
      - address_detail
      - barcode_hash
      - completed_lines
      - contact_detail
      - line_items
      - overdue
      - pk
      - project_code_detail
      - reference
      - responsible_detail
      - status
      - status_text
      - total_price
    ReturnOrderAttachment:
      type: object
      description: Serializer for the ReturnOrderAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        order:
          type: integer
      required:
      - order
      - pk
      - upload_date
      - user_detail
    ReturnOrderExtraLine:
      type: object
      description: Serializer for a ReturnOrderExtraLine object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        description:
          type: string
          description: Line item description (optional)
          maxLength: 250
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        context:
          type: object
          additionalProperties: {}
          nullable: true
          description: Additional context for this line
        order:
          type: integer
          description: Return Order
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
      required:
      - order
      - pk
      - quantity
    ReturnOrderLineItem:
      type: object
      description: Serializer for a ReturnOrderLineItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        order:
          type: integer
          description: Return Order
        item:
          type: integer
          description: Select item to return from customer
        item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItem'
          readOnly: true
        received_date:
          type: string
          format: date
          nullable: true
          description: The date this this return item was received
        outcome:
          allOf:
          - $ref: '#/components/schemas/OutcomeEnum'
          description: |-
            Outcome for this line item

            * `10` - Pending
            * `20` - Return
            * `30` - Repair
            * `40` - Replace
            * `50` - Refund
            * `60` - Reject
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Line price currency

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        target_date:
          type: string
          format: date
          nullable: true
          description: Target date for this line item (leave blank to use the target
            date from the order)
      required:
      - item
      - item_detail
      - order
      - pk
    ReturnOrderLineItemReceive:
      type: object
      description: Serializer for receiving a single line item against a ReturnOrder.
      properties:
        item:
          type: integer
          title: Return order line item
      required:
      - item
    ReturnOrderReceive:
      type: object
      description: Serializer for receiving items against a ReturnOrder.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ReturnOrderLineItemReceive'
        location:
          type: integer
          description: Select destination location for received items
      required:
      - items
      - location
    ReturnOrderReport:
      type: object
      description: Serializer class for the ReturnOrderReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Return order query filters
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    ReturnStockItem:
      type: object
      description: DRF serializer for returning a stock item from a customer.
      properties:
        location:
          type: integer
          description: Destination location for returned item
        notes:
          type: string
          description: Add transaction note (optional)
      required:
      - location
    SalePriceCurrencyEnum:
      enum:
      - EUR
      - USD
      type: string
      description: |-
        * `EUR` - Euro
        * `USD` - US Dollar
    SalesOrder:
      type: object
      description: Serializer for the SalesOrder model class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        creation_date:
          type: string
          format: date
          nullable: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Expected date for order delivery. Order will be overdue after
            this date.
        description:
          type: string
          description: Order description (optional)
          maxLength: 250
        line_items:
          type: integer
          readOnly: true
        completed_lines:
          type: integer
          readOnly: true
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        project_code:
          type: integer
          nullable: true
          description: Select project code for this order
        project_code_detail:
          allOf:
          - $ref: '#/components/schemas/ProjectCode'
          readOnly: true
        reference:
          type: string
        responsible:
          type: integer
          nullable: true
          description: User or group responsible for this order
        responsible_detail:
          allOf:
          - $ref: '#/components/schemas/Owner'
          readOnly: true
        contact:
          type: integer
          nullable: true
          description: Point of contact for this order
        contact_detail:
          allOf:
          - $ref: '#/components/schemas/Contact'
          readOnly: true
        address:
          type: integer
          nullable: true
          description: Company address for this order
        address_detail:
          allOf:
          - $ref: '#/components/schemas/AddressBrief'
          readOnly: true
        status:
          type: integer
          readOnly: true
        status_text:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        barcode_hash:
          type: string
          readOnly: true
        overdue:
          type: boolean
          readOnly: true
        customer:
          type: integer
          nullable: true
          description: Company to which the items are being sold
        customer_reference:
          type: string
          description: Customer order reference code
          maxLength: 64
        shipment_date:
          type: string
          format: date
          readOnly: true
          nullable: true
        total_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        order_currency:
          nullable: true
          description: |-
            Currency for this order (leave blank to use company default)

            * `` - ---------
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - address_detail
      - barcode_hash
      - completed_lines
      - contact_detail
      - line_items
      - overdue
      - pk
      - project_code_detail
      - reference
      - responsible_detail
      - shipment_date
      - status
      - status_text
      - total_price
    SalesOrderAllocation:
      type: object
      description: |-
        Serializer for the SalesOrderAllocation model.

        This includes some fields from the related model objects.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        line:
          type: integer
        serial:
          type: string
          readOnly: true
        quantity:
          type: number
          format: double
        location:
          type: integer
          readOnly: true
        item:
          type: integer
          description: Select stock item to allocate
        order:
          type: integer
          readOnly: true
        part:
          type: integer
          readOnly: true
        shipment:
          type: integer
          description: Sales order shipment reference
        shipment_date:
          type: string
          format: date
          readOnly: true
      required:
      - item
      - line
      - location
      - order
      - part
      - pk
      - quantity
      - serial
      - shipment
      - shipment_date
    SalesOrderAttachment:
      type: object
      description: Serializers for the SalesOrderAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        order:
          type: integer
      required:
      - order
      - pk
      - upload_date
      - user_detail
    SalesOrderComplete:
      type: object
      description: DRF serializer for manually marking a sales order as complete.
      properties:
        accept_incomplete:
          type: boolean
          default: false
          description: Allow order to be closed with incomplete line items
    SalesOrderExtraLine:
      type: object
      description: Serializer for a SalesOrderExtraLine object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        description:
          type: string
          description: Line item description (optional)
          maxLength: 250
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        context:
          type: object
          additionalProperties: {}
          nullable: true
          description: Additional context for this line
        order:
          type: integer
          description: Sales Order
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
      required:
      - order
      - pk
      - quantity
    SalesOrderLineItem:
      type: object
      description: Serializer for a SalesOrderLineItem object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        allocated:
          type: number
          format: double
          readOnly: true
        available_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        quantity:
          type: number
          format: double
        reference:
          type: string
          description: Line item reference
          maxLength: 100
        notes:
          type: string
          description: Line item notes
          maxLength: 500
        order:
          type: integer
          description: Sales Order
        overdue:
          type: boolean
          readOnly: true
        part:
          type: integer
          nullable: true
          description: Part
        sale_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        sale_price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Sale price currency

            * `EUR` - Euro
            * `USD` - US Dollar
        shipped:
          type: number
          format: double
          readOnly: true
        target_date:
          type: string
          format: date
          nullable: true
          description: Target date for this line item (leave blank to use the target
            date from the order)
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
      required:
      - allocated
      - available_stock
      - available_variant_stock
      - order
      - overdue
      - pk
      - quantity
      - shipped
    SalesOrderReport:
      type: object
      description: Serializer class for the SalesOrderReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Sales order query filters
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    SalesOrderSerialAllocation:
      type: object
      description: DRF serializer for allocation of serial numbers against a sales
        order / shipment.
      properties:
        line_item:
          type: integer
        quantity:
          type: integer
          minimum: 1
        serial_numbers:
          type: string
          description: Enter serial numbers to allocate
        shipment:
          type: integer
      required:
      - line_item
      - quantity
      - serial_numbers
      - shipment
    SalesOrderShipment:
      type: object
      description: Serializer for the SalesOrderShipment class.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        order:
          type: integer
          description: Sales Order
        order_detail:
          allOf:
          - $ref: '#/components/schemas/SalesOrder'
          readOnly: true
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderAllocation'
          readOnly: true
        shipment_date:
          type: string
          format: date
          nullable: true
          description: Date of shipment
        delivery_date:
          type: string
          format: date
          nullable: true
          description: Date of delivery of shipment
        checked_by:
          type: integer
          nullable: true
          description: User who checked this shipment
        reference:
          type: string
          default: '1'
          title: Shipment
          description: Shipment number
          maxLength: 100
        tracking_number:
          type: string
          description: Shipment tracking information
          maxLength: 100
        invoice_number:
          type: string
          description: Reference number for associated invoice
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
      required:
      - allocations
      - order
      - order_detail
      - pk
    SalesOrderShipmentAllocation:
      type: object
      description: DRF serializer for allocation of stock items against a sales order
        / shipment.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/SalesOrderShipmentAllocationItem'
        shipment:
          type: integer
      required:
      - items
      - shipment
    SalesOrderShipmentAllocationItem:
      type: object
      description: A serializer for allocating a single stock-item against a SalesOrder
        shipment.
      properties:
        line_item:
          type: integer
          title: Stock Item
        stock_item:
          type: integer
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
      required:
      - line_item
      - quantity
      - stock_item
    SalesOrderShipmentComplete:
      type: object
      description: Serializer for completing (shipping) a SalesOrderShipment.
      properties:
        shipment_date:
          type: string
          format: date
          nullable: true
          description: Date of shipment
        delivery_date:
          type: string
          format: date
          nullable: true
          description: Date of delivery of shipment
        tracking_number:
          type: string
          description: Shipment tracking information
          maxLength: 100
        invoice_number:
          type: string
          description: Reference number for associated invoice
          maxLength: 100
        link:
          type: string
          format: uri
          description: Link to external page
          maxLength: 200
    ScheduleTypeEnum:
      enum:
      - O
      - I
      - H
      - D
      - W
      - BW
      - M
      - BM
      - Q
      - Y
      - C
      type: string
      description: |-
        * `O` - Once
        * `I` - Minutes
        * `H` - Hourly
        * `D` - Daily
        * `W` - Weekly
        * `BW` - Biweekly
        * `M` - Monthly
        * `BM` - Bimonthly
        * `Q` - Quarterly
        * `Y` - Yearly
        * `C` - Cron
    ScheduledTask:
      type: object
      description: Serializer for an individual scheduled task object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          nullable: true
          maxLength: 100
        func:
          type: string
          description: e.g. module.tasks.function
          maxLength: 256
        args:
          type: string
          nullable: true
          description: e.g. 1, 2, 'John'
        kwargs:
          type: string
          nullable: true
          description: e.g. x=1, y=2, name='John'
        schedule_type:
          $ref: '#/components/schemas/ScheduleTypeEnum'
        repeats:
          type: integer
          description: n = n times, -1 = forever
        last_run:
          type: string
          format: date-time
        next_run:
          type: string
          format: date-time
          nullable: true
        success:
          type: boolean
        task:
          type: string
          readOnly: true
          nullable: true
      required:
      - func
      - last_run
      - pk
      - success
      - task
    SerializeStockItem:
      type: object
      description: |-
        A DRF serializer for "serializing" a StockItem.

        (Sorry for the confusing naming...)

        Here, "serializing" means splitting out a single StockItem,
        into multiple single-quantity items with an assigned serial number

        Note: The base StockItem object is provided to the serializer context
      properties:
        quantity:
          type: integer
          minimum: 0
          description: Enter number of stock items to serialize
        serial_numbers:
          type: string
          description: Enter serial numbers for new items
        destination:
          type: integer
          title: Location
          description: Destination stock location
        notes:
          type: string
          description: Optional note field
      required:
      - destination
      - quantity
      - serial_numbers
    SocialAccount:
      type: object
      description: serialize allauth SocialAccounts for use with a REST API
      properties:
        id:
          type: integer
          readOnly: true
        provider:
          type: string
          maxLength: 200
        uid:
          type: string
          maxLength: 191
        last_login:
          type: string
          format: date-time
          readOnly: true
        date_joined:
          type: string
          format: date-time
          readOnly: true
      required:
      - date_joined
      - id
      - last_login
      - provider
      - uid
    SocialConnect:
      type: object
      properties:
        access_token:
          type: string
        code:
          type: string
        id_token:
          type: string
    Status46bEnum:
      enum:
      - 10
      - 50
      - 55
      - 60
      - 65
      - 70
      - 75
      - 85
      type: integer
      description: |-
        * `10` - OK
        * `50` - Attention needed
        * `55` - Damaged
        * `60` - Destroyed
        * `65` - Rejected
        * `70` - Lost
        * `75` - Quarantined
        * `85` - Returned
    StockAdd:
      type: object
      description: Serializer for adding stock to stock item(s).
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StockAdjustmentItem'
        notes:
          type: string
          description: Stock transaction notes
      required:
      - items
    StockAdjustmentItem:
      type: object
      description: |-
        Serializer for a single StockItem within a stock adjument request.

        Required Fields:
            - item: StockItem object
            - quantity: Numerical quantity

        Optional Fields (may be used by external tools)
            - status: Change StockItem status code
            - packaging: Change StockItem packaging
            - batch: Change StockItem batch code

        The optional fields can be used to adjust values for individual stock items
      properties:
        pk:
          type: integer
          title: stock_item
          description: StockItem primary key value
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
        batch:
          type: string
          title: Batch Code
          description: Batch code for this stock item
          maxLength: 100
        status:
          default: 10
          description: |-
            Stock item status code

            * `10` - OK
            * `50` - Attention needed
            * `55` - Damaged
            * `60` - Destroyed
            * `65` - Rejected
            * `70` - Lost
            * `75` - Quarantined
            * `85` - Returned
          oneOf:
          - $ref: '#/components/schemas/Status46bEnum'
          - $ref: '#/components/schemas/BlankEnum'
        packaging:
          type: string
          description: Packaging this stock item is stored in
          maxLength: 50
      required:
      - pk
      - quantity
    StockAssignment:
      type: object
      description: |-
        Serializer for assigning one (or more) stock items to a customer.

        This is a manual assignment process, separate for (for example) a Sales Order
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StockAssignmentItem'
        customer:
          type: integer
          description: Customer to assign stock items
        notes:
          type: string
          description: Stock assignment notes
      required:
      - customer
      - items
    StockAssignmentItem:
      type: object
      description: |-
        Serializer for a single StockItem with in StockAssignment request.

        Here, the particular StockItem is being assigned (manually) to a customer

        Fields:
            - item: StockItem object
      properties:
        item:
          type: integer
          title: Stock Item
      required:
      - item
    StockChangeStatus:
      type: object
      description: Serializer for changing status of multiple StockItem objects.
      properties:
        items:
          type: array
          items:
            type: integer
            title: Stock Items
          title: Stock Items
          description: Select stock items to change status
        status:
          allOf:
          - $ref: '#/components/schemas/Status46bEnum'
          default: 10
        note:
          type: string
          title: Notes
          description: Add transaction note (optional)
      required:
      - items
    StockCount:
      type: object
      description: Serializer for counting stock items.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StockAdjustmentItem'
        notes:
          type: string
          description: Stock transaction notes
      required:
      - items
    StockItem:
      type: object
      description: |-
        Serializer for a StockItem.

        - Includes serialization for the linked part
        - Includes serialization for the item location
      properties:
        batch:
          type: string
          nullable: true
          title: Batch Code
          description: Batch code for this stock item
          maxLength: 100
        belongs_to:
          type: integer
          nullable: true
          title: Installed In
          description: Is this item installed in another item?
        build:
          type: integer
          nullable: true
          title: Source Build
          description: Build for this stock item
        consumed_by:
          type: integer
          nullable: true
          description: Build order which consumed this stock item
        customer:
          type: integer
          nullable: true
          description: Customer
        delete_on_deplete:
          type: boolean
          description: Delete this Stock Item when stock is depleted
        expiry_date:
          type: string
          format: date
          nullable: true
          description: Expiry date for stock item. Stock will be considered expired
            after this date
        is_building:
          type: boolean
        link:
          type: string
          format: uri
          title: External Link
          description: Link to external URL
          maxLength: 200
        location:
          type: integer
          nullable: true
          title: Stock Location
          description: Where is this stock item located?
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        owner:
          type: integer
          nullable: true
          description: Select Owner
        packaging:
          type: string
          nullable: true
          description: Packaging this stock item is stored in
          maxLength: 50
        part:
          type: integer
          description: Base Part
        purchase_order:
          type: integer
          nullable: true
          title: Source Purchase Order
          description: Purchase order for this stock item
        purchase_order_reference:
          type: string
          readOnly: true
        pk:
          type: integer
          readOnly: true
          title: ID
        quantity:
          type: number
          format: double
        sales_order:
          type: integer
          nullable: true
          title: Destination Sales Order
        sales_order_reference:
          type: string
          readOnly: true
        serial:
          type: string
          nullable: true
          title: Serial Number
          description: Serial number for this item
          maxLength: 100
        status:
          allOf:
          - $ref: '#/components/schemas/Status46bEnum'
          minimum: 0
        status_text:
          type: string
          readOnly: true
        stocktake_date:
          type: string
          format: date
          readOnly: true
          nullable: true
        supplier_part:
          type: integer
          nullable: true
          description: Select a matching supplier part for this stock item
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp of last update
        purchase_price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
          description: Purchase price of this stock item, per unit or pack
        purchase_price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Purchase currency of this stock item

            * `EUR` - Euro
            * `USD` - US Dollar
        use_pack_size:
          type: boolean
          writeOnly: true
          nullable: true
          description: 'Use pack size when adding: the quantity defined is the number
            of packs'
        allocated:
          type: number
          format: double
        expired:
          type: boolean
          readOnly: true
        installed_items:
          type: integer
          readOnly: true
        child_items:
          type: integer
          readOnly: true
        stale:
          type: boolean
          readOnly: true
        tracking_items:
          type: integer
          readOnly: true
        tags:
          type: array
          items:
            type: string
      required:
      - barcode_hash
      - child_items
      - expired
      - installed_items
      - part
      - pk
      - purchase_order_reference
      - quantity
      - sales_order_reference
      - stale
      - status_text
      - stocktake_date
      - tracking_items
      - updated
    StockItemAttachment:
      type: object
      description: Serializer for StockItemAttachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: File comment
          maxLength: 100
        upload_date:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        stock_item:
          type: integer
      required:
      - pk
      - stock_item
      - upload_date
      - user_detail
    StockItemLabel:
      type: object
      description: Serializes a StockItemLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
      required:
      - label
      - name
      - pk
    StockItemSerializerBrief:
      type: object
      description: Brief serializers for a StockItem.
      properties:
        part:
          type: integer
          title: Base Part
          description: Base part
        part_name:
          type: string
          readOnly: true
        pk:
          type: integer
          readOnly: true
          title: ID
        location:
          type: integer
          nullable: true
          title: Stock Location
          description: Where is this stock item located?
        quantity:
          type: number
          format: double
        serial:
          type: string
          nullable: true
          title: Serial Number
          description: Serial number for this item
          maxLength: 100
        supplier_part:
          type: integer
          nullable: true
          description: Select a matching supplier part for this stock item
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
      required:
      - barcode_hash
      - part
      - part_name
      - pk
      - quantity
    StockItemTestResult:
      type: object
      description: Serializer for the StockItemTestResult model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        stock_item:
          type: integer
        key:
          type: string
          readOnly: true
        test:
          type: string
          description: Test name
          maxLength: 100
        result:
          type: boolean
          description: Test result
        value:
          type: string
          description: Test output value
          maxLength: 500
        attachment:
          type: string
          format: uri
        notes:
          type: string
          description: Test notes
          maxLength: 500
        user:
          type: integer
          readOnly: true
          nullable: true
        date:
          type: string
          format: date-time
          readOnly: true
      required:
      - date
      - key
      - pk
      - stock_item
      - test
      - user
    StockLocationLabel:
      type: object
      description: Serializes a StockLocationLabel object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Label name
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Label description
          maxLength: 250
        label:
          type: string
          format: uri
        filters:
          type: string
          description: Query filters (comma-separated list of key=value pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Label template is enabled
      required:
      - label
      - name
      - pk
    StockLocationReport:
      type: object
      description: Serializer class for the StockLocationReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: stock location query filters (comma-separated list of key=value
            pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    StockLocationType:
      type: object
      description: Serializer for StockLocationType model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Name
          maxLength: 100
        description:
          type: string
          description: Description (optional)
          maxLength: 250
        icon:
          type: string
          description: Default icon for all locations that have no icon set (optional)
          maxLength: 100
        location_count:
          type: integer
          readOnly: true
      required:
      - location_count
      - name
      - pk
    StockMerge:
      type: object
      description: Serializer for merging two (or more) stock items together.
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StockMergeItem'
        location:
          type: integer
          description: Destination stock location
        notes:
          type: string
          description: Stock merging notes
        allow_mismatched_suppliers:
          type: boolean
          description: Allow stock items with different supplier parts to be merged
        allow_mismatched_status:
          type: boolean
          description: Allow stock items with different status codes to be merged
      required:
      - items
      - location
    StockMergeItem:
      type: object
      description: |-
        Serializer for a single StockItem within the StockMergeSerializer class.

        Here, the individual StockItem is being checked for merge compatibility.
      properties:
        item:
          type: integer
          title: Stock Item
      required:
      - item
    StockRemove:
      type: object
      description: Serializer for removing stock from stock item(s).
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StockAdjustmentItem'
        notes:
          type: string
          description: Stock transaction notes
      required:
      - items
    StockTracking:
      type: object
      description: Serializer for StockItemTracking model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        item:
          type: integer
        date:
          type: string
          format: date-time
          readOnly: true
        deltas:
          type: object
          additionalProperties: {}
          readOnly: true
        label:
          type: string
          readOnly: true
        notes:
          type: string
          nullable: true
          description: Entry notes
          maxLength: 512
        tracking_type:
          type: integer
          readOnly: true
        user:
          type: integer
          readOnly: true
          nullable: true
      required:
      - date
      - deltas
      - item
      - label
      - pk
      - tracking_type
      - user
    StockTransfer:
      type: object
      description: Serializer for transferring (moving) stock item(s).
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/StockAdjustmentItem'
        notes:
          type: string
          description: Stock transaction notes
        location:
          type: integer
          description: Destination stock location
      required:
      - items
      - location
    SupplierPart:
      type: object
      description: Serializer for SupplierPart object.
      properties:
        available:
          type: number
          format: double
        availability_updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Date of last update of availability data
        description:
          type: string
          nullable: true
          description: Supplier part description
          maxLength: 250
        in_stock:
          type: number
          format: double
          readOnly: true
        link:
          type: string
          format: uri
          nullable: true
          description: URL for external supplier part link
          maxLength: 200
        manufacturer:
          type: string
          readOnly: true
        manufacturer_part:
          type: integer
          nullable: true
          description: Select manufacturer part
        MPN:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        note:
          type: string
          nullable: true
          description: Notes
          maxLength: 100
        pk:
          type: integer
          readOnly: true
          title: ID
        barcode_hash:
          type: string
          readOnly: true
          description: Unique hash of barcode data
        packaging:
          type: string
          nullable: true
          description: Part packaging
          maxLength: 50
        pack_quantity:
          type: string
          description: Total quantity supplied in a single pack. Leave empty for single
            items.
          maxLength: 25
        pack_quantity_native:
          type: number
          format: double
          readOnly: true
        part:
          type: integer
          title: Base Part
          description: Select part
        SKU:
          type: string
          description: Supplier stock keeping unit
          maxLength: 100
        supplier:
          type: integer
        supplier_detail:
          allOf:
          - $ref: '#/components/schemas/CompanyBrief'
          readOnly: true
        url:
          type: string
          readOnly: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        tags:
          type: array
          items:
            type: string
      required:
      - MPN
      - SKU
      - availability_updated
      - barcode_hash
      - in_stock
      - manufacturer
      - name
      - pack_quantity_native
      - part
      - pk
      - supplier
      - supplier_detail
      - updated
      - url
    SupplierPriceBreak:
      type: object
      description: Serializer for SupplierPriceBreak object.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        part:
          type: integer
        quantity:
          type: number
          format: double
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          nullable: true
        price_currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          title: Currency
          description: |-
            Select currency from available options

            * `EUR` - Euro
            * `USD` - US Dollar
        supplier:
          type: integer
          readOnly: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp of last update
      required:
      - part
      - pk
      - price
      - quantity
      - supplier
      - updated
    TestReport:
      type: object
      description: Serializer class for the TestReport model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Report template description
          maxLength: 250
        template:
          type: string
          format: uri
        filters:
          type: string
          description: StockItem query filters (comma-separated list of key=value
            pairs)
          maxLength: 250
        enabled:
          type: boolean
          description: Report template is enabled
      required:
      - description
      - name
      - pk
      - template
    Token:
      type: object
      description: Serializer for Token model.
      properties:
        key:
          type: string
          maxLength: 100
          minLength: 50
    UninstallStockItem:
      type: object
      description: API serializers for uninstalling an installed item from a stock
        item.
      properties:
        location:
          type: integer
          description: Destination location for uninstalled item
        note:
          type: string
          title: Notes
          description: Add transaction note (optional)
      required:
      - location
    User:
      type: object
      description: Serializer for a User.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
      required:
      - pk
      - username
    UserCreate:
      type: object
      description: Serializer for creating a new User.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          readOnly: true
        is_staff:
          type: boolean
          title: Staff status
          description: Designates whether the user can log into this admin site.
        is_superuser:
          type: boolean
          title: Superuser status
          description: Designates that this user has all permissions without explicitly
            assigning them.
        is_active:
          type: boolean
          title: Active
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
      required:
      - groups
      - pk
      - username
    UserDetails:
      type: object
      description: User model w/o password
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        email:
          type: string
          format: email
          readOnly: true
          title: Email address
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
      required:
      - email
      - pk
      - username
    UserSettings:
      type: object
      description: Serializer for the InvenTreeUserSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: string
          readOnly: true
        value:
          type: string
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        user:
          type: integer
          readOnly: true
        type:
          type: string
          readOnly: true
        units:
          type: string
          readOnly: true
        choices:
          type: string
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
      required:
      - api_url
      - choices
      - description
      - key
      - model_name
      - name
      - pk
      - typ
      - type
      - units
      - user
      - value
    VerifyEmail:
      type: object
      properties:
        key:
          type: string
          writeOnly: true
      required:
      - key
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
externalDocs:
  description: More information about InvenTree in the official docs
  url: https://docs.inventree.org
