# receipt_id_invalid

> The receipt id isn't a UUID

- Status: 400 Bad Request
- Returned by: /api/public
- Operations: [getOrderReceipt](https://developers.rivr.io/reference/api-public/getOrderReceipt.md)
- Retry (`retryWhen`): `after_fix`
- Did anything happen? (`outcome`): `not_applicable` (No side effect)
- The request
- Page in the portal: https://developers.rivr.io/errors/receipt_id_invalid
- Try it: `GET https://developers.rivr.io/errors/simulate/receipt_id_invalid` answers with the code's exact wire form; `?succeedAfter=N&attempt=K` gives a 200 once `attempt` passes `N`

## What it means

The receipt's id in the path of `GET /api/public/orders/{orderId}/receipts/{receiptId}` isn't a UUID.

## What your system does

Send the receipt's id as it is in the order.

## Is it worth retrying?

No, not without changing the call.

`retryWhen`: `after_fix`. Change the request first, as the code's page says: a value, the token, a header or a new key. Then send it.

## Did anything happen?

`outcome`: `not_applicable`. **No side effect.** The call has no side effect, since it is a read.

## Example: /api/public

```http
HTTP/1.1 400 Bad Request
Content-Type: application/json

{
  "propertyName": "receiptId",
  "message": "The receiptId is not a valid Guid",
  "errorCode": "receipt_id_invalid",
  "code": "receipt_id_invalid",
  "type": "https://developers.rivr.io/errors/receipt_id_invalid"
}
```

The `title`, `detail`, `message` and `error_description` texts are exactly as the API writes them today.
