---
title: "Returns purchase details"
method: GET
path: "/storage/purchases/{id}"
tags: ["Marketplace"]
---

# Returns purchase details

`GET /storage/purchases/{id}`

## Path parameters

- `id` string, required

## Response `200`

Purchase details

- Purchase
  - `state` 'cancelled' | 'error' | 'failed' | 'finished' | 'pending' | 'started' | 'submitted' | 'unknown' — Description of the Request's state
  - `error` string — If Request failed, then here is presented the error message
  - `request` StorageRequest
    - `id` string — Request ID
    - `client` string — Address of Ethereum address
    - `ask` StorageAsk
      - `slots` integer — Number of slots (eq. hosts) that the Request want to have the content spread over
      - `slotSize` string — Amount of storage per slot (in bytes) as decimal string
      - `duration` string — The duration of the request in seconds as decimal string
      - `proofProbability` string — How often storage proofs are required as decimal string
      - `reward` string, required — The maximum amount of tokens paid per second per slot to hosts the client is willing to pay
      - `maxSlotLoss` integer — Max slots that can be lost without data considered to be lost
    - `content` Content — Parameters specifying the content
      - `cid` string — Content Identifier as specified at https://github.com/multiformats/cid
    - `expiry` string — A timestamp as seconds since unix epoch at which this request expires if the Request does not find requested amount of nodes to host the data.
    - `nonce` string — Random data

## Other responses

- `400` — Invalid or missing Purchase ID
- `404` — Purchase not found
- `503` — Persistence is not enabled

## Changes

- **2024-09-25** `29f962984779` — 2 warning
  - removed the optional property `request/content/erasure` from the response with the `200` status
  - removed the optional property `request/content/por` from the response with the `200` status
- **2024-09-24** `b8ae963e2ad3` — 8 warning
  - added the new `cancelled` enum value to the `state` response property for the response status `200`
  - added the new `error` enum value to the `state` response property for the response status `200`
  - added the new `failed` enum value to the `state` response property for the response status `200`
  - added the new `finished` enum value to the `state` response property for the response status `200`
  - …4 more
- **2023-12-07** `2fad26190d56` — 1 breaking, 3 info
  - the response's body type changed from `array` to `object` for status `200`
  - added the optional property `error` to the response with the `200` status
  - added the optional property `request` to the response with the `200` status
  - added the optional property `state` to the response with the `200` status
- **2023-06-20** `d2af5578290d` — 1 info
  - added the optional property `items/request/id` to the response with the `200` status
- **2023-03-30** `4e1dfb89fa19` — 1 info
  - api operation id `getStorageRequestState` removed and replaced with `getPurchase`

[Full history](https://skmtc.dev/logos-storage/apis/logos-storage-api/changes/storage/purchases/:id/get.md)

---

[API](https://skmtc.dev/logos-storage/apis/logos-storage-api.md) · [All operations](https://skmtc.dev/logos-storage/apis/logos-storage-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/logos-storage/logos-storage-api/revisions/d0fe80e2a0ba/schema)
