---
title: "Get a stamp"
method: GET
path: "/stamps/{id}"
tags: ["Stamps"]
---

# Get a stamp

`GET /stamps/{id}`

## Request

- Base URL: `https://esahayak.io/api/v1`
- URL: `https://esahayak.io/api/v1/stamps/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Response `200`

The stamp with its certificate details.

- Certificate: A stamp with its full certificate projection. `documentUrl` is populated only on GET /stamps/{id}/certificate.
  - `id` string, uuid
  - `clientReference` string, nullable
  - `bulkOrderId` string, uuid, nullable: The bulk order ID from POST /stamp-orders.
  - `orderId` string, uuid: Internal order reference — prefer bulkOrderId for correlation.
  - `status` 'PLACED' | 'ASSIGNED' | 'GENERATING' | 'VERIFYING' | 'VERIFIED' | 'CANCELLED'
  - `verified` boolean
  - `state` string
  - `category` 'e_stamp' | 'traditional_stamp'
  - `certificate` object
    - `certificateNumber` string, nullable
    - `uin` string, nullable
    - `issuedDate` string, nullable
    - `issuedBy` string, nullable
    - `articleDescription` string, nullable
    - `stampAmount` string
    - `considerationAmount` string
    - `stampDutyPaidBy` string, nullable
    - `firstPartyName` string, nullable
    - `secondPartyName` string, nullable
    - `purpose` string, nullable
  - `costCentre` string, nullable
  - `businessUnit` string, nullable
  - `format` 'image' | 'pdf': Format of the returned `documentUrl` when requested via /stamps/{id}/certificate.
  - `documentUrl` string, nullable: Short-lived signed document URL (~5 min). Re-fetch when it expires.

## Other responses

- `404`: Not found (workspace + is_test scoped)

---

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