openapi: 3.0.3
info:
  title: InvenTree API
  version: '250'
  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: action_create
      description: This function checks if all required info was submitted and then
        performs a plugin_action or returns an error.
      tags:
      - action
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionPlugin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ActionPlugin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ActionPlugin'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionPlugin'
          description: ''
  /api/admin/config/:
    get:
      operationId: 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:
      - admin
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/admin/config/{key}/:
    get:
      operationId: admin_config_retrieve
      description: Detail view for an individual configuration.
      parameters:
      - in: path
        name: key
        schema:
          type: string
        required: true
      tags:
      - admin
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/attachment/:
    get:
      operationId: attachment_list
      description: List API endpoint for Attachment objects.
      parameters:
      - in: query
        name: is_file
        schema:
          type: boolean
        description: Is File
      - in: query
        name: is_link
        schema:
          type: boolean
        description: Is Link
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: model_id
        schema:
          type: integer
      - in: query
        name: model_type
        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: upload_user
        schema:
          type: integer
      tags:
      - attachment
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAttachmentList'
          description: ''
    post:
      operationId: attachment_create
      description: List API endpoint for Attachment objects.
      tags:
      - attachment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Attachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Attachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Attachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
          description: ''
    delete:
      operationId: 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:
      - attachment
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/attachment/{id}/:
    get:
      operationId: attachment_retrieve
      description: Detail API endpoint for Attachment objects.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - attachment
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
          description: ''
    put:
      operationId: attachment_update
      description: Detail API endpoint for Attachment objects.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - attachment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Attachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Attachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Attachment'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
          description: ''
    patch:
      operationId: attachment_partial_update
      description: Detail API endpoint for Attachment objects.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - attachment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAttachment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedAttachment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedAttachment'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attachment'
          description: ''
    delete:
      operationId: attachment_destroy_2
      description: Detail API endpoint for Attachment objects.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - attachment
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/attachment/{id}/metadata/:
    get:
      operationId: attachment_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:
      - attachment
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: attachment_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:
      - attachment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: attachment_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:
      - attachment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/auth/emails/:
    get:
      operationId: 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:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEmailAddressList'
          description: ''
    post:
      operationId: auth_emails_create
      description: List of registered email addresses for current users.
      tags:
      - auth
      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: auth_emails_primary_create
      description: Filter item, run action and return data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/emails/{id}/remove/:
    post:
      operationId: auth_emails_remove_create
      description: Filter item, run action and return data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/emails/{id}/verify/:
    post:
      operationId: auth_emails_verify_create
      description: Filter item, run action and return data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAddress'
          description: ''
  /api/auth/login/:
    post:
      operationId: auth_login_create
      description: API view for logging in via API.
      tags:
      - auth
      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:
      - basicAuth: []
      - {}
      responses:
        '200':
          description: User successfully logged in
  /api/auth/logout/:
    get:
      operationId: auth_logout_retrieve
      description: API view for logging out via API.
      tags:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
    post:
      operationId: auth_logout_create
      description: |-
        Logout the current user.

        Deletes user token associated with request.
      tags:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: User successfully logged out
  /api/auth/password/change/:
    post:
      operationId: 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:
      - auth
      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: auth_password_reset_create
      description: |-
        Calls Django Auth PasswordResetForm save method.

        Accepts the following POST parameters: email
        Returns the success/fail message.
      tags:
      - auth
      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: 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:
      - auth
      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: auth_providers_list
      description: Get the list of providers.
      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:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSocialProviderListResponseList'
          description: ''
  /api/auth/registration/:
    post:
      operationId: auth_registration_create
      tags:
      - auth
      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: auth_registration_resend_email_create
      tags:
      - auth
      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: auth_registration_verify_email_create
      tags:
      - auth
      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: 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:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSocialAccountList'
          description: ''
  /api/auth/social/{id}/disconnect/:
    post:
      operationId: 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:
      - auth
      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: 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:
      - auth
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetails'
          description: ''
    put:
      operationId: 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:
      - auth
      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: 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:
      - auth
      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: background_task_retrieve
      description: Return information about the current status of the background task
        queue.
      tags:
      - background-task
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/background-task/failed/:
    get:
      operationId: 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:
      - background-task
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFailedTaskList'
          description: ''
    delete:
      operationId: 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:
      - background-task
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/background-task/pending/:
    get:
      operationId: 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:
      - background-task
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPendingTaskList'
          description: ''
    delete:
      operationId: 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:
      - background-task
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/background-task/scheduled/:
    get:
      operationId: 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:
      - background-task
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedScheduledTaskList'
          description: ''
  /api/barcode/:
    post:
      operationId: 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:
      - barcode
      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/generate/:
    post:
      operationId: barcode_generate_create
      description: |-
        Endpoint for generating a barcode for a database object.

        The barcode is generated by the selected barcode plugin.
      tags:
      - barcode
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BarcodeGenerate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BarcodeGenerate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BarcodeGenerate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Barcode'
          description: ''
  /api/barcode/link/:
    post:
      operationId: 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:
      - barcode
      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: 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:
      - barcode
      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: 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:
      - barcode
      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: 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:
      - barcode
      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: barcode_unlink_create
      description: Endpoint for unlinking / unassigning a custom barcode from a database
        object.
      tags:
      - barcode
      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: bom_list
      description: Override the 'get' method to check for the export query parameter.
      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
        schema:
          type: integer
        description: Part
      - in: query
        name: part_active
        schema:
          type: boolean
        description: Assembly part is active
      - in: query
        name: part_testable
        schema:
          type: boolean
        description: Assembly part is testable
      - in: query
        name: part_trackable
        schema:
          type: boolean
        description: Assembly 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: Component part is an assembly
      - in: query
        name: sub_part_testable
        schema:
          type: boolean
        description: Component part is testable
      - in: query
        name: sub_part_trackable
        schema:
          type: boolean
        description: Component part is trackable
      - in: query
        name: uses
        schema:
          type: integer
      - in: query
        name: validated
        schema:
          type: boolean
      tags:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBomItemList'
          description: ''
    post:
      operationId: 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:
      - bom
      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: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/bom/{id}/:
    get:
      operationId: bom_retrieve
      description: API endpoint for detail view of a single BomItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItem'
          description: ''
    put:
      operationId: bom_update
      description: API endpoint for detail view of a single BomItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - bom
      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: 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:
      - bom
      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: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/bom/{id}/metadata/:
    get:
      operationId: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - bom
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - bom
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/bom/{id}/validate/:
    put:
      operationId: bom_validate_update
      description: API endpoint for validating a BomItem.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - bom
      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: bom_validate_partial_update
      description: API endpoint for validating a BomItem.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - bom
      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: bom_import_extract_create
      description: API endpoint for extracting BOM data from a BOM file.
      tags:
      - bom
      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: bom_import_submit_create
      description: API endpoint for submitting BOM data from a BOM file.
      tags:
      - bom
      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: 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:
      - bom
      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: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBomItemSubstituteList'
          description: ''
    post:
      operationId: bom_substitute_create
      description: API endpoint for accessing a list of BomItemSubstitute objects.
      tags:
      - bom
      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: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BomItemSubstitute'
          description: ''
    put:
      operationId: 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:
      - bom
      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: 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:
      - bom
      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: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/bom/substitute/{id}/metadata/:
    get:
      operationId: 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:
      - bom
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - bom
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - bom
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/build/:
    get:
      operationId: build_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: active
        schema:
          type: boolean
        description: Build is active
      - in: query
        name: ancestor
        schema:
          type: string
        description: Ancestor Build
      - in: query
        name: assigned_to
        schema:
          type: integer
        description: Assigned To
      - 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
        description: Issued By
      - 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
        description: Parent Build
      - 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:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildList'
          description: ''
    post:
      operationId: 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:
      - build
      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: build_retrieve
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
          description: ''
    put:
      operationId: build_update
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: build_partial_update
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: build_destroy
      description: API endpoint for detail view of a Build object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/{id}/allocate/:
    post:
      operationId: 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:
      - build
      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: 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:
      - build
      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: build_cancel_create
      description: API endpoint for cancelling a BuildOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: build_complete_create
      description: API endpoint for completing build outputs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: build_create_output_create
      description: API endpoint for creating new build output(s).
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: build_delete_outputs_create
      description: API endpoint for deleting multiple build outputs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: build_finish_create
      description: API endpoint for marking a build as finished (completed).
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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}/hold/:
    post:
      operationId: build_hold_create
      description: API endpoint for placing a BuildOrder on hold.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/build/{id}/issue/:
    post:
      operationId: build_issue_create
      description: API endpoint for issuing a BuildOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/build/{id}/metadata/:
    get:
      operationId: 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:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - build
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - build
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/build/{id}/scrap-outputs/:
    post:
      operationId: build_scrap_outputs_create
      description: API endpoint for scrapping build output(s).
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: 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:
      - build
      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/item/:
    get:
      operationId: build_item_list
      description: Override the 'get' method to check for the export query parameter.
      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
      - 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: stock_item
        schema:
          type: integer
      - in: query
        name: tracked
        schema:
          type: boolean
        description: Tracked
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildItemList'
          description: ''
    post:
      operationId: 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:
      - build
      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: ''
    delete:
      operationId: build_item_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:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/item/{id}/:
    get:
      operationId: build_item_retrieve
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildItem'
          description: ''
    put:
      operationId: build_item_update
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: 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:
      - build
      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: build_item_destroy_2
      description: API endpoint for detail view of a BuildItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/item/{id}/metadata/:
    get:
      operationId: 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:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - build
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - build
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/build/line/:
    get:
      operationId: build_line_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: allocated
        schema:
          type: boolean
        description: Allocated
      - in: query
        name: assembly
        schema:
          type: boolean
        description: Assembly
      - 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: testable
        schema:
          type: boolean
        description: Testable
      - in: query
        name: tracked
        schema:
          type: boolean
        description: Tracked
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuildLineList'
          description: ''
    post:
      operationId: build_line_create
      description: API endpoint for accessing a list of BuildLine objects
      tags:
      - build
      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: build_line_retrieve
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuildLine'
          description: ''
    put:
      operationId: build_line_update
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      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: 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:
      - build
      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: build_line_destroy
      description: API endpoint for detail view of a BuildLine object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/build/status/:
    get:
      operationId: build_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - build
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/company/:
    get:
      operationId: company_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: active
        schema:
          type: boolean
      - 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCompanyList'
          description: ''
    post:
      operationId: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
          description: ''
    put:
      operationId: 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:
      - company
      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: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/{id}/metadata/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/company/address/:
    get:
      operationId: company_address_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAddressList'
          description: ''
    post:
      operationId: company_address_create
      description: API endpoint for list view of Address model.
      tags:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/address/{id}/:
    get:
      operationId: company_address_retrieve
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
          description: ''
    put:
      operationId: company_address_update
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - company
      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: company_address_partial_update
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - company
      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: company_address_destroy_2
      description: API endpoint for a single Address object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/contact/:
    get:
      operationId: company_contact_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedContactList'
          description: ''
    post:
      operationId: company_contact_create
      description: API endpoint for list view of Company model.
      tags:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/contact/{id}/:
    get:
      operationId: company_contact_retrieve
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
          description: ''
    put:
      operationId: company_contact_update
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      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: company_contact_partial_update
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      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: company_contact_destroy_2
      description: Detail endpoint for Company model.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/contact/{id}/metadata/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/company/part/:
    get:
      operationId: company_part_list
      description: Override the 'get' method to check for the export query parameter.
      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
        description: Supplier Part is Active
      - 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
      - in: query
        name: part_active
        schema:
          type: boolean
        description: Internal Part is Active
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: supplier
        schema:
          type: integer
      - in: query
        name: supplier_active
        schema:
          type: boolean
        description: Supplier is Active
      - in: query
        name: tags__name
        schema:
          type: string
      - in: query
        name: tags__slug
        schema:
          type: string
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierPartList'
          description: ''
    post:
      operationId: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/{id}/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPart'
          description: ''
    put:
      operationId: 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:
      - company
      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: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/{id}/metadata/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/company/part/manufacturer/:
    get:
      operationId: company_part_manufacturer_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: MPN
        schema:
          type: string
      - 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_active
        schema:
          type: boolean
        description: Manufacturer is Active
      - 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: part_active
        schema:
          type: boolean
        description: Part is Active
      - 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedManufacturerPartList'
          description: ''
    post:
      operationId: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/{id}/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPart'
          description: ''
    put:
      operationId: 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:
      - company
      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: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/{id}/metadata/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - company
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/company/part/manufacturer/parameter/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedManufacturerPartParameterList'
          description: ''
    post:
      operationId: company_part_manufacturer_parameter_create
      description: API endpoint for list view of ManufacturerPartParamater model.
      tags:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/part/manufacturer/parameter/{id}/:
    get:
      operationId: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManufacturerPartParameter'
          description: ''
    put:
      operationId: 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:
      - company
      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: 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:
      - company
      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: 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:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/company/price-break/:
    get:
      operationId: 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
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: supplier
        schema:
          type: integer
        description: Supplier
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierPriceBreakList'
          description: ''
    post:
      operationId: 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:
      - company
      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: company_price_break_retrieve
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierPriceBreak'
          description: ''
    put:
      operationId: company_price_break_update
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      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: company_price_break_partial_update
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      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: company_price_break_destroy
      description: Detail endpoint for SupplierPriceBreak object.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - company
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/contenttype/:
    get:
      operationId: contenttype_list
      description: List view for ContentTypes.
      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:
      - contenttype
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedContentTypeList'
          description: ''
  /api/contenttype/{id}/:
    get:
      operationId: contenttype_retrieve
      description: Detail view for a ContentType model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - contenttype
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentType'
          description: ''
  /api/contenttype/model/{model}/:
    get:
      operationId: contenttype_retrieve_model
      description: Detail view for a ContentType model.
      parameters:
      - in: path
        name: model
        schema:
          type: string
        required: true
      tags:
      - contenttype
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentType'
          description: ''
  /api/currency/exchange/:
    get:
      operationId: currency_exchange_retrieve
      description: Return information on available currency conversions.
      tags:
      - currency
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrencyExchange'
          description: ''
  /api/currency/refresh/:
    post:
      operationId: currency_refresh_create
      description: Performing a POST request will update currency exchange rates.
      tags:
      - currency
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/email/generate/:
    post:
      operationId: email_generate_create
      description: Get the token for the current user or fail.
      tags:
      - email
      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: 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:
      - error-report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedErrorMessageList'
          description: ''
    delete:
      operationId: 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:
      - error-report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/error-report/{id}/:
    get:
      operationId: error_report_retrieve
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - error-report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
          description: ''
    put:
      operationId: error_report_update
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - error-report
      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: error_report_partial_update
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - error-report
      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: error_report_destroy_2
      description: Detail view for a single error message.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - error-report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/flags/:
    get:
      operationId: 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:
      - flags
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/flags/{key}/:
    get:
      operationId: flags_retrieve
      description: Detail view for an individual feature flag.
      parameters:
      - in: path
        name: key
        schema:
          type: string
        required: true
      tags:
      - flags
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          description: No response body
  /api/generate/batch-code/:
    post:
      operationId: generate_batch_code_create
      description: Generate a new batch code.
      tags:
      - generate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateBatchCode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenerateBatchCode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GenerateBatchCode'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateBatchCode'
          description: ''
  /api/generate/serial-number/:
    post:
      operationId: generate_serial_number_create
      description: Generate a new serial number.
      tags:
      - generate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateSerialNumber'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GenerateSerialNumber'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GenerateSerialNumber'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateSerialNumber'
          description: ''
  /api/generic/status/:
    get:
      operationId: generic_status_retrieve
      description: Perform a GET request to learn information about status codes.
      tags:
      - generic
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/generic/status/{statusmodel}/:
    get:
      operationId: generic_status_retrieve_2
      description: Retrieve information about a specific status code
      parameters:
      - in: path
        name: statusmodel
        schema:
          type: string
        required: true
      tags:
      - generic
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/generic/status/custom/:
    get:
      operationId: generic_status_custom_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - generic
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomStateList'
          description: ''
    post:
      operationId: generic_status_custom_create
      description: List view for all custom states.
      tags:
      - generic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomState'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomState'
          description: ''
  /api/generic/status/custom/{id}/:
    get:
      operationId: generic_status_custom_retrieve
      description: Detail view for a particular custom states.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - generic
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomState'
          description: ''
    put:
      operationId: generic_status_custom_update
      description: Detail view for a particular custom states.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - generic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomState'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomState'
          description: ''
    patch:
      operationId: generic_status_custom_partial_update
      description: Detail view for a particular custom states.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - generic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCustomState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCustomState'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomState'
          description: ''
    delete:
      operationId: generic_status_custom_destroy
      description: Detail view for a particular custom states.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - generic
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/icons/:
    get:
      operationId: icons_list
      description: List view for available icon packages.
      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:
      - icons
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedIconPackageList'
          description: ''
  /api/importer/column-mapping/:
    get:
      operationId: importer_column_mapping_list
      description: API endpoint for accessing a list of DataImportColumnMap 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
      - in: query
        name: session
        schema:
          type: integer
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDataImportColumnMapList'
          description: ''
  /api/importer/column-mapping/{id}/:
    get:
      operationId: importer_column_mapping_retrieve
      description: Detail endpoint for a single DataImportColumnMap object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportColumnMap'
          description: ''
    put:
      operationId: importer_column_mapping_update
      description: Detail endpoint for a single DataImportColumnMap object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataImportColumnMap'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataImportColumnMap'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataImportColumnMap'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportColumnMap'
          description: ''
    patch:
      operationId: importer_column_mapping_partial_update
      description: Detail endpoint for a single DataImportColumnMap object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDataImportColumnMap'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDataImportColumnMap'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDataImportColumnMap'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportColumnMap'
          description: ''
  /api/importer/models/:
    get:
      operationId: importer_models_retrieve
      description: Return a list of models available for import.
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/importer/row/:
    get:
      operationId: importer_row_list
      description: API endpoint for accessing a list of DataImportRow objects.
      parameters:
      - in: query
        name: complete
        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
      - in: query
        name: session
        schema:
          type: integer
      - in: query
        name: valid
        schema:
          type: boolean
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDataImportRowList'
          description: ''
    delete:
      operationId: importer_row_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:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/importer/row/{id}/:
    get:
      operationId: importer_row_retrieve
      description: Detail endpoint for a single DataImportRow object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportRow'
          description: ''
    put:
      operationId: importer_row_update
      description: Detail endpoint for a single DataImportRow object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataImportRow'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataImportRow'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataImportRow'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportRow'
          description: ''
    patch:
      operationId: importer_row_partial_update
      description: Detail endpoint for a single DataImportRow object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDataImportRow'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDataImportRow'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDataImportRow'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportRow'
          description: ''
    delete:
      operationId: importer_row_destroy_2
      description: Detail endpoint for a single DataImportRow object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/importer/session/:
    get:
      operationId: importer_session_list
      description: API endpoint for accessing a list of DataImportSession objects.
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: model_type
        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: status
        schema:
          type: integer
          enum:
          - 0
          - 10
          - 20
          - 30
          - 40
        description: |-
          Import status

          * `0` - Initializing
          * `10` - Mapping Columns
          * `20` - Importing Data
          * `30` - Processing Data
          * `40` - Complete
      - in: query
        name: user
        schema:
          type: integer
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDataImportSessionList'
          description: ''
    post:
      operationId: importer_session_create
      description: API endpoint for accessing a list of DataImportSession objects.
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataImportSession'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataImportSession'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataImportSession'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportSession'
          description: ''
    delete:
      operationId: importer_session_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:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/importer/session/{id}/:
    get:
      operationId: importer_session_retrieve
      description: Detail endpoint for a single DataImportSession object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportSession'
          description: ''
    put:
      operationId: importer_session_update
      description: Detail endpoint for a single DataImportSession object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataImportSession'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataImportSession'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataImportSession'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportSession'
          description: ''
    patch:
      operationId: importer_session_partial_update
      description: Detail endpoint for a single DataImportSession object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDataImportSession'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDataImportSession'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDataImportSession'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportSession'
          description: ''
    delete:
      operationId: importer_session_destroy_2
      description: Detail endpoint for a single DataImportSession object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/importer/session/{id}/accept_fields/:
    post:
      operationId: importer_session_accept_fields_create
      description: Accept the field mapping for a DataImportSession.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportSession'
          description: ''
  /api/importer/session/{id}/accept_rows/:
    post:
      operationId: importer_session_accept_rows_create
      description: API endpoint to accept the rows for a DataImportSession.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - importer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataImportAcceptRow'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataImportAcceptRow'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataImportAcceptRow'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataImportAcceptRow'
          description: ''
  /api/label/output/:
    get:
      operationId: label_output_list
      description: List endpoint for LabelOutput 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:
      - label
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLabelOutputList'
          description: ''
    delete:
      operationId: label_output_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:
      - label
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/label/print/:
    post:
      operationId: label_print_create
      description: POST action for printing labels.
      tags:
      - label
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabelPrint'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LabelPrint'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LabelPrint'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelPrint'
          description: ''
  /api/label/template/:
    get:
      operationId: label_template_list
      description: API endpoint for viewing list of LabelTemplate objects.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - in: query
        name: items
        schema:
          type: string
        description: Items
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: model_type
        schema:
          type: string
          enum:
          - build
          - buildline
          - part
          - purchaseorder
          - returnorder
          - salesorder
          - stockitem
          - stocklocation
        description: |-
          Model Type

          * `build` - Build Order
          * `buildline` - Build Order Line Item
          * `purchaseorder` - Purchase Order
          * `salesorder` - Sales Order
          * `returnorder` - Return Order
          * `part` - Part
          * `stockitem` - Stock Item
          * `stocklocation` - Stock Location
      - 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:
      - label
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLabelTemplateList'
          description: ''
    post:
      operationId: label_template_create
      description: API endpoint for viewing list of LabelTemplate objects.
      tags:
      - label
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabelTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LabelTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LabelTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelTemplate'
          description: ''
  /api/label/template/{id}/:
    get:
      operationId: label_template_retrieve
      description: Detail API endpoint for label template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - label
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelTemplate'
          description: ''
    put:
      operationId: label_template_update
      description: Detail API endpoint for label template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - label
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabelTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LabelTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LabelTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelTemplate'
          description: ''
    patch:
      operationId: label_template_partial_update
      description: Detail API endpoint for label template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - label
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedLabelTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedLabelTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedLabelTemplate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelTemplate'
          description: ''
    delete:
      operationId: label_template_destroy
      description: Detail API endpoint for label template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - label
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/label/template/{id}/metadata/:
    get:
      operationId: label_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:
      - label
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: label_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:
      - label
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: label_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:
      - label
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/license/:
    get:
      operationId: license_retrieve
      description: Return information about the InvenTree server.
      tags:
      - license
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseView'
          description: ''
  /api/locate/:
    post:
      operationId: locate_create
      description: Identify or 'locate' a stock item or location with a plugin.
      tags:
      - locate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocatePlugin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LocatePlugin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LocatePlugin'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocatePlugin'
          description: ''
  /api/machine/:
    get:
      operationId: machine_list
      description: |-
        API endpoint for list of Machine objects.

        - GET: Return a list of all Machine objects
        - POST: create a MachineConfig
      parameters:
      - in: query
        name: active
        schema:
          type: boolean
      - in: query
        name: driver
        schema:
          type: string
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: machine_type
        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:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMachineConfigList'
          description: ''
    post:
      operationId: machine_create
      description: |-
        API endpoint for list of Machine objects.

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

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

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

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

        - GET: return a single MachineConfig
        - PUT: update a MachineConfig
        - PATCH: partial update a MachineConfig
        - DELETE: delete a MachineConfig
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/machine/{id}/restart/:
    post:
      operationId: machine_restart_create
      description: Restart machine by pk.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineRestart'
          description: ''
  /api/machine/{id}/settings/:
    get:
      operationId: machine_settings_list
      description: Return all settings for a machine config.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MachineSetting'
          description: ''
  /api/machine/{id}/settings/{config_type}/{key}/:
    get:
      operationId: machine_settings_retrieve
      description: |-
        Detail endpoint for a machine-specific setting.

        - GET: Get machine setting detail
        - PUT: Update machine setting
        - PATCH: Update machine setting

        (Note that these cannot be created or deleted via API)
      parameters:
      - in: path
        name: config_type
        schema:
          type: string
          pattern: ^M|D$
        required: true
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineSetting'
          description: ''
    put:
      operationId: machine_settings_update
      description: |-
        Detail endpoint for a machine-specific setting.

        - GET: Get machine setting detail
        - PUT: Update machine setting
        - PATCH: Update machine setting

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

        - GET: Get machine setting detail
        - PUT: Update machine setting
        - PATCH: Update machine setting

        (Note that these cannot be created or deleted via API)
      parameters:
      - in: path
        name: config_type
        schema:
          type: string
          pattern: ^M|D$
        required: true
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      - in: path
        name: key
        schema:
          type: string
          pattern: ^\w+$
        required: true
      tags:
      - machine
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMachineSetting'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMachineSetting'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMachineSetting'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineSetting'
          description: ''
  /api/machine/drivers/:
    get:
      operationId: machine_drivers_list
      description: List all machine drivers.
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MachineDriver'
          description: ''
  /api/machine/status/:
    get:
      operationId: machine_status_retrieve
      description: Provide status data for the machine registry.
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineRegistryStatus'
          description: ''
  /api/machine/types/:
    get:
      operationId: machine_types_list
      description: List all machine types.
      tags:
      - machine
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MachineType'
          description: ''
  /api/news/:
    get:
      operationId: 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:
      - news
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNewsFeedEntryList'
          description: ''
    delete:
      operationId: 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:
      - news
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/news/{id}/:
    get:
      operationId: news_retrieve
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - news
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsFeedEntry'
          description: ''
    put:
      operationId: news_update
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - news
      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: news_partial_update
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - news
      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: news_destroy_2
      description: Detail view for an individual news feed object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - news
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/notes-image-upload/:
    get:
      operationId: 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
      - 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:
      - notes-image-upload
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNotesImageList'
          description: ''
    post:
      operationId: notes_image_upload_create
      description: List view for all notes images.
      tags:
      - notes-image-upload
      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: 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:
      - notifications
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNotificationMessageList'
          description: ''
    delete:
      operationId: 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:
      - notifications
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/notifications/{id}/:
    get:
      operationId: 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:
      - notifications
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationMessage'
          description: ''
    put:
      operationId: 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:
      - notifications
      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: 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:
      - notifications
      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: 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:
      - notifications
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/notifications/readall/:
    get:
      operationId: notifications_readall_retrieve
      description: Set all messages for the current user as read.
      tags:
      - notifications
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationMessage'
          description: ''
  /api/order/po/:
    get:
      operationId: order_po_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: assigned_to
        schema:
          type: integer
        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
      - 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
        description: Project Code
      - in: query
        name: reference
        schema:
          type: string
        description: Order 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderList'
          description: ''
    post:
      operationId: 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:
      - order
      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: order_po_extra_line_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderExtraLineList'
          description: ''
    post:
      operationId: order_po_extra_line_create
      description: API endpoint for accessing a list of PurchaseOrderExtraLine objects.
      tags:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderExtraLine'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po-extra-line/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/po-line/:
    get:
      operationId: order_po_line_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: base_part
        schema:
          type: integer
        description: Internal Part
      - 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
        description: Order
      - in: query
        name: order_complete
        schema:
          type: boolean
        description: Order Complete
      - 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
        description: Supplier Part
      - in: query
        name: pending
        schema:
          type: boolean
        description: Order Pending
      - in: query
        name: received
        schema:
          type: boolean
        description: Items Received
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPurchaseOrderLineItemList'
          description: ''
    post:
      operationId: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po-line/{id}/:
    get:
      operationId: order_po_line_retrieve
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrderLineItem'
          description: ''
    put:
      operationId: order_po_line_update
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: order_po_line_partial_update
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: order_po_line_destroy_2
      description: Detail API endpoint for PurchaseOrderLineItem object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po-line/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/po/{id}/:
    get:
      operationId: order_po_retrieve
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseOrder'
          description: ''
    put:
      operationId: order_po_update
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: 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:
      - order
      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: order_po_destroy
      description: API endpoint for detail view of a PurchaseOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/po/{id}/cancel/:
    post:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/po/{id}/complete/:
    post:
      operationId: order_po_complete_create
      description: API endpoint to 'complete' a purchase order.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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}/hold/:
    post:
      operationId: order_po_hold_create
      description: API endpoint to place a PurchaseOrder on hold.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/po/{id}/issue/:
    post:
      operationId: order_po_issue_create
      description: API endpoint to 'issue' (place) a PurchaseOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/po/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/po/{id}/receive/:
    post:
      operationId: 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:
      - order
      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/status/:
    get:
      operationId: order_po_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/order/ro/:
    get:
      operationId: order_ro_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: assigned_to
        schema:
          type: integer
        description: Responsible
      - 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
        description: Project Code
      - in: query
        name: reference
        schema:
          type: string
        description: Order 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderList'
          description: ''
    post:
      operationId: order_ro_create
      description: API endpoint for accessing a list of ReturnOrder objects.
      tags:
      - order
      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: order_ro_extra_line_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderExtraLineList'
          description: ''
    post:
      operationId: order_ro_extra_line_create
      description: API endpoint for accessing a list of ReturnOrderExtraLine objects.
      tags:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderExtraLine'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro-extra-line/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/ro-line/:
    get:
      operationId: order_ro_line_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReturnOrderLineItemList'
          description: ''
    post:
      operationId: order_ro_line_create
      description: API endpoint for accessing a list of ReturnOrderLineItemList objects.
      tags:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrderLineItem'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro-line/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/ro-line/status/:
    get:
      operationId: order_ro_line_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/order/ro/{id}/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReturnOrder'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/ro/{id}/cancel/:
    post:
      operationId: order_ro_cancel_create
      description: API endpoint to cancel a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/complete/:
    post:
      operationId: order_ro_complete_create
      description: API endpoint to complete a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/hold/:
    post:
      operationId: order_ro_hold_create
      description: API endpoint to hold a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/issue/:
    post:
      operationId: order_ro_issue_create
      description: API endpoint to issue (place) a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/ro/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/ro/{id}/receive/:
    post:
      operationId: order_ro_receive_create
      description: API endpoint to receive items against a ReturnOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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/status/:
    get:
      operationId: order_ro_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/order/so/:
    get:
      operationId: order_so_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: assigned_to
        schema:
          type: integer
        description: Responsible
      - 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
        description: Project Code
      - in: query
        name: reference
        schema:
          type: string
        description: Order 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderList'
          description: ''
    post:
      operationId: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderAllocationList'
          description: ''
  /api/order/so-allocation/{id}/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderAllocation'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so-extra-line/:
    get:
      operationId: order_so_extra_line_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderExtraLineList'
          description: ''
    post:
      operationId: order_so_extra_line_create
      description: API endpoint for accessing a list of SalesOrderExtraLine objects.
      tags:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderExtraLine'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so-extra-line/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/so-line/:
    get:
      operationId: order_so_line_list
      description: Override the 'get' method to check for the export query parameter.
      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
        description: Order
      - in: query
        name: order_complete
        schema:
          type: boolean
        description: Order Complete
      - 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
        description: Part
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderLineItemList'
          description: ''
    post:
      operationId: order_so_line_create
      description: API endpoint for accessing a list of SalesOrderLineItem objects.
      tags:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderLineItem'
          description: ''
    put:
      operationId: 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:
      - order
      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: 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:
      - order
      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: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so-line/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/so/{id}/:
    get:
      operationId: order_so_retrieve
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrder'
          description: ''
    put:
      operationId: order_so_update
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: 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:
      - order
      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: order_so_destroy
      description: API endpoint for detail view of a SalesOrder object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so/{id}/allocate/:
    post:
      operationId: 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:
      - order
      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: 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:
      - order
      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: order_so_cancel_create
      description: API endpoint to cancel a SalesOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/so/{id}/complete/:
    post:
      operationId: 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:
      - order
      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}/hold/:
    post:
      operationId: order_so_hold_create
      description: API endpoint to place a SalesOrder on hold.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/so/{id}/issue/:
    post:
      operationId: order_so_issue_create
      description: API endpoint to issue a SalesOrder.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          description: No response body
  /api/order/so/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/so/shipment/:
    get:
      operationId: 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
      - 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: shipped
        schema:
          type: boolean
        description: shipped
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSalesOrderShipmentList'
          description: ''
    post:
      operationId: order_so_shipment_create
      description: API list endpoint for SalesOrderShipment model.
      tags:
      - order
      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: order_so_shipment_retrieve
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SalesOrderShipment'
          description: ''
    put:
      operationId: order_so_shipment_update
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: order_so_shipment_partial_update
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: order_so_shipment_destroy
      description: API detail endpooint for SalesOrderShipment model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/order/so/shipment/{id}/metadata/:
    get:
      operationId: 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:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - order
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/order/so/shipment/{id}/ship/:
    post:
      operationId: order_so_shipment_ship_create
      description: API endpoint for completing (shipping) a SalesOrderShipment.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - order
      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: order_so_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - order
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/part/:
    get:
      operationId: part_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: IPN
        schema:
          type: string
        description: Filter by exact IPN (internal part number)
      - in: query
        name: IPN_regex
        schema:
          type: string
        description: Filter by regex on IPN (internal part number)
      - in: query
        name: active
        schema:
          type: boolean
      - in: query
        name: ancestor
        schema:
          type: integer
      - in: query
        name: assembly
        schema:
          type: boolean
      - in: query
        name: bom_valid
        schema:
          type: boolean
        description: BOM Valid
      - in: query
        name: component
        schema:
          type: boolean
      - in: query
        name: convert_from
        schema:
          type: integer
      - in: query
        name: created_after
        schema:
          type: string
          format: date
        description: Updated after
      - in: query
        name: created_before
        schema:
          type: string
          format: date
        description: Updated before
      - in: query
        name: default_location
        schema:
          type: integer
        description: Default Location
      - in: query
        name: depleted_stock
        schema:
          type: boolean
        description: Depleted Stock
      - in: query
        name: exclude_tree
        schema:
          type: integer
      - in: query
        name: has_ipn
        schema:
          type: boolean
        description: Has IPN
      - in: query
        name: has_pricing
        schema:
          type: boolean
        description: Has Pricing
      - in: query
        name: has_revisions
        schema:
          type: boolean
        description: Has Revisions
      - in: query
        name: has_stock
        schema:
          type: boolean
        description: Has stock
      - in: query
        name: has_units
        schema:
          type: boolean
        description: Has units
      - in: query
        name: in_bom_for
        schema:
          type: integer
      - in: query
        name: is_revision
        schema:
          type: boolean
        description: Is Revision
      - in: query
        name: is_template
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: locked
        schema:
          type: boolean
      - in: query
        name: low_stock
        schema:
          type: boolean
        description: Low stock
      - in: query
        name: name_regex
        schema:
          type: string
        description: Filter by 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: purchaseable
        schema:
          type: boolean
      - in: query
        name: revision_of
        schema:
          type: integer
      - in: query
        name: salable
        schema:
          type: boolean
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: starred
        schema:
          type: boolean
        description: Starred
      - in: query
        name: stock_to_build
        schema:
          type: boolean
        description: Required for Build Order
      - in: query
        name: stocktake
        schema:
          type: boolean
        description: Has stocktake
      - in: query
        name: tags_name
        schema:
          type: string
      - in: query
        name: tags_slug
        schema:
          type: string
      - in: query
        name: testable
        schema:
          type: boolean
      - in: query
        name: trackable
        schema:
          type: boolean
      - in: query
        name: unallocated_stock
        schema:
          type: boolean
        description: Unallocated stock
      - in: query
        name: variant_of
        schema:
          type: integer
        description: Variant Of
      - in: query
        name: virtual
        schema:
          type: boolean
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartList'
          description: ''
    post:
      operationId: part_create
      description: API endpoint for accessing a list of Part objects, or creating
        a new Part instance.
      tags:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Part'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Part'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Part'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Part'
          description: ''
  /api/part/{id}/:
    get:
      operationId: part_retrieve
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Part'
          description: ''
    put:
      operationId: part_update
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Part'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Part'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Part'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Part'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPart'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPart'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPart'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Part'
          description: ''
    delete:
      operationId: part_destroy
      description: API endpoint for detail view of a single Part object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/{id}/bom-copy/:
    post:
      operationId: part_bom_copy_create
      description: API endpoint for duplicating a BOM.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BOMValidate'
          description: ''
    put:
      operationId: 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:
      - part
      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: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/{id}/pricing/:
    get:
      operationId: part_pricing_retrieve
      description: API endpoint for viewing part pricing data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartPricing'
          description: ''
    put:
      operationId: part_pricing_update
      description: API endpoint for viewing part pricing data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_pricing_partial_update
      description: API endpoint for viewing part pricing data.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/{id}/scheduling/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/{id}/serial-numbers/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/part/category/:
    get:
      operationId: part_category_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: cascade
        schema:
          type: boolean
        description: Include sub-categories in filtered results
      - in: query
        name: depth
        schema:
          type: number
        description: Filter by category depth
      - in: query
        name: exclude_tree
        schema:
          type: integer
      - 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
      - in: query
        name: parent
        schema:
          type: integer
        description: Filter by parent category
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: starred
        schema:
          type: boolean
        description: Filter by starred categories
      - in: query
        name: structural
        schema:
          type: boolean
      - in: query
        name: top_level
        schema:
          type: boolean
        description: Filter by top-level categories
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryList'
          description: ''
    post:
      operationId: 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:
      - part
      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: part_category_retrieve
      description: Custom get method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
          description: ''
    put:
      operationId: part_category_update
      description: Custom put method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_category_partial_update
      description: Custom patch method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_category_destroy
      description: Custom delete method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/category/{id}/metadata/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/category/parameters/:
    get:
      operationId: part_category_parameters_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryParameterTemplateList'
          description: ''
    post:
      operationId: part_category_parameters_create
      description: |-
        API endpoint for accessing a list of PartCategoryParameterTemplate objects.

        - GET: Return a list of PartCategoryParameterTemplate objects
      tags:
      - part
      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: part_category_parameters_retrieve
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryParameterTemplate'
          description: ''
    put:
      operationId: part_category_parameters_update
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_category_parameters_partial_update
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_category_parameters_destroy
      description: Detail endpoint for the PartCategoryParameterTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/category/parameters/{id}/metadata/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/category/tree/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCategoryTreeList'
          description: ''
  /api/part/change_category/:
    post:
      operationId: part_change_category_create
      description: API endpoint to change the location of multiple parts in bulk.
      tags:
      - part
      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: part_internal_price_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartInternalPriceList'
          description: ''
    post:
      operationId: part_internal_price_create
      description: API endpoint for list view of PartInternalPriceBreak model.
      tags:
      - part
      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: part_internal_price_retrieve
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartInternalPrice'
          description: ''
    put:
      operationId: part_internal_price_update
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_internal_price_partial_update
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_internal_price_destroy
      description: Detail endpoint for PartInternalPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/parameter/:
    get:
      operationId: part_parameter_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartParameterList'
          description: ''
    post:
      operationId: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameter'
          description: ''
    put:
      operationId: 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:
      - part
      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: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/parameter/{id}/metadata/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/parameter/template/:
    get:
      operationId: part_parameter_template_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: category
        schema:
          type: integer
      - 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
      - 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
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartParameterTemplateList'
          description: ''
    post:
      operationId: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartParameterTemplate'
          description: ''
    put:
      operationId: 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:
      - part
      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: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/parameter/template/{id}/metadata/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/related/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartRelationList'
          description: ''
    post:
      operationId: part_related_create
      description: API endpoint for accessing a list of PartRelated objects.
      tags:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartRelation'
          description: ''
    put:
      operationId: 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:
      - part
      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: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/related/{id}/metadata/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/sale-price/:
    get:
      operationId: part_sale_price_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartSalePriceList'
          description: ''
    post:
      operationId: part_sale_price_create
      description: API endpoint for list view of PartSalePriceBreak model.
      tags:
      - part
      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: part_sale_price_retrieve
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartSalePrice'
          description: ''
    put:
      operationId: part_sale_price_update
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_sale_price_partial_update
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_sale_price_destroy
      description: Detail endpoint for PartSellPriceBreak model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/stocktake/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartStocktakeList'
          description: ''
    post:
      operationId: part_stocktake_create
      description: API endpoint for listing part stocktake information.
      tags:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartStocktake'
          description: ''
    put:
      operationId: 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:
      - part
      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: 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:
      - part
      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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/stocktake/report/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartStocktakeReportList'
          description: ''
  /api/part/stocktake/report/generate/:
    post:
      operationId: part_stocktake_report_generate_create
      description: API endpoint for manually generating a new PartStocktakeReport.
      tags:
      - part
      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: part_test_template_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - in: query
        name: has_results
        schema:
          type: boolean
        description: Has Results
      - in: query
        name: key
        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: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartTestTemplateList'
          description: ''
    post:
      operationId: part_test_template_create
      description: API endpoint for listing (and creating) a PartTestTemplate.
      tags:
      - part
      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: part_test_template_retrieve
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartTestTemplate'
          description: ''
    put:
      operationId: part_test_template_update
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_test_template_partial_update
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      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: part_test_template_destroy
      description: Detail endpoint for PartTestTemplate model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/part/test-template/{id}/metadata/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - part
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/part/thumbs/:
    get:
      operationId: 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:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPartThumbList'
          description: ''
  /api/part/thumbs/{id}/:
    get:
      operationId: part_thumbs_retrieve
      description: API endpoint for updating Part thumbnails.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - part
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartThumbSerializerUpdate'
          description: ''
    put:
      operationId: part_thumbs_update
      description: API endpoint for updating Part thumbnails.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - part
      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: part_thumbs_partial_update
      description: API endpoint for updating Part thumbnails.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^\d+$
        required: true
      tags:
      - part
      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: 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:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPluginConfigList'
          description: ''
  /api/plugins/{plugin}/:
    get:
      operationId: 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: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginConfig'
          description: ''
    put:
      operationId: 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: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      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: 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: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      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: 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: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/plugins/{plugin}/activate/:
    put:
      operationId: 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.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      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: 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.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      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/{plugin}/metadata/:
    get:
      operationId: plugins_metadata_retrieve
      description: Metadata API endpoint for the PluginConfig model.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: plugins_metadata_update
      description: Metadata API endpoint for the PluginConfig model.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: plugins_metadata_partial_update
      description: Metadata API endpoint for the PluginConfig model.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/plugins/{plugin}/settings/:
    get:
      operationId: plugins_settings_list_2
      description: Get all settings for a plugin config.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PluginSetting'
          description: ''
  /api/plugins/{plugin}/settings/{key}/:
    get:
      operationId: 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
        required: true
      tags:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginSetting'
          description: ''
    put:
      operationId: 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
        required: true
      tags:
      - plugins
      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: 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
        required: true
      tags:
      - plugins
      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/{plugin}/uninstall/:
    put:
      operationId: plugins_uninstall_update
      description: Endpoint for uninstalling a single plugin.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      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: plugins_uninstall_partial_update
      description: Endpoint for uninstalling a single plugin.
      parameters:
      - in: path
        name: plugin
        schema:
          type: string
        required: true
      tags:
      - plugins
      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/install/:
    post:
      operationId: plugins_install_create
      description: Endpoint for installing a new plugin.
      tags:
      - plugins
      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/reload/:
    post:
      operationId: plugins_reload_create
      description: Endpoint for reloading all plugins.
      tags:
      - plugins
      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: 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:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPluginSettingList'
          description: ''
  /api/plugins/status/:
    get:
      operationId: plugins_status_retrieve
      description: Show plugin registry status information.
      tags:
      - plugins
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginRegistryStatus'
          description: ''
  /api/project-code/:
    get:
      operationId: project_code_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - project-code
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProjectCodeList'
          description: ''
    post:
      operationId: project_code_create
      description: List view for all project codes.
      tags:
      - project-code
      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: project_code_retrieve
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - project-code
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCode'
          description: ''
    put:
      operationId: project_code_update
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - project-code
      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: project_code_partial_update
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - project-code
      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: project_code_destroy
      description: Detail view for a particular project code.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - project-code
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/project-code/{id}/metadata/:
    get:
      operationId: 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:
      - project-code
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - project-code
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - project-code
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/report/asset/:
    get:
      operationId: report_asset_list
      description: API endpoint for listing ReportAsset 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:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReportAssetList'
          description: ''
    post:
      operationId: report_asset_create
      description: API endpoint for listing ReportAsset objects.
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportAsset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportAsset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportAsset'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportAsset'
          description: ''
  /api/report/asset/{id}/:
    get:
      operationId: report_asset_retrieve
      description: API endpoint for a single ReportAsset object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportAsset'
          description: ''
    put:
      operationId: report_asset_update
      description: API endpoint for a single ReportAsset object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportAsset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportAsset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportAsset'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportAsset'
          description: ''
    patch:
      operationId: report_asset_partial_update
      description: API endpoint for a single ReportAsset object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReportAsset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReportAsset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReportAsset'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportAsset'
          description: ''
    delete:
      operationId: report_asset_destroy
      description: API endpoint for a single ReportAsset object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/output/:
    get:
      operationId: report_output_list
      description: List endpoint for ReportOutput 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:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReportOutputList'
          description: ''
    delete:
      operationId: report_output_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:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/print/:
    post:
      operationId: report_print_create
      description: POST action for printing a report.
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportPrint'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportPrint'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportPrint'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportPrint'
          description: ''
  /api/report/snippet/:
    get:
      operationId: report_snippet_list
      description: API endpoint for listing ReportSnippet 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:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReportSnippetList'
          description: ''
    post:
      operationId: report_snippet_create
      description: API endpoint for listing ReportSnippet objects.
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportSnippet'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportSnippet'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportSnippet'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSnippet'
          description: ''
  /api/report/snippet/{id}/:
    get:
      operationId: report_snippet_retrieve
      description: API endpoint for a single ReportSnippet object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSnippet'
          description: ''
    put:
      operationId: report_snippet_update
      description: API endpoint for a single ReportSnippet object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportSnippet'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportSnippet'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportSnippet'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSnippet'
          description: ''
    patch:
      operationId: report_snippet_partial_update
      description: API endpoint for a single ReportSnippet object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReportSnippet'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReportSnippet'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReportSnippet'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportSnippet'
          description: ''
    delete:
      operationId: report_snippet_destroy
      description: API endpoint for a single ReportSnippet object.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/template/:
    get:
      operationId: report_template_list
      description: API endpoint for viewing list of ReportTemplate objects.
      parameters:
      - in: query
        name: enabled
        schema:
          type: boolean
      - in: query
        name: items
        schema:
          type: string
        description: Items
      - in: query
        name: landscape
        schema:
          type: boolean
      - name: limit
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - in: query
        name: model_type
        schema:
          type: string
          enum:
          - build
          - buildline
          - part
          - purchaseorder
          - returnorder
          - salesorder
          - stockitem
          - stocklocation
        description: |-
          Model Type

          * `build` - Build Order
          * `buildline` - Build Order Line Item
          * `purchaseorder` - Purchase Order
          * `salesorder` - Sales Order
          * `returnorder` - Return Order
          * `part` - Part
          * `stockitem` - Stock Item
          * `stocklocation` - Stock Location
      - 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:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReportTemplateList'
          description: ''
    post:
      operationId: report_template_create
      description: API endpoint for viewing list of ReportTemplate objects.
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportTemplate'
          description: ''
  /api/report/template/{id}/:
    get:
      operationId: report_template_retrieve
      description: Detail API endpoint for report template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportTemplate'
          description: ''
    put:
      operationId: report_template_update
      description: Detail API endpoint for report template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReportTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReportTemplate'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportTemplate'
          description: ''
    patch:
      operationId: report_template_partial_update
      description: Detail API endpoint for report template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReportTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReportTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReportTemplate'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportTemplate'
          description: ''
    delete:
      operationId: report_template_destroy
      description: Detail API endpoint for report template model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/report/template/{id}/metadata/:
    get:
      operationId: report_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:
      - report
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: report_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:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: report_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:
      - report
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/search/:
    post:
      operationId: search_create
      description: Perform search query against available models.
      tags:
      - search
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APISearchView'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/APISearchView'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/APISearchView'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APISearchView'
          description: ''
  /api/settings/global/:
    get:
      operationId: 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:
      - settings
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGlobalSettingsList'
          description: ''
  /api/settings/global/{key}/:
    get:
      operationId: 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:
      - settings
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GlobalSettings'
          description: ''
    put:
      operationId: 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:
      - settings
      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: 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:
      - settings
      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: 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:
      - settings
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNotificationUserSettingList'
          description: ''
  /api/settings/notification/{id}/:
    get:
      operationId: 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:
      - settings
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationUserSetting'
          description: ''
    put:
      operationId: 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:
      - settings
      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: 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:
      - settings
      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: 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:
      - settings
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserSettingsList'
          description: ''
  /api/settings/user/{key}/:
    get:
      operationId: 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:
      - settings
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSettings'
          description: ''
    put:
      operationId: 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:
      - settings
      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: 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:
      - settings
      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: stock_list
      description: Override the 'get' method to check for the export query parameter.
      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: integer
      - 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: integer
      - in: query
        name: build
        schema:
          type: integer
      - in: query
        name: category
        schema:
          type: integer
      - in: query
        name: company
        schema:
          type: integer
      - 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: integer
      - 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: integer
      - 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockItemList'
          description: ''
    post:
      operationId: 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
        - DELETE: Delete multiple StockItem objects
      tags:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/{id}/:
    get:
      operationId: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItem'
          description: ''
    put:
      operationId: 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:
      - stock
      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: 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:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/{id}/convert/:
    post:
      operationId: 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:
      - stock
      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: 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:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/stock/{id}/return/:
    post:
      operationId: 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:
      - stock
      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: stock_serialize_create
      description: API endpoint for serializing a stock item.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      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: stock_uninstall_create
      description: API endpoint for removing (uninstalling) items from this item.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      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: stock_add_create
      description: Endpoint for adding a quantity of stock to an existing StockItem.
      tags:
      - stock
      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: stock_assign_create
      description: API endpoint for assigning stock to a particular customer.
      tags:
      - stock
      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/change_status/:
    post:
      operationId: stock_change_status_create
      description: API endpoint to change the status code of multiple StockItem objects.
      tags:
      - stock
      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: stock_count_create
      description: Endpoint for counting stock (performing a stocktake).
      tags:
      - stock
      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: stock_location_list
      description: Override the 'get' method to check for the export query parameter.
      parameters:
      - in: query
        name: cascade
        schema:
          type: boolean
        description: Include sub-locations in filtered results
      - in: query
        name: depth
        schema:
          type: number
        description: Filter by location depth
      - in: query
        name: external
        schema:
          type: boolean
      - 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
      - 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: parent
        schema:
          type: integer
        description: Filter by parent location
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: structural
        schema:
          type: boolean
      - in: query
        name: top_level
        schema:
          type: boolean
        description: Filter by top-level locations
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationList'
          description: ''
    post:
      operationId: stock_location_create
      description: |-
        API endpoint for list view of StockLocation objects.

        - GET: Return list of StockLocation objects
        - POST: Create a new StockLocation
      tags:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockLocationTypeList'
          description: ''
    post:
      operationId: 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:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockLocationType'
          description: ''
    put:
      operationId: 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:
      - stock
      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: 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:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/location-type/{id}/metadata/:
    get:
      operationId: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/stock/location/{id}/:
    get:
      operationId: stock_location_retrieve
      description: Custom get method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
          description: ''
    put:
      operationId: stock_location_update
      description: Custom put method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      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: stock_location_partial_update
      description: Custom patch method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      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: stock_location_destroy
      description: Custom delete method to pass kwargs.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/location/{id}/metadata/:
    get:
      operationId: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/stock/location/tree/:
    get:
      operationId: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLocationTreeList'
          description: ''
  /api/stock/merge/:
    post:
      operationId: stock_merge_create
      description: API endpoint for merging multiple stock items.
      tags:
      - stock
      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: stock_remove_create
      description: Endpoint for removing a quantity of stock from an existing StockItem.
      tags:
      - stock
      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: stock_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/stock/test/:
    get:
      operationId: stock_test_list
      description: API endpoint for listing (and creating) a StockItemTestResult object.
      parameters:
      - in: query
        name: build
        schema:
          type: integer
        description: Build
      - in: query
        name: enabled
        schema:
          type: boolean
        description: Enabled
      - 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
        description: Required
      - in: query
        name: result
        schema:
          type: boolean
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: template
        schema:
          type: integer
      - in: query
        name: test
        schema:
          type: string
        description: Test name (case insensitive)
      - in: query
        name: user
        schema:
          type: integer
      - in: query
        name: value
        schema:
          type: string
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockItemTestResultList'
          description: ''
    post:
      operationId: stock_test_create
      description: API endpoint for listing (and creating) a StockItemTestResult object.
      tags:
      - stock
      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: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/test/{id}/:
    get:
      operationId: stock_test_retrieve
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockItemTestResult'
          description: ''
    put:
      operationId: stock_test_update
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      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: stock_test_partial_update
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      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: stock_test_destroy_2
      description: Detail endpoint for StockItemTestResult.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/stock/test/{id}/metadata/:
    get:
      operationId: 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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    put:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Metadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Metadata'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
    patch:
      operationId: 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:
      - stock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadata'
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
          description: ''
  /api/stock/track/:
    get:
      operationId: stock_track_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedStockTrackingList'
          description: ''
  /api/stock/track/{id}/:
    get:
      operationId: stock_track_retrieve
      description: Detail API endpoint for StockItemTracking model.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StockTracking'
          description: ''
  /api/stock/track/status/:
    get:
      operationId: stock_track_status_retrieve
      description: Retrieve information about a specific status code
      tags:
      - stock
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: Status code information
        '400':
          description: Invalid request
  /api/stock/transfer/:
    post:
      operationId: stock_transfer_create
      description: API endpoint for performing stock movements.
      tags:
      - stock
      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/test-statistics/by-build/{id}/:
    get:
      operationId: test_statistics_by_build_retrieve
      description: Return test execution count matrix broken down by test result.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - test-statistics
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestStatistics'
          description: ''
  /api/test-statistics/by-part/{id}/:
    get:
      operationId: test_statistics_by_part_retrieve
      description: Return test execution count matrix broken down by test result.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - test-statistics
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestStatistics'
          description: ''
  /api/units/:
    get:
      operationId: units_list
      description: Override the 'get' method to check for the export query parameter.
      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:
      - units
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomUnitList'
          description: ''
    post:
      operationId: units_create
      description: List view for custom units.
      tags:
      - units
      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: units_retrieve
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - units
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomUnit'
          description: ''
    put:
      operationId: units_update
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - units
      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: units_partial_update
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - units
      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: units_destroy
      description: Detail view for a particular custom unit.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - units
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/:
    get:
      operationId: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserCreateList'
          description: ''
    post:
      operationId: user_create
      description: List endpoint for detail on all users.
      tags:
      - user
      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'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCreate'
          description: ''
  /api/user/{id}/:
    get:
      operationId: user_retrieve
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    put:
      operationId: user_update
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - user
      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'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    patch:
      operationId: user_partial_update
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - user
      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: user_destroy
      description: Detail endpoint for a single user.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          pattern: ^[0-9]+$
        required: true
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/group/:
    get:
      operationId: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGroupList'
          description: ''
    post:
      operationId: user_group_create
      description: List endpoint for all auth groups.
      tags:
      - user
      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: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
          description: ''
    put:
      operationId: 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:
      - user
      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: 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:
      - user
      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: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/me/:
    get:
      operationId: user_me_retrieve
      description: Detail endpoint for current user.
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    put:
      operationId: user_me_update
      description: Detail endpoint for current user.
      tags:
      - user
      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'
        required: true
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExendedUser'
          description: ''
    patch:
      operationId: user_me_partial_update
      description: Detail endpoint for current user.
      tags:
      - user
      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: user_me_destroy
      description: Detail endpoint for current user.
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/owner/:
    get:
      operationId: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedOwnerList'
          description: ''
  /api/user/owner/{id}/:
    get:
      operationId: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Owner'
          description: ''
  /api/user/roles/:
    get:
      operationId: user_roles_retrieve
      description: API endpoint which lists the available role permissions for the
        current user.
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
          description: ''
  /api/user/token/:
    get:
      operationId: 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          description: No response body
  /api/user/tokens/:
    get:
      operationId: user_tokens_list
      description: List of registered tokens 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedApiTokenList'
          description: ''
    delete:
      operationId: user_tokens_destroy
      description: List of registered tokens for current users.
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/user/tokens/{id}/:
    get:
      operationId: user_tokens_list_2
      description: List of registered tokens for current users.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      - 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:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedApiTokenList'
          description: ''
    delete:
      operationId: user_tokens_destroy_2
      description: List of registered tokens for current users.
      parameters:
      - in: path
        name: id
        schema:
          type: integer
        required: true
      tags:
      - user
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/version/:
    get:
      operationId: version_retrieve
      description: Return information about the InvenTree server.
      tags:
      - version
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionView'
          description: ''
  /api/version-text:
    get:
      operationId: version_text_list
      description: Simple JSON endpoint for InvenTree version text.
      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:
      - version-text
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedVersionInformationList'
          description: ''
  /api/web/ui_preference/:
    get:
      operationId: web_ui_preference_retrieve
      description: Set preferred UI (CIU/PUI).
      tags:
      - web
      security:
      - tokenAuth: []
      - basicAuth: []
      - cookieAuth: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Preferred'
          description: ''
    put:
      operationId: web_ui_preference_update
      description: Set preferred UI (CIU/PUI).
      tags:
      - web
      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: webhook_create
      description: Process incoming webhook.
      parameters:
      - in: path
        name: endpoint
        schema:
          type: string
        required: true
      tags:
      - webhook
      responses:
        '200':
          description: Any data can be posted to the endpoint - everything will be
            passed to the WebhookEndpoint model.
