> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assetinfinity.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Return unused stock from a job, to the store it came from.

> A job may draw one part from more than one store, so the return is split across them by what each
gave this job, most recent first, and each share rejoins its store at the cost it left at. No more
can be returned than was issued and has not already come back.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/return_part
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: Assets
  - name: Asset lifecycle
  - name: Work lifecycle
  - name: Maintenance
  - name: Inventory
  - name: Inventory detail
  - name: Procurement
  - name: Contracts
  - name: Workforce
  - name: Capacity
  - name: Dispatch
  - name: Tools
  - name: Inspections
  - name: Verification
  - name: Reliability
  - name: Parts demand
  - name: Sensors and meters
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Root cause analysis
  - name: Reports
  - name: Audit center
  - name: Activity
  - name: Notifications
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Files
  - name: Sync
  - name: Support
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Platform
  - name: Amendments
  - name: Asset clone
  - name: Asset components
  - name: Asset register
  - name: Asset transfer
  - name: Audit feed
  - name: Billing
  - name: Bookings
  - name: Budgets
  - name: Bulk jobs
  - name: Calibration history
  - name: Capex plans
  - name: Conversations
  - name: Costing
  - name: Currency
  - name: Dashboards
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: File exchange
  - name: Filing exceptions
  - name: Finance
  - name: Inbound mail
  - name: Keys
  - name: Knowledge
  - name: Licence
  - name: List views
  - name: Locations
  - name: Mapping
  - name: Mcp
  - name: Mcp oauth
  - name: Mfa
  - name: Numbering
  - name: Permits
  - name: Readers
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: Release
  - name: Scim
  - name: Security streams
  - name: Self verification
  - name: Setup
  - name: Shutdown
  - name: Sso
  - name: Telegram
  - name: Tenant switch
  - name: The caller's own work
  - name: The checklist library
  - name: Tools on a job, and who has them out
  - name: Tray
  - name: Vendor spend forecast
  - name: Vendors and contracts
  - name: Visitors
  - name: Work order execution
  - name: Work sequencing
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /rpc/return_part:
    post:
      tags:
        - Inventory
      summary: Return unused stock from a job, to the store it came from.
      description: >-
        A job may draw one part from more than one store, so the return is split
        across them by what each

        gave this job, most recent first, and each share rejoins its store at
        the cost it left at. No more

        can be returned than was issued and has not already come back.
      parameters:
        - $ref: '#/components/parameters/preferParams'
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Return unused stock from a job, to the store it came from.


                A job may draw one part from more than one store, so the return
                is split across them by what each

                gave this job, most recent first, and each share rejoins its
                store at the cost it left at. No more

                can be returned than was issued and has not already come back.
              properties:
                p_client_operation_id:
                  format: uuid
                  type: string
                p_device_id:
                  format: uuid
                  type: string
                p_part_id:
                  format: uuid
                  type: string
                p_quantity:
                  format: numeric
                  type: number
                p_reason_code:
                  format: text
                  type: string
                p_work_order_id:
                  format: uuid
                  type: string
              required:
                - p_work_order_id
                - p_part_id
                - p_quantity
              type: object
          application/vnd.pgrst.object+json:
            schema:
              description: >-
                Return unused stock from a job, to the store it came from.


                A job may draw one part from more than one store, so the return
                is split across them by what each

                gave this job, most recent first, and each share rejoins its
                store at the cost it left at. No more

                can be returned than was issued and has not already come back.
              properties:
                p_client_operation_id:
                  format: uuid
                  type: string
                p_device_id:
                  format: uuid
                  type: string
                p_part_id:
                  format: uuid
                  type: string
                p_quantity:
                  format: numeric
                  type: number
                p_reason_code:
                  format: text
                  type: string
                p_work_order_id:
                  format: uuid
                  type: string
              required:
                - p_work_order_id
                - p_part_id
                - p_quantity
              type: object
          application/vnd.pgrst.object+json;nulls=stripped:
            schema:
              description: >-
                Return unused stock from a job, to the store it came from.


                A job may draw one part from more than one store, so the return
                is split across them by what each

                gave this job, most recent first, and each share rejoins its
                store at the cost it left at. No more

                can be returned than was issued and has not already come back.
              properties:
                p_client_operation_id:
                  format: uuid
                  type: string
                p_device_id:
                  format: uuid
                  type: string
                p_part_id:
                  format: uuid
                  type: string
                p_quantity:
                  format: numeric
                  type: number
                p_reason_code:
                  format: text
                  type: string
                p_work_order_id:
                  format: uuid
                  type: string
              required:
                - p_work_order_id
                - p_part_id
                - p_quantity
              type: object
          text/csv:
            schema:
              description: >-
                Return unused stock from a job, to the store it came from.


                A job may draw one part from more than one store, so the return
                is split across them by what each

                gave this job, most recent first, and each share rejoins its
                store at the cost it left at. No more

                can be returned than was issued and has not already come back.
              properties:
                p_client_operation_id:
                  format: uuid
                  type: string
                p_device_id:
                  format: uuid
                  type: string
                p_part_id:
                  format: uuid
                  type: string
                p_quantity:
                  format: numeric
                  type: number
                p_reason_code:
                  format: text
                  type: string
                p_work_order_id:
                  format: uuid
                  type: string
              required:
                - p_work_order_id
                - p_part_id
                - p_quantity
              type: object
        required: true
      responses:
        '200':
          description: OK
components:
  parameters:
    preferParams:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - params=single-object
        type: string

````