---
title: "Read one gift"
method: GET
path: "/sends/{id}"
tags: ["Gifts"]
---

# Read one gift

`GET /sends/{id}`

## Request

- Base URL: `https://gtmswag.com/api/v1`
- URL: `https://gtmswag.com/api/v1/sends/{id}`
- Auth: HTTP bearer

One gift's detail, timeline and recipient-photo review state (`portrait`). A staff-sourced photo needs the customer's explicit approval before production.

## Path parameters

- `id` string, required

## Response `200`

Success: `{"data": Send}`.

- SendResponse: The success body: `{"data": Send}`.
  - `data` Send, required: One gift (send) with its immutable mode, status, outcome and timeline.
    - `id` string, required
    - `recipient` Recipient, required
      - `recipientId` string, required
      - `name` string, required
      - `email` string, required
      - `company` string, required
      - `sourceSystem` string
      - `externalId` string
      - `profileUrl` string
      - `importId` string
      - `importRowId` string
      - `addressMode` 'known' | 'confirm'
    - `campaignId` string, nullable, required
    - `status` 'awaiting_address' | 'queued' | 'in_production' | 'shipped' | 'delivered' | 'cancelled', required
    - `totalCents` integer, required
    - `testMode` boolean, required
    - `fundedBy` 'balance': balance: the gift was paid from the workspace balance when it was approved; it never needs a checkout.
    - `autoApproved` boolean: true when the playbook's auto-approve rule approved the gift rather than a person.

## Other responses

- `401`: Not authenticated: `AUTH_REQUIRED`. no credentials, or an OAuth token on a route that only takes workspace keys; the key is malformed, unknown or revoked.
- `404`: Not found: `NOT_FOUND`. Each example says when.
- `429`: Too many requests: `RATE_LIMIT`. more than 240 requests in the current minute for this workspace (REST and MCP share the limit); wait `retryAfterMs`.
- `default`: Any other refusal or failure, such as 403 CSRF (a cross-origin `Origin` header), 403 HTTPS_REQUIRED or 500 INTERNAL_ERROR, with what to do next.

---

[API](https://skmtc.dev/gtmswag/apis/gtm-swag-api.md) · [All operations](https://skmtc.dev/gtmswag/apis/gtm-swag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gtmswag/apis/gtm-swag-api/revisions/9ff86fa99afe?raw)