components:
  schemas:
    APISearchView:
      type: object
      description: Serializer for the APISearchView.
      properties:
        search:
          type: string
        search_regex:
          type: boolean
          default: false
        search_whole:
          type: boolean
          default: false
        limit:
          type: integer
          default: 1
        offset:
          type: integer
          default: 0
      required:
      - search
    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
    ActionPlugin:
      type: object
      description: Serializer for the ActionPluginView responses.
      properties:
        action:
          type: string
        data:
          type: object
          additionalProperties: {}
      required:
      - action
      - data
    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
    ApiToken:
      type: object
      description: Serializer for the ApiToken model.
      properties:
        created:
          type: string
          format: date-time
          readOnly: true
        expiry:
          type: string
          format: date
          title: Expiry Date
          description: Token expiry date
        id:
          type: integer
          readOnly: true
        last_seen:
          type: string
          format: date
          nullable: true
          description: Last time the token was used
        name:
          type: string
          title: Token Name
          description: Custom token name
          maxLength: 100
        token:
          type: string
          readOnly: true
        active:
          type: string
          readOnly: true
        revoked:
          type: boolean
          description: Token has been revoked
        user:
          type: integer
        in_use:
          type: boolean
          description: Return True if the token is currently used to call the endpoint.
          readOnly: true
      required:
      - active
      - created
      - id
      - in_use
      - token
      - user
    Attachment:
      type: object
      description: Serializer class for the Attachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
          nullable: true
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: Attachment comment
          maxLength: 250
        upload_date:
          type: string
          format: date
          readOnly: true
        upload_user:
          type: integer
          readOnly: true
          nullable: true
          title: User
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        file_size:
          type: integer
          readOnly: true
          description: File size in bytes
        model_type:
          $ref: '#/components/schemas/AttachmentModelTypeEnum'
        model_id:
          type: integer
        tags:
          type: array
          items:
            type: string
      required:
      - file_size
      - model_id
      - model_type
      - pk
      - upload_date
      - upload_user
      - user_detail
    AttachmentModelTypeEnum:
      enum:
      - build
      - company
      - manufacturerpart
      - purchaseorder
      - salesorder
      - returnorder
      - part
      - stockitem
      type: string
      description: |-
        * `build` - Build Order
        * `company` - Company
        * `manufacturerpart` - Manufacturer Part
        * `purchaseorder` - Purchase Order
        * `salesorder` - Sales Order
        * `returnorder` - Return Order
        * `part` - Part
        * `stockitem` - Stock Item
    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
        supplierpart:
          type: integer
          nullable: true
          title: Supplier Part
        manufacturerpart:
          type: integer
          nullable: true
          title: Manufacturer 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
        stockitem:
          type: integer
          nullable: true
          title: Stock Item
        stocklocation:
          type: integer
          nullable: true
          title: Stock Location
      required:
      - barcode
    BarcodeGenerate:
      type: object
      description: Serializer for generating a barcode.
      properties:
        model:
          type: string
          description: Model name to generate barcode for
        pk:
          type: integer
          description: Primary key of model object to generate barcode for
      required:
      - model
      - pk
    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
        supplierpart:
          type: integer
          nullable: true
          title: Supplier Part
        manufacturerpart:
          type: integer
          nullable: true
          title: Manufacturer 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
        stockitem:
          type: integer
          nullable: true
          title: Stock Item
        stocklocation:
          type: integer
          nullable: true
          title: Stock Location
    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.

        TODO: Delete this entirely once the new importer process is working
      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.

        TODO: Delete this entirely once the new importer process is working
      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.

        TODO: Delete this entirely once the new importer process is working
      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:
        part:
          type: integer
          title: Assembly
          description: Select the parent assembly
        sub_part:
          type: integer
          title: Component
          description: Select the component part
        reference:
          type: string
          description: BOM item reference
          maxLength: 5000
        quantity:
          type: number
          format: double
        overage:
          type: string
          description: Estimated build wastage quantity (absolute or percentage)
          maxLength: 24
        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
        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)
        note:
          type: string
          description: BOM item notes
          maxLength: 500
        pk:
          type: integer
          readOnly: true
          title: ID
        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
        pricing_min_total:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        pricing_max_total:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        pricing_updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        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
        external_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
        can_build:
          type: number
          format: double
          readOnly: true
      required:
      - available_stock
      - available_substitute_stock
      - available_variant_stock
      - building
      - can_build
      - external_stock
      - on_order
      - part
      - pk
      - pricing_max
      - pricing_max_total
      - pricing_min
      - pricing_min_total
      - pricing_updated
      - 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
        part_name:
          type: string
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        project_code:
          type: integer
          nullable: true
          description: Project code for this build order
        project_code_label:
          type: string
          readOnly: true
        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/StatusC2fEnum'
          readOnly: true
          title: Build Status
          description: |-
            Build status code

            * `10` - Pending
            * `20` - Production
            * `25` - On Hold
            * `30` - Cancelled
            * `40` - Complete
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `20` - Production
            * `25` - On Hold
            * `30` - Cancelled
            * `40` - Complete
          oneOf:
          - $ref: '#/components/schemas/StatusCustomKeyC2fEnum'
          - $ref: '#/components/schemas/NullEnum'
        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)
        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
        level:
          type: integer
          readOnly: true
          title: Build Level
        create_child_builds:
          type: boolean
          writeOnly: true
          default: false
          description: Automatically generate child build orders
      required:
      - barcode_hash
      - completed
      - creation_date
      - issued_by_detail
      - level
      - overdue
      - part
      - part_detail
      - part_name
      - pk
      - project_code_detail
      - project_code_label
      - quantity
      - reference
      - responsible_detail
      - status
      - status_custom_key
      - 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
    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
          title: Consume Allocated Stock
          description: Consume 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, which is an allocation of a stock
        item against a build order.
      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
          title: Allocated Quantity
        location:
          type: integer
          readOnly: true
        location_detail:
          allOf:
          - $ref: '#/components/schemas/LocationBrief'
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        stock_item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItemSerializerBrief'
          readOnly: true
        supplier_part_detail:
          allOf:
          - $ref: '#/components/schemas/SupplierPart'
          readOnly: true
        bom_reference:
          type: string
          readOnly: true
        item_serial_number:
          type: string
          readOnly: true
          title: Serial Number
      required:
      - bom_reference
      - build
      - build_line
      - install_into
      - item_serial_number
      - location
      - location_detail
      - part_detail
      - pk
      - quantity
      - stock_item
      - stock_item_detail
      - supplier_part_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/PartBrief'
          readOnly: true
        quantity:
          type: number
          format: double
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/BuildItem'
          readOnly: true
        reference:
          type: string
          readOnly: true
        consumable:
          type: boolean
          readOnly: true
        optional:
          type: boolean
          readOnly: true
        testable:
          type: boolean
          readOnly: true
        trackable:
          type: boolean
          readOnly: true
        inherited:
          type: boolean
          readOnly: true
        allow_variants:
          type: boolean
          readOnly: true
        part:
          type: integer
          readOnly: true
        part_name:
          type: string
          readOnly: true
        part_IPN:
          type: string
          readOnly: true
        part_category_id:
          type: integer
          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
        external_stock:
          type: number
          format: double
          readOnly: true
      required:
      - allocated
      - allocations
      - allow_variants
      - available_stock
      - available_substitute_stock
      - available_variant_stock
      - bom_item
      - bom_item_detail
      - build
      - consumable
      - external_stock
      - in_production
      - inherited
      - on_order
      - optional
      - part
      - part_IPN
      - part_category_id
      - part_detail
      - part_name
      - pk
      - quantity
      - reference
      - testable
      - total_available_stock
      - trackable
    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/Status2a7Enum'
          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
        location:
          type: integer
          nullable: true
          description: Stock location for build output
        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
    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
          title: Parent Category
          description: Parent part category
        part_count:
          type: integer
          readOnly: true
          title: Parts
        subcategories:
          type: integer
          readOnly: true
        pathstring:
          type: string
          readOnly: true
          title: Path
          description: Path
        starred:
          type: boolean
          description: Return True if the category is directly "starred" by the current
            user.
          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
        parent_default_location:
          type: integer
          readOnly: true
      required:
      - level
      - name
      - parent_default_location
      - part_count
      - pathstring
      - pk
      - starred
      - subcategories
      - 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.
        subcategories:
          type: integer
          readOnly: true
      required:
      - name
      - pk
      - subcategories
    ColorEnum:
      enum:
      - primary
      - secondary
      - success
      - danger
      - warning
      - info
      - dark
      type: string
      description: |-
        * `primary` - primary
        * `secondary` - secondary
        * `success` - success
        * `danger` - danger
        * `warning` - warning
        * `info` - info
        * `dark` - dark
    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
          default: ''
        currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          description: |-
            Default currency used for this supplier

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        active:
          type: boolean
          description: Is this company active?
        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?
        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
    CompanyBrief:
      type: object
      description: Serializer for Company object (limited detail).
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        active:
          type: boolean
          description: Is this company active?
        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
          format: uri
          readOnly: true
        thumbnail:
          type: string
          readOnly: true
        currency:
          type: string
          readOnly: true
          description: Default currency used for this company
      required:
      - currency
      - image
      - name
      - pk
      - thumbnail
    ConfigTypeEnum:
      enum:
      - M
      - D
      type: string
      description: |-
        * `M` - Machine
        * `D` - Driver
    Contact:
      type: object
      description: Serializer class for the Contact model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        company:
          type: integer
        company_name:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 100
        phone:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          maxLength: 254
        role:
          type: string
          maxLength: 100
      required:
      - company
      - company_name
      - name
      - pk
    ContentType:
      type: object
      description: Serializer for ContentType models.
      properties:
        pk:
          type: integer
          readOnly: true
        app_label:
          type: string
          readOnly: true
        model:
          type: string
          readOnly: true
        app_labeled_name:
          type: string
          readOnly: true
        is_plugin:
          type: boolean
          description: Return True if the model is a plugin model.
          readOnly: true
      required:
      - app_label
      - app_labeled_name
      - is_plugin
      - model
      - 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
    CurrencyExchange:
      type: object
      description: |-
        Serializer for a Currency Exchange request.

        It's only purpose is describing the results correctly in the API schema right now.
      properties:
        base_currency:
          type: string
          readOnly: true
        exchange_rates:
          type: object
          additionalProperties:
            type: number
            format: double
        updated:
          type: string
          format: date-time
          readOnly: true
      required:
      - base_currency
      - exchange_rates
      - updated
    CustomState:
      type: object
      description: Serializer for the custom state model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: integer
          description: Value that will be saved in the models database
        name:
          type: string
          description: Name of the state
          maxLength: 250
        label:
          type: string
          description: Label that will be displayed in the frontend
          maxLength: 250
        color:
          allOf:
          - $ref: '#/components/schemas/ColorEnum'
          description: |-
            Color that will be displayed in the frontend

            * `primary` - primary
            * `secondary` - secondary
            * `success` - success
            * `danger` - danger
            * `warning` - warning
            * `info` - info
            * `dark` - dark
        logical_key:
          type: integer
          description: State logical key that is equal to this custom state in business
            logic
        model:
          type: integer
          nullable: true
          description: Model this state is associated with
        model_name:
          type: string
          readOnly: true
        reference_status:
          $ref: '#/components/schemas/ReferenceStatusEnum'
      required:
      - key
      - label
      - logical_key
      - model
      - model_name
      - name
      - pk
      - reference_status
    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
    DataImportAcceptRow:
      type: object
      description: Serializer for accepting rows of data.
      properties:
        rows:
          type: array
          items:
            type: integer
            title: Rows
          description: List of row IDs to accept
      required:
      - rows
    DataImportColumnMap:
      type: object
      description: Serializer for the DataImportColumnMap model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        session:
          type: integer
          readOnly: true
          title: Import Session
        column:
          type: string
          maxLength: 100
        field:
          type: string
          readOnly: true
        label:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
      required:
      - description
      - field
      - label
      - pk
      - session
    DataImportRow:
      type: object
      description: Serializer for the DataImportRow model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        session:
          type: integer
          readOnly: true
          title: Import Session
        row_index:
          type: integer
          readOnly: true
        row_data:
          readOnly: true
          nullable: true
          title: Original row data
        data:
          nullable: true
        errors:
          readOnly: true
          nullable: true
        valid:
          type: boolean
          readOnly: true
        complete:
          type: boolean
          readOnly: true
      required:
      - complete
      - errors
      - pk
      - row_data
      - row_index
      - session
      - valid
    DataImportSession:
      type: object
      description: Serializer for the DataImportSession model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        timestamp:
          type: string
          format: date-time
          readOnly: true
        data_file:
          type: string
          format: uri
        model_type:
          $ref: '#/components/schemas/DataImportSessionModelTypeEnum'
        available_fields:
          readOnly: true
        status:
          allOf:
          - $ref: '#/components/schemas/DataImportSessionStatusEnum'
          readOnly: true
          description: |-
            Import status

            * `0` - Initializing
            * `10` - Mapping Columns
            * `20` - Importing Data
            * `30` - Processing Data
            * `40` - Complete
        user:
          type: integer
          readOnly: true
          nullable: true
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        columns:
          readOnly: true
          nullable: true
        column_mappings:
          type: array
          items:
            $ref: '#/components/schemas/DataImportColumnMap'
          readOnly: true
        field_defaults:
          nullable: true
        field_overrides:
          nullable: true
        field_filters:
          nullable: true
        row_count:
          type: integer
          readOnly: true
        completed_row_count:
          type: integer
          readOnly: true
      required:
      - available_fields
      - column_mappings
      - columns
      - completed_row_count
      - data_file
      - model_type
      - pk
      - row_count
      - status
      - timestamp
      - user
      - user_detail
    DataImportSessionModelTypeEnum:
      enum:
      - partcategory
      - parttesttemplate
      - partsellpricebreak
      - partparametertemplate
      - partparameter
      - part
      - bomitem
      - partcategoryparametertemplate
      - address
      - company
      - contact
      - manufacturerpart
      - manufacturerpartparameter
      - supplierpart
      - supplierpricebreak
      - projectcode
      - inventreecustomuserstatemodel
      - customunit
      - stockitemtestresult
      - stockitem
      - stocklocation
      - stockitemtracking
      - purchaseorder
      - purchaseorderlineitem
      - purchaseorderextraline
      - salesorder
      - salesorderlineitem
      - salesorderextraline
      - returnorder
      - returnorderlineitem
      - returnorderextraline
      type: string
      description: |-
        * `partcategory` - Part Category
        * `parttesttemplate` - Part Test Template
        * `partsellpricebreak` - Part Sale Price Break
        * `partparametertemplate` - Part Parameter Template
        * `partparameter` - Part Parameter
        * `part` - Part
        * `bomitem` - BOM Item
        * `partcategoryparametertemplate` - Part Category Parameter Template
        * `address` - Address
        * `company` - Company
        * `contact` - Contact
        * `manufacturerpart` - Manufacturer Part
        * `manufacturerpartparameter` - Manufacturer Part Parameter
        * `supplierpart` - Supplier Part
        * `supplierpricebreak` - Supplier Price Break
        * `projectcode` - Project Code
        * `inventreecustomuserstatemodel` - Custom State
        * `customunit` - Custom Unit
        * `stockitemtestresult` - Stock Item Test Result
        * `stockitem` - Stock Item
        * `stocklocation` - Stock Location
        * `stockitemtracking` - Stock Item Tracking
        * `purchaseorder` - Purchase Order
        * `purchaseorderlineitem` - Purchase Order Line Item
        * `purchaseorderextraline` - Purchase Order Extra Line
        * `salesorder` - Sales Order
        * `salesorderlineitem` - Sales Order Line Item
        * `salesorderextraline` - Sales Order Extra Line
        * `returnorder` - Return Order
        * `returnorderlineitem` - Return Order Line Item
        * `returnorderextraline` - Return Order Extra Line
    DataImportSessionStatusEnum:
      enum:
      - 0
      - 10
      - 20
      - 30
      - 40
      type: integer
      description: |-
        * `0` - Initializing
        * `10` - Mapping Columns
        * `20` - Importing Data
        * `30` - Processing Data
        * `40` - Complete
    DuplicatePart:
      type: object
      description: |-
        Serializer for specifying options when duplicating a Part.

        The fields in this serializer control how the Part is duplicated.
      properties:
        part:
          type: integer
          title: Original Part
          description: Select original part to duplicate
        copy_image:
          type: boolean
          default: false
          description: Copy image from original part
        copy_bom:
          type: boolean
          default: false
          description: Copy bill of materials from original part
        copy_parameters:
          type: boolean
          default: false
          description: Copy parameter data from original part
        copy_notes:
          type: boolean
          default: true
          description: Copy notes from original part
      required:
      - part
    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
          description: Username
        first_name:
          type: string
          description: First name of the user
        last_name:
          type: string
          description: Last name of the user
        email:
          type: string
          format: email
          description: Email address of the user
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          readOnly: true
        is_staff:
          type: boolean
          title: Staff
          description: Does this user have staff permissions
        is_superuser:
          type: boolean
          title: Superuser
          description: Is this user a superuser
        is_active:
          type: boolean
          title: Active
          description: Is this user account active
      required:
      - email
      - first_name
      - groups
      - is_active
      - is_staff
      - is_superuser
      - last_name
      - 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
    GenerateBatchCode:
      type: object
      description: |-
        Serializer for generating a batch code.

        Any of the provided write-only fields can be used for additional context.
      properties:
        batch_code:
          type: string
          readOnly: true
          description: Generated batch code
        build_order:
          type: integer
          nullable: true
          description: Select build order
        item:
          type: integer
          nullable: true
          title: Stock Item
          description: Select stock item to generate batch code for
        location:
          type: integer
          nullable: true
          description: Select location to generate batch code for
        part:
          type: integer
          nullable: true
          description: Select part to generate batch code for
        purchase_order:
          type: integer
          nullable: true
          description: Select purchase order
        quantity:
          type: number
          format: double
          nullable: true
          description: Enter quantity for batch code
      required:
      - batch_code
    GenerateSerialNumber:
      type: object
      description: |-
        Serializer for generating one or multiple serial numbers.

        Any of the provided write-only fields can be used for additional context.

        Note that in the case where multiple serial numbers are required,
        the "serial" field will return a string with multiple serial numbers separated by a comma.
      properties:
        serial:
          type: string
          readOnly: true
          title: Serial Number
          description: Generated serial number
        part:
          type: integer
          nullable: true
          description: Select part to generate serial number for
        quantity:
          type: integer
          default: 1
          description: Quantity of serial numbers to generate
      required:
      - serial
    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: array
          items: {}
          description: Returns the choices available for a given item.
          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
    Icon:
      type: object
      description: Serializer for an icon.
      properties:
        name:
          type: string
        category:
          type: string
        tags:
          type: array
          items:
            type: string
        variants:
          type: object
          additionalProperties:
            type: string
      required:
      - category
      - name
      - tags
      - variants
    IconPackage:
      type: object
      description: Serializer for a list of icons.
      properties:
        name:
          type: string
        prefix:
          type: string
        fonts:
          type: object
          additionalProperties:
            type: string
        icons:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Icon'
      required:
      - fonts
      - icons
      - name
      - prefix
    InitialStock:
      type: object
      description: Serializer for creating initial stock quantity.
      properties:
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
          title: Initial Stock Quantity
          description: Specify initial stock quantity for this Part. If quantity is
            zero, no stock is added.
        location:
          type: integer
          nullable: true
          title: Initial Stock Location
          description: Specify initial stock location for this Part
      required:
      - quantity
    InitialSupplier:
      type: object
      description: Serializer for adding initial supplier / manufacturer information.
      properties:
        supplier:
          type: integer
          nullable: true
          description: Select supplier (or leave blank to skip)
        sku:
          type: string
          description: Supplier stock keeping unit
          maxLength: 100
        manufacturer:
          type: integer
          nullable: true
          description: Select manufacturer (or leave blank to skip)
        mpn:
          type: string
          description: Manufacturer part number
          maxLength: 100
    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
    LabelOutput:
      type: object
      description: Serializer class for the LabelOutput model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        created:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        model_type:
          type: string
          readOnly: true
        items:
          type: integer
          description: Number of items to process
        complete:
          type: boolean
          description: Report generation is complete
        progress:
          type: integer
          description: Report generation progress
        output:
          type: string
          format: uri
        template:
          type: integer
          title: Label Template
        plugin:
          type: string
          description: Label output plugin
          maxLength: 100
      required:
      - created
      - model_type
      - output
      - pk
      - template
      - user_detail
    LabelPrint:
      type: object
      description: Serializer class for printing a label.
      properties:
        template:
          type: integer
          description: Select label template
        plugin:
          type: integer
          title: Printing Plugin
          description: Select plugin to use for label printing
        items:
          type: array
          items:
            type: integer
          description: List of item primary keys to include in the report
      required:
      - items
      - template
    LabelTemplate:
      type: object
      description: Serializer class for label template model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Template description
          maxLength: 250
        model_type:
          $ref: '#/components/schemas/ModelTypeA6eEnum'
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Template query filters (comma-separated list of key=value pairs)
          maxLength: 250
        filename_pattern:
          type: string
          description: Pattern for generating filenames
          maxLength: 100
        enabled:
          type: boolean
          description: Template is enabled
        revision:
          type: integer
          readOnly: true
        width:
          type: number
          format: double
          minimum: 2
          title: Width [mm]
          description: Label width, specified in mm
        height:
          type: number
          format: double
          minimum: 2
          title: Height [mm]
          description: Label height, specified in mm
      required:
      - description
      - model_type
      - name
      - pk
      - revision
      - template
    LicenseView:
      type: object
      description: Serializer for license information.
      properties:
        backend:
          type: string
          readOnly: true
          description: Backend licenses texts
        frontend:
          type: string
          readOnly: true
          description: Frontend licenses texts
      required:
      - backend
      - frontend
    Link:
      type: object
      description: Serializer for all possible links.
      properties:
        doc:
          type: string
          format: uri
        code:
          type: string
          format: uri
        credit:
          type: string
          format: uri
        app:
          type: string
          format: uri
        bug:
          type: string
          format: uri
      required:
      - app
      - bug
      - code
      - credit
      - doc
    LocatePlugin:
      type: object
      description: Serializer for the LocatePluginView API endpoint.
      properties:
        plugin:
          type: string
          description: Plugin to use for location identification
        item:
          type: integer
          description: StockItem to identify
        location:
          type: integer
          description: StockLocation to identify
      required:
      - plugin
    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
          title: Parent Location
          description: Parent stock location
        pathstring:
          type: string
          readOnly: true
          title: Path
          description: Path
        items:
          type: integer
          readOnly: true
          title: Stock Items
        sublocations:
          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
      - pathstring
      - pk
      - sublocations
      - 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
          description: |-
            Get the current icon used for this location.

            The icon field on this model takes precedences over the possibly assigned stock location type
          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.
        sublocations:
          type: integer
          readOnly: true
      required:
      - icon
      - name
      - pk
      - sublocations
    Login:
      type: object
      properties:
        username:
          type: string
        email:
          type: string
          format: email
        password:
          type: string
      required:
      - password
    MachineConfig:
      type: object
      description: Serializer for a MachineConfig.
      properties:
        pk:
          type: string
          format: uuid
          readOnly: true
          title: Id
        name:
          type: string
          description: Name of machine
          maxLength: 255
        machine_type:
          type: string
          readOnly: true
          description: Type of machine
        driver:
          type: string
          readOnly: true
          description: Driver used for the machine
        initialized:
          type: boolean
          description: Serializer method for the initialized field.
          readOnly: true
        active:
          type: boolean
          description: Machines can be disabled
        status:
          type: integer
          description: Serializer method for the status field.
          readOnly: true
        status_model:
          type: string
          nullable: true
          description: Serializer method for the status model field.
          readOnly: true
        status_text:
          type: string
          description: Serializer method for the status text field.
          readOnly: true
        machine_errors:
          type: array
          items:
            type: string
          description: Serializer method for the errors field.
          readOnly: true
        is_driver_available:
          type: boolean
          description: Serializer method for the is_driver_available field.
          readOnly: true
        restart_required:
          type: boolean
          description: Serializer method for the restart_required field.
          readOnly: true
      required:
      - driver
      - initialized
      - is_driver_available
      - machine_errors
      - machine_type
      - name
      - pk
      - restart_required
      - status
      - status_model
      - status_text
    MachineConfigCreate:
      type: object
      description: Serializer for creating a MachineConfig.
      properties:
        pk:
          type: string
          format: uuid
          readOnly: true
          title: Id
        name:
          type: string
          description: Name of machine
          maxLength: 255
        machine_type:
          type: string
          description: Type of machine
          maxLength: 255
        driver:
          type: string
          description: Driver used for the machine
          maxLength: 255
        initialized:
          type: boolean
          description: Serializer method for the initialized field.
          readOnly: true
        active:
          type: boolean
          description: Machines can be disabled
        status:
          type: integer
          description: Serializer method for the status field.
          readOnly: true
        status_model:
          type: string
          nullable: true
          description: Serializer method for the status model field.
          readOnly: true
        status_text:
          type: string
          description: Serializer method for the status text field.
          readOnly: true
        machine_errors:
          type: array
          items:
            type: string
          description: Serializer method for the errors field.
          readOnly: true
        is_driver_available:
          type: boolean
          description: Serializer method for the is_driver_available field.
          readOnly: true
        restart_required:
          type: boolean
          description: Serializer method for the restart_required field.
          readOnly: true
      required:
      - driver
      - initialized
      - is_driver_available
      - machine_errors
      - machine_type
      - name
      - pk
      - restart_required
      - status
      - status_model
      - status_text
    MachineDriver:
      type: object
      description: Serializer for a BaseMachineDriver class.
      properties:
        slug:
          type: string
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
        description:
          type: string
        provider_file:
          type: string
          description: Serializer method for the provider_file field.
          readOnly: true
        provider_plugin:
          type: object
          additionalProperties: {}
          nullable: true
          description: Serializer method for the provider_plugin field.
          readOnly: true
        is_builtin:
          type: boolean
          description: Serializer method for the is_builtin field.
          readOnly: true
        machine_type:
          type: string
          readOnly: true
          pattern: ^[-a-zA-Z0-9_]+$
        driver_errors:
          type: array
          items:
            type: string
          description: Serializer method for the errors field.
          readOnly: true
      required:
      - description
      - driver_errors
      - is_builtin
      - machine_type
      - name
      - provider_file
      - provider_plugin
      - slug
    MachineRegistryError:
      type: object
      description: Serializer for a machine registry error.
      properties:
        message:
          type: string
      required:
      - message
    MachineRegistryStatus:
      type: object
      description: Serializer for machine registry status.
      properties:
        registry_errors:
          type: array
          items:
            $ref: '#/components/schemas/MachineRegistryError'
      required:
      - registry_errors
    MachineRestart:
      type: object
      description: Serializer for the machine restart response.
      properties:
        ok:
          type: boolean
      required:
      - ok
    MachineSetting:
      type: object
      description: Serializer for the MachineSetting 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: array
          items: {}
          description: Returns the choices available for a given item.
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        config_type:
          allOf:
          - $ref: '#/components/schemas/ConfigTypeEnum'
          readOnly: true
      required:
      - api_url
      - choices
      - config_type
      - description
      - key
      - model_name
      - name
      - pk
      - required
      - typ
      - type
      - value
    MachineType:
      type: object
      description: Serializer for a BaseMachineType class.
      properties:
        slug:
          type: string
          pattern: ^[-a-zA-Z0-9_]+$
        name:
          type: string
        description:
          type: string
        provider_file:
          type: string
          description: Serializer method for the provider_file field.
          readOnly: true
        provider_plugin:
          type: object
          additionalProperties: {}
          nullable: true
          description: Serializer method for the provider_plugin field.
          readOnly: true
        is_builtin:
          type: boolean
          description: Serializer method for the is_builtin field.
          readOnly: true
      required:
      - description
      - is_builtin
      - name
      - provider_file
      - provider_plugin
      - slug
    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
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        tags:
          type: array
          items:
            type: string
      required:
      - MPN
      - manufacturer
      - manufacturer_detail
      - part
      - pk
    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
    Metadata:
      type: object
      description: Serializer class for model metadata API access.
      properties:
        metadata: {}
      required:
      - metadata
    ModelTypeA6eEnum:
      enum:
      - build
      - buildline
      - purchaseorder
      - salesorder
      - returnorder
      - part
      - stockitem
      - stocklocation
      type: string
      description: |-
        * `build` - Build Order
        * `buildline` - Build Order Line Item
        * `purchaseorder` - Purchase Order
        * `salesorder` - Sales Order
        * `returnorder` - Return Order
        * `part` - Part
        * `stockitem` - Stock Item
        * `stocklocation` - Stock Location
    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
        model_type:
          type: string
          nullable: true
          description: Target model type for this image
          maxLength: 100
        model_id:
          type: integer
          nullable: true
          description: Target model ID for this image
      required:
      - date
      - image
      - pk
      - user
    NotificationMessage:
      type: object
      description: Serializer for the InvenTreeUserSetting model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        target:
          type: object
          additionalProperties: {}
          description: Function to resolve generic object reference to target.
          readOnly: true
        source:
          type: object
          additionalProperties: {}
          description: Function to resolve generic object reference to source.
          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: integer
          description: Age of the message in seconds.
          readOnly: true
        age_human:
          type: string
          description: Humanized age.
          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: array
          items: {}
          description: Returns the choices available for a given item.
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        method:
          type: string
          readOnly: true
      required:
      - api_url
      - choices
      - description
      - key
      - method
      - model_name
      - name
      - pk
      - required
      - 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
    PageSizeEnum:
      enum:
      - A4
      - A3
      - Legal
      - Letter
      type: string
      description: |-
        * `A4` - A4
        * `A3` - A3
        * `Legal` - Legal
        * `Letter` - Letter
    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'
    PaginatedApiTokenList:
      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/ApiToken'
    PaginatedAttachmentList:
      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/Attachment'
    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'
    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'
    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'
    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'
    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'
    PaginatedContentTypeList:
      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/ContentType'
    PaginatedCustomStateList:
      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/CustomState'
    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'
    PaginatedDataImportColumnMapList:
      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/DataImportColumnMap'
    PaginatedDataImportRowList:
      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/DataImportRow'
    PaginatedDataImportSessionList:
      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/DataImportSession'
    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'
    PaginatedIconPackageList:
      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/IconPackage'
    PaginatedLabelOutputList:
      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/LabelOutput'
    PaginatedLabelTemplateList:
      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/LabelTemplate'
    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'
    PaginatedMachineConfigList:
      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/MachineConfig'
    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'
    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'
    PaginatedPartList:
      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/Part'
    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'
    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'
    PaginatedReportAssetList:
      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/ReportAsset'
    PaginatedReportOutputList:
      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/ReportOutput'
    PaginatedReportSnippetList:
      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/ReportSnippet'
    PaginatedReportTemplateList:
      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/ReportTemplate'
    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'
    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'
    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'
    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'
    PaginatedSocialProviderListResponseList:
      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/SocialProviderListResponse'
    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'
    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'
    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'
    PaginatedVersionInformationList:
      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/VersionInformation'
    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
          nullable: true
        category_name:
          type: string
          readOnly: true
        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
          description: Format a 'full name' for this Part based on the format PART_NAME_FORMAT
            defined in InvenTree settings.
          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
          default: ''
          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
        locked:
          type: boolean
          description: Locked parts cannot be edited
        minimum_stock:
          type: number
          format: double
        name:
          type: string
          description: Part name
          maxLength: 100
        pk:
          type: integer
          readOnly: true
          title: ID
        purchaseable:
          type: boolean
          description: Can this part be purchased from external suppliers?
        revision:
          type: string
          nullable: true
          default: ''
          maxLength: 100
        revision_of:
          type: integer
          nullable: true
          description: Is this part a revision of another part?
        revision_count:
          type: integer
          readOnly: true
          title: Revisions
        salable:
          type: boolean
          description: Can this part be sold to customers?
        starred:
          type: boolean
          description: Return "true" if the part is starred by the current user.
          readOnly: true
        thumbnail:
          type: string
          readOnly: true
        testable:
          type: boolean
          description: Can this part have test results recorded against it?
        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?
        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
        pricing_updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        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
        category_default_location:
          type: integer
          readOnly: true
        in_stock:
          type: number
          format: double
          readOnly: true
        ordering:
          type: number
          format: double
          readOnly: true
          title: On Order
        required_for_build_orders:
          type: integer
          readOnly: true
        required_for_sales_orders:
          type: integer
          readOnly: true
        stock_item_count:
          type: integer
          readOnly: true
          title: Stock Items
        suppliers:
          type: integer
          readOnly: true
        total_in_stock:
          type: number
          format: double
          readOnly: true
          title: Total Stock
        external_stock:
          type: number
          format: double
          readOnly: true
        unallocated_stock:
          type: number
          format: double
          readOnly: true
        variant_stock:
          type: number
          format: double
          readOnly: true
        duplicate:
          allOf:
          - $ref: '#/components/schemas/DuplicatePart'
          writeOnly: true
          title: Duplicate Part
          description: Copy initial data from another Part
        initial_stock:
          allOf:
          - $ref: '#/components/schemas/InitialStock'
          writeOnly: true
          description: Create Part with initial stock quantity
        initial_supplier:
          allOf:
          - $ref: '#/components/schemas/InitialSupplier'
          writeOnly: true
          title: Supplier Information
          description: Add initial supplier information for this part
        copy_category_parameters:
          type: boolean
          default: true
          description: Copy parameter templates from selected part category
        tags:
          type: array
          items:
            type: string
      required:
      - allocated_to_build_orders
      - allocated_to_sales_orders
      - barcode_hash
      - building
      - category_default_location
      - category_name
      - creation_date
      - external_stock
      - full_name
      - in_stock
      - minimum_stock
      - name
      - ordering
      - pk
      - pricing_max
      - pricing_min
      - pricing_updated
      - required_for_build_orders
      - required_for_sales_orders
      - revision_count
      - starred
      - stock_item_count
      - suppliers
      - thumbnail
      - total_in_stock
      - unallocated_stock
      - variant_stock
    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
        category_default_location:
          type: integer
          readOnly: true
        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
          default: ''
          maxLength: 100
        full_name:
          type: string
          description: Format a 'full name' for this Part based on the format PART_NAME_FORMAT
            defined in InvenTree settings.
          readOnly: true
        description:
          type: string
          description: Part description (optional)
          maxLength: 250
        image:
          type: string
          format: uri
          readOnly: true
        thumbnail:
          type: string
          readOnly: true
        active:
          type: boolean
          description: Is this part active?
        locked:
          type: boolean
          description: Locked parts cannot be edited
        assembly:
          type: boolean
          description: Can this part be built from other parts?
        component:
          type: boolean
          description: Can this part be used to build 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?
        testable:
          type: boolean
          description: Can this part have test results recorded against it?
        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
      - category_default_location
      - full_name
      - image
      - 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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `EUR` - Euro
            * `USD` - US Dollar
      required:
      - part
      - pk
      - quantity
    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
        parts:
          type: integer
          readOnly: true
          description: Number of parts using this template
        checkbox:
          type: boolean
          description: Is this parameter a checkbox?
        choices:
          type: string
          description: Valid choices for this parameter (comma-separated)
          maxLength: 5000
      required:
      - name
      - parts
      - 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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        enabled:
          type: boolean
          description: Is this test enabled?
        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?
        results:
          type: integer
          readOnly: true
          description: Number of results recorded against this template
        choices:
          type: string
          description: Valid choices for this test (comma-separated)
          maxLength: 5000
      required:
      - key
      - part
      - pk
      - results
      - 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
    PatchedAttachment:
      type: object
      description: Serializer class for the Attachment model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        attachment:
          type: string
          format: uri
          nullable: true
        filename:
          type: string
        link:
          type: string
          format: uri
          nullable: true
          description: Link to external URL
          maxLength: 200
        comment:
          type: string
          description: Attachment comment
          maxLength: 250
        upload_date:
          type: string
          format: date
          readOnly: true
        upload_user:
          type: integer
          readOnly: true
          nullable: true
          title: User
          description: User
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        file_size:
          type: integer
          readOnly: true
          description: File size in bytes
        model_type:
          $ref: '#/components/schemas/AttachmentModelTypeEnum'
        model_id:
          type: integer
        tags:
          type: array
          items:
            type: string
    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:
        part:
          type: integer
          title: Assembly
          description: Select the parent assembly
        sub_part:
          type: integer
          title: Component
          description: Select the component part
        reference:
          type: string
          description: BOM item reference
          maxLength: 5000
        quantity:
          type: number
          format: double
        overage:
          type: string
          description: Estimated build wastage quantity (absolute or percentage)
          maxLength: 24
        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
        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)
        note:
          type: string
          description: BOM item notes
          maxLength: 500
        pk:
          type: integer
          readOnly: true
          title: ID
        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
        pricing_min_total:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        pricing_max_total:
          type: string
          format: decimal
          pattern: ^-?\d{0,13}(?:\.\d{0,6})?$
          readOnly: true
          nullable: true
        pricing_updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        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
        external_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
        can_build:
          type: number
          format: double
          readOnly: true
    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_name:
          type: string
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        project_code:
          type: integer
          nullable: true
          description: Project code for this build order
        project_code_label:
          type: string
          readOnly: true
        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/StatusC2fEnum'
          readOnly: true
          title: Build Status
          description: |-
            Build status code

            * `10` - Pending
            * `20` - Production
            * `25` - On Hold
            * `30` - Cancelled
            * `40` - Complete
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `20` - Production
            * `25` - On Hold
            * `30` - Cancelled
            * `40` - Complete
          oneOf:
          - $ref: '#/components/schemas/StatusCustomKeyC2fEnum'
          - $ref: '#/components/schemas/NullEnum'
        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
        level:
          type: integer
          readOnly: true
          title: Build Level
    PatchedBuildItem:
      type: object
      description: Serializes a BuildItem object, which is an allocation of a stock
        item against a build order.
      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
          title: Allocated Quantity
        location:
          type: integer
          readOnly: true
        location_detail:
          allOf:
          - $ref: '#/components/schemas/LocationBrief'
          readOnly: true
        part_detail:
          allOf:
          - $ref: '#/components/schemas/PartBrief'
          readOnly: true
        stock_item_detail:
          allOf:
          - $ref: '#/components/schemas/StockItemSerializerBrief'
          readOnly: true
        supplier_part_detail:
          allOf:
          - $ref: '#/components/schemas/SupplierPart'
          readOnly: true
        bom_reference:
          type: string
          readOnly: true
        item_serial_number:
          type: string
          readOnly: true
          title: Serial Number
    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/PartBrief'
          readOnly: true
        quantity:
          type: number
          format: double
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/BuildItem'
          readOnly: true
        reference:
          type: string
          readOnly: true
        consumable:
          type: boolean
          readOnly: true
        optional:
          type: boolean
          readOnly: true
        testable:
          type: boolean
          readOnly: true
        trackable:
          type: boolean
          readOnly: true
        inherited:
          type: boolean
          readOnly: true
        allow_variants:
          type: boolean
          readOnly: true
        part:
          type: integer
          readOnly: true
        part_name:
          type: string
          readOnly: true
        part_IPN:
          type: string
          readOnly: true
        part_category_id:
          type: integer
          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
        external_stock:
          type: number
          format: double
          readOnly: true
    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
          title: Parent Category
          description: Parent part category
        part_count:
          type: integer
          readOnly: true
          title: Parts
        subcategories:
          type: integer
          readOnly: true
        pathstring:
          type: string
          readOnly: true
          title: Path
          description: Path
        starred:
          type: boolean
          description: Return True if the category is directly "starred" by the current
            user.
          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
        parent_default_location:
          type: integer
          readOnly: true
    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
          default: ''
        currency:
          allOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          description: |-
            Default currency used for this supplier

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        active:
          type: boolean
          description: Is this company active?
        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
    PatchedContact:
      type: object
      description: Serializer class for the Contact model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        company:
          type: integer
        company_name:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 100
        phone:
          type: string
          maxLength: 100
        email:
          type: string
          format: email
          maxLength: 254
        role:
          type: string
          maxLength: 100
    PatchedCustomState:
      type: object
      description: Serializer for the custom state model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        key:
          type: integer
          description: Value that will be saved in the models database
        name:
          type: string
          description: Name of the state
          maxLength: 250
        label:
          type: string
          description: Label that will be displayed in the frontend
          maxLength: 250
        color:
          allOf:
          - $ref: '#/components/schemas/ColorEnum'
          description: |-
            Color that will be displayed in the frontend

            * `primary` - primary
            * `secondary` - secondary
            * `success` - success
            * `danger` - danger
            * `warning` - warning
            * `info` - info
            * `dark` - dark
        logical_key:
          type: integer
          description: State logical key that is equal to this custom state in business
            logic
        model:
          type: integer
          nullable: true
          description: Model this state is associated with
        model_name:
          type: string
          readOnly: true
        reference_status:
          $ref: '#/components/schemas/ReferenceStatusEnum'
    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
    PatchedDataImportColumnMap:
      type: object
      description: Serializer for the DataImportColumnMap model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        session:
          type: integer
          readOnly: true
          title: Import Session
        column:
          type: string
          maxLength: 100
        field:
          type: string
          readOnly: true
        label:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
    PatchedDataImportRow:
      type: object
      description: Serializer for the DataImportRow model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        session:
          type: integer
          readOnly: true
          title: Import Session
        row_index:
          type: integer
          readOnly: true
        row_data:
          readOnly: true
          nullable: true
          title: Original row data
        data:
          nullable: true
        errors:
          readOnly: true
          nullable: true
        valid:
          type: boolean
          readOnly: true
        complete:
          type: boolean
          readOnly: true
    PatchedDataImportSession:
      type: object
      description: Serializer for the DataImportSession model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        timestamp:
          type: string
          format: date-time
          readOnly: true
        data_file:
          type: string
          format: uri
        model_type:
          $ref: '#/components/schemas/DataImportSessionModelTypeEnum'
        available_fields:
          readOnly: true
        status:
          allOf:
          - $ref: '#/components/schemas/DataImportSessionStatusEnum'
          readOnly: true
          description: |-
            Import status

            * `0` - Initializing
            * `10` - Mapping Columns
            * `20` - Importing Data
            * `30` - Processing Data
            * `40` - Complete
        user:
          type: integer
          readOnly: true
          nullable: true
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        columns:
          readOnly: true
          nullable: true
        column_mappings:
          type: array
          items:
            $ref: '#/components/schemas/DataImportColumnMap'
          readOnly: true
        field_defaults:
          nullable: true
        field_overrides:
          nullable: true
        field_filters:
          nullable: true
        row_count:
          type: integer
          readOnly: true
        completed_row_count:
          type: integer
          readOnly: true
    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
          description: Username
        first_name:
          type: string
          description: First name of the user
        last_name:
          type: string
          description: Last name of the user
        email:
          type: string
          format: email
          description: Email address of the user
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          readOnly: true
        is_staff:
          type: boolean
          title: Staff
          description: Does this user have staff permissions
        is_superuser:
          type: boolean
          title: Superuser
          description: Is this user a superuser
        is_active:
          type: boolean
          title: Active
          description: Is this user account active
    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: array
          items: {}
          description: Returns the choices available for a given item.
          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
    PatchedLabelTemplate:
      type: object
      description: Serializer class for label template model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Template description
          maxLength: 250
        model_type:
          $ref: '#/components/schemas/ModelTypeA6eEnum'
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Template query filters (comma-separated list of key=value pairs)
          maxLength: 250
        filename_pattern:
          type: string
          description: Pattern for generating filenames
          maxLength: 100
        enabled:
          type: boolean
          description: Template is enabled
        revision:
          type: integer
          readOnly: true
        width:
          type: number
          format: double
          minimum: 2
          title: Width [mm]
          description: Label width, specified in mm
        height:
          type: number
          format: double
          minimum: 2
          title: Height [mm]
          description: Label height, specified in mm
    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
          title: Parent Location
          description: Parent stock location
        pathstring:
          type: string
          readOnly: true
          title: Path
          description: Path
        items:
          type: integer
          readOnly: true
          title: Stock Items
        sublocations:
          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
    PatchedMachineConfig:
      type: object
      description: Serializer for a MachineConfig.
      properties:
        pk:
          type: string
          format: uuid
          readOnly: true
          title: Id
        name:
          type: string
          description: Name of machine
          maxLength: 255
        machine_type:
          type: string
          readOnly: true
          description: Type of machine
        driver:
          type: string
          readOnly: true
          description: Driver used for the machine
        initialized:
          type: boolean
          description: Serializer method for the initialized field.
          readOnly: true
        active:
          type: boolean
          description: Machines can be disabled
        status:
          type: integer
          description: Serializer method for the status field.
          readOnly: true
        status_model:
          type: string
          nullable: true
          description: Serializer method for the status model field.
          readOnly: true
        status_text:
          type: string
          description: Serializer method for the status text field.
          readOnly: true
        machine_errors:
          type: array
          items:
            type: string
          description: Serializer method for the errors field.
          readOnly: true
        is_driver_available:
          type: boolean
          description: Serializer method for the is_driver_available field.
          readOnly: true
        restart_required:
          type: boolean
          description: Serializer method for the restart_required field.
          readOnly: true
    PatchedMachineSetting:
      type: object
      description: Serializer for the MachineSetting 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: array
          items: {}
          description: Returns the choices available for a given item.
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        config_type:
          allOf:
          - $ref: '#/components/schemas/ConfigTypeEnum'
          readOnly: true
    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
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        tags:
          type: array
          items:
            type: string
    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
    PatchedMetadata:
      type: object
      description: Serializer class for model metadata API access.
      properties:
        metadata: {}
    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: object
          additionalProperties: {}
          description: Function to resolve generic object reference to target.
          readOnly: true
        source:
          type: object
          additionalProperties: {}
          description: Function to resolve generic object reference to source.
          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: integer
          description: Age of the message in seconds.
          readOnly: true
        age_human:
          type: string
          description: Humanized age.
          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: array
          items: {}
          description: Returns the choices available for a given item.
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        method:
          type: string
          readOnly: true
    PatchedPart:
      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
          nullable: true
        category_name:
          type: string
          readOnly: true
        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
          description: Format a 'full name' for this Part based on the format PART_NAME_FORMAT
            defined in InvenTree settings.
          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
          default: ''
          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
        locked:
          type: boolean
          description: Locked parts cannot be edited
        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
          default: ''
          maxLength: 100
        revision_of:
          type: integer
          nullable: true
          description: Is this part a revision of another part?
        revision_count:
          type: integer
          readOnly: true
          title: Revisions
        salable:
          type: boolean
          description: Can this part be sold to customers?
        starred:
          type: boolean
          description: Return "true" if the part is starred by the current user.
          readOnly: true
        thumbnail:
          type: string
          readOnly: true
        testable:
          type: boolean
          description: Can this part have test results recorded against it?
        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?
        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
        pricing_updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        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
        category_default_location:
          type: integer
          readOnly: true
        in_stock:
          type: number
          format: double
          readOnly: true
        ordering:
          type: number
          format: double
          readOnly: true
          title: On Order
        required_for_build_orders:
          type: integer
          readOnly: true
        required_for_sales_orders:
          type: integer
          readOnly: true
        stock_item_count:
          type: integer
          readOnly: true
          title: Stock Items
        suppliers:
          type: integer
          readOnly: true
        total_in_stock:
          type: number
          format: double
          readOnly: true
          title: Total Stock
        external_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
    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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `EUR` - Euro
            * `USD` - US Dollar
    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
        parts:
          type: integer
          readOnly: true
          description: Number of parts using this template
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        enabled:
          type: boolean
          description: Is this test enabled?
        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?
        results:
          type: integer
          readOnly: true
          description: Number of results recorded against this template
        choices:
          type: string
          description: Valid choices for this test (comma-separated)
          maxLength: 5000
    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: array
          items: {}
          description: Returns the choices available for a given item.
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        required:
          type: boolean
          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_label:
          type: string
          readOnly: true
        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
          title: Order Status
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `20` - Placed
            * `25` - On Hold
            * `30` - Complete
            * `40` - Cancelled
            * `50` - Lost
            * `60` - Returned
          oneOf:
          - $ref: '#/components/schemas/PurchaseOrderStatusCustomKeyEnum'
          - $ref: '#/components/schemas/NullEnum'
        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
        supplier_name:
          type: string
          readOnly: 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)

            * `` - ---------
            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `EUR` - Euro
            * `USD` - US Dollar
          oneOf:
          - $ref: '#/components/schemas/SalePriceCurrencyEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
    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:
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        part:
          type: integer
          nullable: true
          title: Supplier Part
        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
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `EUR` - Euro
            * `USD` - US Dollar
        auto_pricing:
          type: boolean
          default: true
          description: Automatically calculate purchase price based on supplier part
            data
        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
        merge_items:
          type: boolean
          writeOnly: true
          default: true
          description: Merge items with the same part, destination and target date
            into one line item
        sku:
          type: string
          readOnly: true
        mpn:
          type: string
          readOnly: true
        ipn:
          type: string
          readOnly: true
          title: Internal Part Number
        internal_part:
          type: integer
          readOnly: true
        internal_part_name:
          type: string
          readOnly: true
    PatchedReportAsset:
      type: object
      description: Serializer class for the ReportAsset model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        asset:
          type: string
          format: uri
        description:
          type: string
          description: Asset file description
          maxLength: 250
    PatchedReportSnippet:
      type: object
      description: Serializer class for the ReportSnippet model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        snippet:
          type: string
          format: uri
        description:
          type: string
          description: Snippet file description
          maxLength: 250
    PatchedReportTemplate:
      type: object
      description: Serializer class for report template model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Template description
          maxLength: 250
        model_type:
          $ref: '#/components/schemas/ModelTypeA6eEnum'
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Template query filters (comma-separated list of key=value pairs)
          maxLength: 250
        filename_pattern:
          type: string
          description: Pattern for generating filenames
          maxLength: 100
        enabled:
          type: boolean
          description: Template is enabled
        revision:
          type: integer
          readOnly: true
        page_size:
          allOf:
          - $ref: '#/components/schemas/PageSizeEnum'
          default: A4
        landscape:
          type: boolean
          description: Render report in landscape orientation
    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_label:
          type: string
          readOnly: true
        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
          title: Order Status
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `20` - In Progress
            * `25` - On Hold
            * `30` - Complete
            * `40` - Cancelled
          oneOf:
          - $ref: '#/components/schemas/ReturnOrderStatusCustomKeyEnum'
          - $ref: '#/components/schemas/NullEnum'
        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)

            * `` - ---------
            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
    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:
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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)
    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_label:
          type: string
          readOnly: true
        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
          title: Order Status
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `15` - In Progress
            * `20` - Shipped
            * `25` - On Hold
            * `30` - Complete
            * `40` - Cancelled
            * `50` - Lost
            * `60` - Returned
          oneOf:
          - $ref: '#/components/schemas/SalesOrderStatusCustomKeyEnum'
          - $ref: '#/components/schemas/NullEnum'
        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)

            * `` - ---------
            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
    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:
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        available_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        building:
          type: number
          format: double
          readOnly: true
          title: In Production
        on_order:
          type: number
          format: double
          readOnly: true
    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_name:
          type: string
          readOnly: true
        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
        parent:
          type: integer
          readOnly: true
          title: Parent Item
          description: Parent stock item
        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/Status2a7Enum'
          minimum: 0
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - OK
            * `50` - Attention needed
            * `55` - Damaged
            * `60` - Destroyed
            * `65` - Rejected
            * `70` - Lost
            * `75` - Quarantined
            * `85` - Returned
          oneOf:
          - $ref: '#/components/schemas/StatusCustomKey2a7Enum'
          - $ref: '#/components/schemas/NullEnum'
        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
        sku:
          type: string
          readOnly: true
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
          readOnly: true
          title: Allocated Quantity
        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
    PatchedStockItemTestResult:
      type: object
      description: Serializer for the StockItemTestResult model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        stock_item:
          type: integer
        result:
          type: boolean
          description: Test result
        value:
          type: string
          description: Test output value
          maxLength: 500
        attachment:
          type: string
          format: uri
          nullable: true
          description: Test result attachment
        notes:
          type: string
          description: Test notes
          maxLength: 500
        test_station:
          type: string
          description: The identifier of the test station where the test was performed
          maxLength: 500
        started_datetime:
          type: string
          format: date-time
          nullable: true
          title: Started
          description: The timestamp of the test start
        finished_datetime:
          type: string
          format: date-time
          nullable: true
          title: Finished
          description: The timestamp of the test finish
        user:
          type: integer
          readOnly: true
          nullable: true
        date:
          type: string
          format: date-time
          readOnly: true
        template:
          type: integer
          nullable: true
          title: Test template for this result
          description: Template
    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
        active:
          type: boolean
          description: Is this supplier part active?
        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
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
    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: array
          items: {}
          description: Returns the choices available for a given item.
          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:
        active_plugins:
          type: integer
          readOnly: true
        registry_errors:
          type: array
          items:
            $ref: '#/components/schemas/PluginRegistryError'
      required:
      - active_plugins
      - 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: array
          items: {}
          description: Returns the choices available for a given item.
          readOnly: true
        model_name:
          type: string
          readOnly: true
        api_url:
          type: string
          readOnly: true
        typ:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        plugin:
          type: string
          readOnly: true
      required:
      - api_url
      - choices
      - description
      - key
      - model_name
      - name
      - pk
      - plugin
      - required
      - 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: boolean
          description: Return true if preferred method is PUI.
          readOnly: true
        cui:
          type: boolean
          description: Return true if preferred method is CUI.
          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_label:
          type: string
          readOnly: true
        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
          title: Order Status
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `20` - Placed
            * `25` - On Hold
            * `30` - Complete
            * `40` - Cancelled
            * `50` - Lost
            * `60` - Returned
          oneOf:
          - $ref: '#/components/schemas/PurchaseOrderStatusCustomKeyEnum'
          - $ref: '#/components/schemas/NullEnum'
        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
        supplier_name:
          type: string
          readOnly: 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)

            * `` - ---------
            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
      - project_code_label
      - reference
      - responsible_detail
      - status
      - status_custom_key
      - status_text
      - supplier
      - supplier_name
      - total_price
    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:
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        part:
          type: integer
          nullable: true
          title: Supplier Part
        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
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `EUR` - Euro
            * `USD` - US Dollar
        auto_pricing:
          type: boolean
          default: true
          description: Automatically calculate purchase price based on supplier part
            data
        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
        merge_items:
          type: boolean
          writeOnly: true
          default: true
          description: Merge items with the same part, destination and target date
            into one line item
        sku:
          type: string
          readOnly: true
        mpn:
          type: string
          readOnly: true
        ipn:
          type: string
          readOnly: true
          title: Internal Part Number
        internal_part:
          type: integer
          readOnly: true
        internal_part_name:
          type: string
          readOnly: true
      required:
      - destination_detail
      - internal_part
      - internal_part_name
      - ipn
      - mpn
      - order
      - overdue
      - part
      - pk
      - quantity
      - received
      - sku
      - 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/Status2a7Enum'
          default: 10
        packaging:
          type: string
          default: ''
          description: Override packaging information for incoming stock items
        note:
          type: string
          default: ''
          description: Additional note for incoming stock items
        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
    PurchaseOrderStatusCustomKeyEnum:
      enum:
      - 10
      - 20
      - 25
      - 30
      - 40
      - 50
      - 60
      type: integer
      description: |-
        * `10` - Pending
        * `20` - Placed
        * `25` - On Hold
        * `30` - Complete
        * `40` - Cancelled
        * `50` - Lost
        * `60` - Returned
    ReferenceStatusEnum:
      enum:
      - BuildStatus
      - DataImportStatusCode
      - MachineStatus
      - PurchaseOrderStatus
      - ReturnOrderLineStatus
      - ReturnOrderStatus
      - SalesOrderStatus
      - StockHistoryCode
      - StockStatus
      type: string
      description: |-
        * `BuildStatus` - BuildStatus
        * `DataImportStatusCode` - DataImportStatusCode
        * `MachineStatus` - MachineStatus
        * `PurchaseOrderStatus` - PurchaseOrderStatus
        * `ReturnOrderLineStatus` - ReturnOrderLineStatus
        * `ReturnOrderStatus` - ReturnOrderStatus
        * `SalesOrderStatus` - SalesOrderStatus
        * `StockHistoryCode` - StockHistoryCode
        * `StockStatus` - StockStatus
    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
    ReportAsset:
      type: object
      description: Serializer class for the ReportAsset model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        asset:
          type: string
          format: uri
        description:
          type: string
          description: Asset file description
          maxLength: 250
      required:
      - asset
      - description
      - pk
    ReportOutput:
      type: object
      description: Serializer class for the ReportOutput model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        created:
          type: string
          format: date
          readOnly: true
        user:
          type: integer
          nullable: true
        user_detail:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true
        model_type:
          type: string
          readOnly: true
        items:
          type: integer
          description: Number of items to process
        complete:
          type: boolean
          description: Report generation is complete
        progress:
          type: integer
          description: Report generation progress
        output:
          type: string
          format: uri
        template:
          type: integer
          title: Report Template
      required:
      - created
      - model_type
      - output
      - pk
      - template
      - user_detail
    ReportPrint:
      type: object
      description: Serializer class for printing a report.
      properties:
        template:
          type: integer
          description: Select report template
        items:
          type: array
          items:
            type: integer
          description: List of item primary keys to include in the report
      required:
      - items
      - template
    ReportSnippet:
      type: object
      description: Serializer class for the ReportSnippet model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        snippet:
          type: string
          format: uri
        description:
          type: string
          description: Snippet file description
          maxLength: 250
      required:
      - description
      - pk
      - snippet
    ReportTemplate:
      type: object
      description: Serializer class for report template model.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        name:
          type: string
          description: Template name
          maxLength: 100
        description:
          type: string
          description: Template description
          maxLength: 250
        model_type:
          $ref: '#/components/schemas/ModelTypeA6eEnum'
        template:
          type: string
          format: uri
        filters:
          type: string
          description: Template query filters (comma-separated list of key=value pairs)
          maxLength: 250
        filename_pattern:
          type: string
          description: Pattern for generating filenames
          maxLength: 100
        enabled:
          type: boolean
          description: Template is enabled
        revision:
          type: integer
          readOnly: true
        page_size:
          allOf:
          - $ref: '#/components/schemas/PageSizeEnum'
          default: A4
        landscape:
          type: boolean
          description: Render report in landscape orientation
      required:
      - description
      - model_type
      - name
      - pk
      - revision
      - template
    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_label:
          type: string
          readOnly: true
        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
          title: Order Status
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `20` - In Progress
            * `25` - On Hold
            * `30` - Complete
            * `40` - Cancelled
          oneOf:
          - $ref: '#/components/schemas/ReturnOrderStatusCustomKeyEnum'
          - $ref: '#/components/schemas/NullEnum'
        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)

            * `` - ---------
            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
      - project_code_label
      - reference
      - responsible_detail
      - status
      - status_custom_key
      - status_text
      - total_price
    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:
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
    ReturnOrderStatusCustomKeyEnum:
      enum:
      - 10
      - 20
      - 25
      - 30
      - 40
      type: integer
      description: |-
        * `10` - Pending
        * `20` - In Progress
        * `25` - On Hold
        * `30` - Complete
        * `40` - Cancelled
    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
    Role:
      type: object
      description: Serializer for a roles associated with a given user.
      properties:
        user:
          type: integer
        username:
          type: string
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        roles:
          type: object
          additionalProperties: {}
          description: Roles associated with the user.
          readOnly: true
        permissions:
          type: object
          additionalProperties: {}
          description: Permissions associated with the user.
          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.
      required:
      - permissions
      - roles
      - user
      - username
    SalePriceCurrencyEnum:
      enum:
      - AUD
      - CNY
      - EUR
      - USD
      type: string
      description: |-
        * `AUD` - Australian Dollar
        * `CNY` - Chinese Yuan
        * `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_label:
          type: string
          readOnly: true
        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
          title: Order Status
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          readOnly: true
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - Pending
            * `15` - In Progress
            * `20` - Shipped
            * `25` - On Hold
            * `30` - Complete
            * `40` - Cancelled
            * `50` - Lost
            * `60` - Returned
          oneOf:
          - $ref: '#/components/schemas/SalesOrderStatusCustomKeyEnum'
          - $ref: '#/components/schemas/NullEnum'
        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)

            * `` - ---------
            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
      - project_code_label
      - reference
      - responsible_detail
      - shipment_date
      - status
      - status_custom_key
      - 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
    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:
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
        available_stock:
          type: number
          format: double
          readOnly: true
        available_variant_stock:
          type: number
          format: double
          readOnly: true
        building:
          type: number
          format: double
          readOnly: true
          title: In Production
        on_order:
          type: number
          format: double
          readOnly: true
      required:
      - allocated
      - available_stock
      - available_variant_stock
      - building
      - on_order
      - order
      - overdue
      - pk
      - quantity
      - shipped
    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
      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
    SalesOrderStatusCustomKeyEnum:
      enum:
      - 10
      - 15
      - 20
      - 25
      - 30
      - 40
      - 50
      - 60
      type: integer
      description: |-
        * `10` - Pending
        * `15` - In Progress
        * `20` - Shipped
        * `25` - On Hold
        * `30` - Complete
        * `40` - Cancelled
        * `50` - Lost
        * `60` - Returned
    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
    SocialProvider:
      type: object
      description: Serializer for the SocialProviderListResponseSerializer.
      properties:
        id:
          type: string
        name:
          type: string
        configured:
          type: boolean
        login:
          type: string
          format: uri
        connect:
          type: string
          format: uri
        display_name:
          type: string
      required:
      - configured
      - connect
      - display_name
      - id
      - login
      - name
    SocialProviderListResponse:
      type: object
      description: Serializer for the SocialProviderListView.
      properties:
        sso_enabled:
          type: boolean
        sso_registration:
          type: boolean
        mfa_required:
          type: boolean
        providers:
          type: array
          items:
            $ref: '#/components/schemas/SocialProvider'
        registration_enabled:
          type: boolean
        password_forgotten_enabled:
          type: boolean
      required:
      - mfa_required
      - password_forgotten_enabled
      - providers
      - registration_enabled
      - sso_enabled
      - sso_registration
    Status2a7Enum:
      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
    StatusC2fEnum:
      enum:
      - 10
      - 20
      - 25
      - 30
      - 40
      type: integer
      description: |-
        * `10` - Pending
        * `20` - Production
        * `25` - On Hold
        * `30` - Cancelled
        * `40` - Complete
    StatusCustomKey2a7Enum:
      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
    StatusCustomKeyC2fEnum:
      enum:
      - 10
      - 20
      - 25
      - 30
      - 40
      type: integer
      description: |-
        * `10` - Pending
        * `20` - Production
        * `25` - On Hold
        * `30` - Cancelled
        * `40` - Complete
    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:
          description: |-
            Stock item status code

            * `None` - No Change
            * `10` - OK
            * `50` - Attention needed
            * `55` - Damaged
            * `60` - Destroyed
            * `65` - Rejected
            * `70` - Lost
            * `75` - Quarantined
            * `85` - Returned
          oneOf:
          - $ref: '#/components/schemas/Status2a7Enum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        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/Status2a7Enum'
          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?
        location_name:
          type: string
          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
        parent:
          type: integer
          readOnly: true
          title: Parent Item
          description: Parent stock item
        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/Status2a7Enum'
          minimum: 0
        status_text:
          type: string
          readOnly: true
        status_custom_key:
          nullable: true
          title: Custom status key
          description: |-
            Additional status information for this item

            * `10` - OK
            * `50` - Attention needed
            * `55` - Damaged
            * `60` - Destroyed
            * `65` - Rejected
            * `70` - Lost
            * `75` - Quarantined
            * `85` - Returned
          oneOf:
          - $ref: '#/components/schemas/StatusCustomKey2a7Enum'
          - $ref: '#/components/schemas/NullEnum'
        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
        sku:
          type: string
          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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
          readOnly: true
          title: Allocated Quantity
        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:
      - allocated
      - barcode_hash
      - child_items
      - expired
      - installed_items
      - location_name
      - parent
      - part
      - pk
      - purchase_order_reference
      - quantity
      - sales_order_reference
      - sku
      - stale
      - status_text
      - stocktake_date
      - tracking_items
      - updated
    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
        batch:
          type: string
          nullable: true
          title: Batch Code
          description: Batch code for this stock 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
        result:
          type: boolean
          description: Test result
        value:
          type: string
          description: Test output value
          maxLength: 500
        attachment:
          type: string
          format: uri
          nullable: true
          description: Test result attachment
        notes:
          type: string
          description: Test notes
          maxLength: 500
        test_station:
          type: string
          description: The identifier of the test station where the test was performed
          maxLength: 500
        started_datetime:
          type: string
          format: date-time
          nullable: true
          title: Started
          description: The timestamp of the test start
        finished_datetime:
          type: string
          format: date-time
          nullable: true
          title: Finished
          description: The timestamp of the test finish
        user:
          type: integer
          readOnly: true
          nullable: true
        date:
          type: string
          format: date-time
          readOnly: true
        template:
          type: integer
          nullable: true
          title: Test template for this result
          description: Template
      required:
      - date
      - pk
      - stock_item
      - user
    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:
          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:
        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
        active:
          type: boolean
          description: Is this supplier part active?
        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
        url:
          type: string
          readOnly: true
        updated:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        notes:
          type: string
          nullable: true
          description: Markdown notes (optional)
          maxLength: 50000
      required:
      - MPN
      - SKU
      - barcode_hash
      - in_stock
      - manufacturer
      - name
      - pack_quantity_native
      - part
      - pk
      - supplier
      - 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

            * `AUD` - Australian Dollar
            * `CNY` - Chinese Yuan
            * `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
    TestStatistics:
      type: object
      description: DRF serializer class for the test statistics.
      properties:
        results:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
      required:
      - results
    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
          description: Username
        first_name:
          type: string
          description: First name of the user
        last_name:
          type: string
          description: Last name of the user
        email:
          type: string
          format: email
          description: Email address of the user
      required:
      - email
      - first_name
      - last_name
      - pk
      - username
    UserCreate:
      type: object
      description: Serializer for creating a new User.
      properties:
        pk:
          type: integer
          readOnly: true
          title: ID
        username:
          type: string
          description: Username
        first_name:
          type: string
          description: First name of the user
        last_name:
          type: string
          description: Last name of the user
        email:
          type: string
          format: email
          description: Email address of the user
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
          readOnly: true
        is_staff:
          type: boolean
          title: Staff
          description: Does this user have staff permissions
        is_superuser:
          type: boolean
          title: Superuser
          description: Is this user a superuser
        is_active:
          type: boolean
          title: Active
          description: Is this user account active
      required:
      - email
      - first_name
      - groups
      - is_active
      - is_staff
      - is_superuser
      - last_name
      - 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: array
          items: {}
          description: Returns the choices available for a given item.
          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
    Version:
      type: object
      description: Serializer for server version.
      properties:
        server:
          type: string
        api:
          type: integer
        commit_hash:
          type: string
        commit_date:
          type: string
        commit_branch:
          type: string
        python:
          type: string
        django:
          type: string
      required:
      - api
      - commit_branch
      - commit_date
      - commit_hash
      - django
      - python
      - server
    VersionInformation:
      type: object
      description: Serializer for a single version.
      properties:
        version:
          type: string
        date:
          type: string
        gh:
          type: string
        text:
          type: string
        latest:
          type: boolean
      required:
      - date
      - gh
      - latest
      - text
      - version
    VersionView:
      type: object
      description: Serializer for a single version.
      properties:
        dev:
          type: boolean
        up_to_date:
          type: boolean
        version:
          $ref: '#/components/schemas/Version'
        links:
          $ref: '#/components/schemas/Link'
      required:
      - dev
      - links
      - up_to_date
      - version
  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"
servers:
- url: http://localhost:8000
externalDocs:
  description: More information about InvenTree in the official docs
  url: https://docs.inventree.org
