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

# Void a pass

> Permanently ends a pass.

Voiding is final. The pass is marked as voided in the holder's wallet, it can't be updated, and it can no longer be added to a wallet. The holder isn't notified.

<ParamField path="id" type="string" required>
  The pass ID.
</ParamField>

<ParamField header="Idempotency-Key" type="string" required>
  A unique value for this request.
</ParamField>

### Response

Returns the [pass](/api-reference/passes/get) with `status` set to `voided`.

### Errors

| Status | When |
| - | - |
| `404` | The pass doesn't exist. |
| `409` | The pass is already voided. |

<RequestExample>
  ```bash cURL theme={null}
  curl -X DELETE https://api.tapace.lk/v1/passes/pass_7hGk2LmQ9xVt4RnB8cYe \
    -H "Authorization: Bearer $TAPACE_API_KEY" \
    -H "Idempotency-Key: 9a2c7e1b-4f3d-4b8a-8e6c-2d1f5a9b3c70"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "object": "pass",
    "id": "pass_7hGk2LmQ9xVt4RnB8cYe",
    "status": "voided",
    "voidedAt": "2026-10-13T12:00:00.000Z"
  }
  ```

  ```json 409 theme={null}
  {
    "error": {
      "type": "conflict_error",
      "message": "This pass is already voided."
    },
    "requestId": "req_8f3a2c1d9e7b6a54"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.