---
title: "POST /api/v1/repairer.shipments.process"
method: POST
path: "/api/v1/repairer.shipments.process"
tags: ["Procurement"]
---

# POST /api/v1/repairer.shipments.process

`POST /api/v1/repairer.shipments.process`

## Request

- Base URL: `https://api.partly.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.partly.com/api/v1/repairer.shipments.process`
- Auth: none declared. Required headers: `authorization`

Record received items and delivery feedback on a shipment (repairer)

## Headers

- `authorization` string, required: UTF-8 encoded string

## Request body

- ProcurementRepairerShipmentReceiveRequest: Incremental: each call upserts the outcomes it carries. The first call on a confirmed order delivers the shipment; a cancelled order takes feedback without a status change.
  - `items` ProcurementRepairerShipmentReceiveItem[]: Expandable array type
    - `feedback` ProcurementRepairerShipmentItemFeedbackInput, required: One line's outcome as submitted.
      - `accuracy` union, required
        - 'correct'
        - 'incorrect_part'
        - 'incorrect_quantity'
        - 'missing_item'
      - `condition` union, required
        - 'as_described'
        - 'damaged'
        - 'grading_dispute'
      - `files` ProcurementFileInput[]: Expandable array type
        - `type` 'image', required
        - `url` string, required: UTF-8 encoded string
      - `notes` string: UTF-8 encoded string
    - `offered_item_id` string, uuid, required: UUID value type
    - `sellable_id` string, uuid: UUID value type
  - `shipment` ProcurementRepairerShipmentFeedbackInput: Delivery-level feedback as submitted. Files are stamped buyer-side on receipt.
    - `files` ProcurementFileInput[]: Expandable array type
      - `type` 'image', required
      - `url` string, required: UTF-8 encoded string
    - `notes` string: UTF-8 encoded string
    - `packaging_condition` union, required
      - 'good'
      - 'minor_damage'
      - 'severe_damage'
      - 'not_applicable': Parts arrived loose; distinct from unanswered.
    - `timeliness` union, required
      - 'too_early'
      - 'on_time'
      - 'late'
  - `shipment_id` string, uuid, required: UUID value type

## Response `200`

200 OK

- ProcurementRepairerShipmentGetResponse
  - `entities` ProcurementRepairerShipmentGetEntities, required: Side-loaded entity data for the single-shipment get response: everything the search entities carry, plus the offered items fulfilling this shipment's own `shipment_items`.
    - `businesses` object, required: Businesses referenced by the procurement (buyer site, buyer business, supplier).
    - `offered_items` object, required: Offered items fulfilling the shipment's own `shipment_items`, keyed by offered item ID. The offer↔item join is `items[].offered_item_id`.
    - `organizations` object, required: Organisations referenced by the procurement (buyer, supplier, work provider).
    - `procurements` object, required: The parent procurement, keyed by procurement ID.
    - `receiving` object: Receipt progress and delivery feedback, keyed by shipment ID. Present only with the `receiving` expand.
  - `items` ProcurementShipmentItem[], required: The shipment's own line items, oldest first.
    - `created_at` string, date-time, required: DateTime at a given timezone (RFC3339 format)
    - `feedback` ProcurementRecordedShipmentItemFeedback: A line's outcome as read back from the shipment item row.
      - `accuracy` union, required
        - 'correct'
        - 'incorrect_part'
        - 'incorrect_quantity'
        - 'missing_item'
      - `condition` union, required
        - 'as_described'
        - 'damaged'
        - 'grading_dispute'
      - `files` ProcurementFile[]: Expandable array type
        - `created_at` string, date-time, required: DateTime at a given timezone (RFC3339 format)
        - `side` union, required
          - 'buyer'
          - 'supplier'
        - `type` 'image', required
        - `url` string, required: UTF-8 encoded string
      - `notes` string: UTF-8 encoded string
      - `submitted_at` string, date-time, required: DateTime at a given timezone (RFC3339 format)
      - `submitted_by` union, required
        - object
          - `side` union, required
            - 'buyer'
            - 'supplier'
          - `type` 'user', required
          - `user_id` string, uuid, required: UUID value type
        - object
          - `integration_id` string, uuid, required: UUID value type
          - `type` 'integration', required
        - object
          - `type` 'system', required
    - `id` string, uuid, required: UUID value type
    - `offered_item_id` string, uuid, required: UUID value type
    - `quantity` integer, required: 32-bit signed integer
    - `sellable_id` string, uuid: UUID value type
  - `shipment` ProcurementShipment, required: A shipment as surfaced by the search/list APIs. The sender/receiver organisations and shipping price are resolved from the parent procurement (via the `procurements` and `organizations` entities maps), not duplicated here.
    - `created_at` string, date-time, required: DateTime at a given timezone (RFC3339 format)
    - `direction` union, required
      - 'to_buyer'
      - 'to_supplier'
      - 'intra_supplier'
    - `external_tracking_id` string, required: UTF-8 encoded string
    - `id` string, uuid, required: UUID value type
    - `procurement_id` string, uuid, required: UUID value type
    - `status` union, required
      - 'pending'
      - 'dispatched'
      - 'in_transit'
      - 'delivered'
      - 'lost'
      - 'cancelled'
    - `updated_at` string, date-time, required: DateTime at a given timezone (RFC3339 format)

## Other responses

- `default`: Error cases

## Changes

- **2026-10-19** `0060854f7c86`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/partly/apis/core-server/changes/api/v1/repairer.shipments.process/post.md)

---

[API](https://skmtc.dev/partly/apis/core-server.md) · [All operations](https://skmtc.dev/partly/apis/core-server/llms.txt) · [OpenAPI document](https://skmtc.dev/partly/apis/core-server/revisions/19dd5c84162b?raw)
