---
title: "Email a gift link (retired)"
method: POST
path: "/sends/{id}/gift-link/email"
tags: ["Gift links"]
deprecated: true
---

# Email a gift link (retired)

`POST /sends/{id}/gift-link/email`

## Request

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

> **Deprecated.**

Retired: always 410 CAPABILITY_RETIRED. Customers send their own outreach; copy the link from `GET /campaigns/{id}/distribution` or export them.

## Path parameters

- `id` string, required

## Response `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.

- ErrorEnvelope: Every error response, REST and MCP alike. Follow `nextAction` instead of guessing; `code` is stable, `error` is readable text.
  - `error` string, required: Readable reason.
  - `code` string, required: Stable code, such as PLAYBOOK_OFF or RATE_LIMIT. Each operation lists the codes it returns.
  - `nextAction` 'open_url' | 'reread_and_retry' | 'ask_user' | 'retry_later' | 'stop', required: open_url: a person resolves this at url; reread_and_retry: state changed, and a retry based on current state can succeed; ask_user: missing or corrected input is needed; retry_later: a retry after retryAfterMs can succeed; stop: retrying cannot succeed.
  - `url` string: Absolute page where a person resolves this refusal.
  - `retryable` boolean, required: True when retrying can succeed without a person.
  - `retryAfterMs` integer: Milliseconds to wait before retrying.

## 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.
- `410`: Gone: `CAPABILITY_RETIRED`. Each example says when.
- `413`: Request too large: `INVALID_REQUEST`. the body exceeds 1 MiB.
- `415`: Unsupported media type: `INVALID_REQUEST`. a write with a body that is not `Content-Type: application/json` (a key request with no body needs no Content-Type).
- `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`.

---

[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)
