---
title: "Set proof of delivery configuration for a parcel."
method: POST
path: "/v1/parcels/{parcel_id}/proof_configuration"
tags: ["parcels"]
---

# Set proof of delivery configuration for a parcel.

`POST /v1/parcels/{parcel_id}/proof_configuration`

## Request

- Base URL: `https://logistics.api.cabify-sandbox.com`
- URL: `https://logistics.api.cabify-sandbox.com/v1/parcels/{parcel_id}/proof_configuration`
- Auth: HTTP bearer

Creates or replaces the proof of delivery methods configured for the specified parcel.

## Path parameters

- `parcel_id` string, uuid, required

## Request body

- CreateProofConfiguration: Request body for creating or replacing proof of delivery configuration for a parcel.
  - `delivered_proofs` object: Configuration for each proof of delivery method. Methods not included in the request will be set to inactive.
    - `code_proof` object: Configuration for code-based proof of delivery. Omitting this field sets the method as inactive. This method is **mutually exclusive** with the other proof methods — it can only be activated on its own.
      - `active` boolean: Activates or deactivates this proof method. Defaults to `false` if omitted.
      - `hashed_code` string: SHA-256 hash of the verification code. If omitted, a 4-digit code will be automatically generated and returned in the response.
    - `ic_proof` object: Configuration for identity card (IC) based proof of delivery. Omitting this field sets the method as inactive.
      - `active` boolean: Activates or deactivates this proof method. Defaults to `false` if omitted.
    - `photo_proof` object: Configuration for photo-based proof of delivery. Omitting this field sets the method as inactive.
      - `active` boolean: Activates or deactivates this proof method. Defaults to `false` if omitted.
    - `comment_proof` object: Configuration for comment-based proof of delivery. Omitting this field sets the method as inactive.
      - `active` boolean: Activates or deactivates this proof method. Defaults to `false` if omitted.

## Response `200`

Configuration saved successfully.

- ProofConfiguration: The proof of delivery methods configured for a parcel.
  - `parcel_id` string, uuid, required: UUID of the parcel this configuration applies to.
  - `delivered_proofs` object, required: Configuration for each available proof of delivery method.
    - `code_proof` object, required: Configuration for code-based proof of delivery.
      - `active` boolean, required: Whether this proof method is active for the parcel.
      - `code` string: Four-digit code shown to the driver (only present if no `hashed_code` was provided).
      - `hashed_code` string: SHA-256 hash of the code (only present if a hashed code was supplied).
    - `ic_proof` object, required: Configuration for identity card (IC) based proof of delivery.
      - `active` boolean, required: Whether this proof method is active for the parcel.
    - `photo_proof` object, required: Configuration for photo-based proof of delivery.
      - `active` boolean, required: Whether this proof method is active for the parcel.
    - `comment_proof` object, required: Configuration for comment-based proof of delivery.
      - `active` boolean, required: Whether this proof method is active for the parcel.

## Other responses

- `401`: Unauthorized. Missing or invalid authentication token.
- `404`: No parcel found with the given ID.
- `429`: Too many requests. This API is rate limited per account and per endpoint. A 429 is an expected condition rather than a failed request: back off and retry it. The limits are not the same for every endpoint and can change, so handle the status instead of hard-coding a rate. See the Limits and reliability guide.

---

[API](https://skmtc.dev/cabify/apis/cabify-logistics-api.md) - [All operations](https://skmtc.dev/cabify/apis/cabify-logistics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cabify/apis/cabify-logistics-api/revisions/dff49457aac9?raw)
