---
title: "Create Return Envelope"
method: POST
path: "/print-mail/v1/return_envelopes"
tags: ["Return Envelopes"]
---

# Create Return Envelope

`POST /print-mail/v1/return_envelopes`

Creates a new return envelope. Note that if there is already a return
envelope for the destination contact, this will fail with a
`return_envelope_already_exists_error`.

## Headers

- `idempotency-key` string

## Request body

- ReturnEnvelopeCreate
  - `description` string — An optional string describing this resource. Will be visible in the API and the dashboard.
  - `metadata` object — See the section on Metadata.
  - `to` union, required — A contact ID or a contact object containing the address that will be printed onto the return envelope.
    - union
      - ContactCreateWithFirstName
        - `addressLine1` string, required — The first line of the contact's address.
        - `addressLine2` string — Second line of the contact's address, if applicable.
        - `city` string — The city of the contact's address.
        - `provinceOrState` string — Province or state of the contact's address.
        - `postalOrZip` string — The postal or ZIP code of the contact's address.
        - `countryCode` string, required — The ISO 3611-1 country code of the contact's address.
        - `companyName` string — Company name of the contact.
        - `lastName` string — Last name of the contact.
        - `email` string — Email of the contact.
        - `phoneNumber` string — Phone number of the contact.
        - `jobTitle` string — Job title of the contact.
        - `skipVerification` boolean — If `true`, PostGrid will skip running this contact's address through our address verification system.
        - `forceVerifiedStatus` boolean — If `true`, PostGrid will force this contact to have an `addressStatus` of `verified` even if our address verification system says otherwise.
        - `secret` boolean — If `true`, the contact's details are hidden from the dashboard and API responses apart from the final print. The contact ID can then be used as a token for sending mail without giving access to the underlying data.
        - `description` string — An optional string describing this resource. Will be visible in the API and the dashboard.
        - `metadata` object — See the section on Metadata.
        - `firstName` string, required
      - ContactCreateWithCompanyName
        - `addressLine1` string, required — The first line of the contact's address.
        - `addressLine2` string — Second line of the contact's address, if applicable.
        - `city` string — The city of the contact's address.
        - `provinceOrState` string — Province or state of the contact's address.
        - `postalOrZip` string — The postal or ZIP code of the contact's address.
        - `countryCode` string, required — The ISO 3611-1 country code of the contact's address.
        - `firstName` string — First name of the contact.
        - `lastName` string — Last name of the contact.
        - `email` string — Email of the contact.
        - `phoneNumber` string — Phone number of the contact.
        - `jobTitle` string — Job title of the contact.
        - `skipVerification` boolean — If `true`, PostGrid will skip running this contact's address through our address verification system.
        - `forceVerifiedStatus` boolean — If `true`, PostGrid will force this contact to have an `addressStatus` of `verified` even if our address verification system says otherwise.
        - `secret` boolean — If `true`, the contact's details are hidden from the dashboard and API responses apart from the final print. The contact ID can then be used as a token for sending mail without giving access to the underlying data.
        - `description` string — An optional string describing this resource. Will be visible in the API and the dashboard.
        - `metadata` object — See the section on Metadata.
        - `companyName` string, required
    - string

## Response `201`

The newly created return envelope.

- ReturnEnvelope
  - `id` string, required — A unique ID prefixed with return_envelope_
  - `description` string — An optional string describing this resource. Will be visible in the API and the dashboard.
  - `metadata` object — See the section on Metadata.
  - `live` boolean, required — `true` if this is a live mode resource else `false`.
  - `createdAt` string, date-time, required — The UTC time at which this resource was created.
  - `updatedAt` string, date-time, required — The UTC time at which this resource was last updated.

## Other responses

- `400` — The newly created return envelope.
- `401` — The newly created return envelope.
- `404` — The newly created return envelope.
- `422` — The newly created return envelope.
- `429` — The newly created return envelope.
- `500` — The newly created return envelope.

## Changes

- **2026-06-12** `54cf11f8a76f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api/changes/print-mail/v1/return_envelopes/post.md)

---

[API](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api.md) · [All operations](https://skmtc.dev/postgrid/apis/postgrid-address-verification-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/postgrid/postgrid-address-verification-api/revisions/537d2bbc624a/schema)
