Orders

Submit a copy of a previously placed order as a brand-new order. The same creative is charged and mailed again, and the original order is left untouched. By default the replay is sent to the recipients the original actually reached (failed items are excluded). Supply a recipients array to send the same creative to a different audience instead.

Only settled, non-cancelled orders can be replayed. The replay is a fresh order that runs through the normal fulfillment pipeline, including Address Verification, Duplicate Prevention and suppression lists.

post/orders/{orderId}/replay

Request

  • Base URL: https://api.thanks.io/api/v2
  • URL: https://api.thanks.io/api/v2/orders/{orderId}/replay
  • Auth: HTTP bearer

Path parameters

orderIdinteger required

ID of the order to replay.

Request body

schedule_forstring date

Optional send date for the replay. Any format Carbon can parse is accepted; the date-only portion is stored.

metadataobject nullable

Optional metadata for the replay. Same shape and limits as the send endpoints — returned unchanged by the order endpoints and included in every webhook event for the order as order.metadata. When omitted, the original order's metadata is carried over.

Example request

{
  "recipients": [
    {
      "name": "Tobias Example",
      "company": "thanks.io",
      "address": "123 Main Street",
      "address2": "Apartment 1",
      "city": "Any Town",
      "province": "KS",
      "postal_code": "12345",
      "country": "US"
    }
  ],
  "schedule_for": "2025-09-15",
  "metadata": {
    "crm_deal_id": "D-1042",
    "campaign": "spring-winback"
  }
}

Response

Replay submitted. The response body mirrors the send endpoints' order-submitted shape, with an added replayed_from_order_id pointing back to the source order.

idinteger

Unique identifier for the order

user_idinteger

User ID for the order

sub_account_idinteger nullable

Sub account ID for the order

total_estimated_recipientsinteger

Total estimated recipients for the order

authorization_totalinteger

Total authorization amount for the order in cents

leads_feeinteger

Total leads fee for the order in cents

mailing_list_ids_usedstring

Mailing lists used for the order. Can be null if recipients or radius search is used.

front_imagestring

Front image URL for the order

image_template_idinteger nullable

Image template ID for the order

custom_background_urlstring nullable

Custom background URL for the order. Only valid for postcard backs and the interior background of notecards and giftcards.

messagestring

Message content for the order

message_template_idinteger nullable

Message template ID for the order

handwriting_colorstring

Handwriting color to use

font_size'auto' | 'small' | 'medium' | 'large'

Font size for the order

styleinteger

Handwriting style ID for the order

append_or_current_residentboolean

Appended "Or Current Resident" for the order. This is helpful if you want to ensure delivery.

return_namestring nullable

Return name for the order

return_addressstring nullable

Return address line 1 for the order

return_address2string nullable

Return address line 2 for the order

return_citystring nullable

Return city for the order

return_provincestring nullable

Return state/province for the order

return_postal_codestring nullable

Return postal code for the order

type'postcard' | 'postcard6x9' | 'postcard6x11' | 'letter' | 'notecard' | 'giftcard' | 'windowlessletter'

Type of the order

size'4x6' | '6x9' | '6x11'

Size of the order (valid for postcards only)

method'api' | 'cardbuilder' | 'drip' | 'email' | 'zapier'

Method for the order

status'reviewing' | 'processing' | 'fulfilled' | 'cancelled' | 'printed' | 'shipped' | 'paused' | 'delivered'

Status of the order

display_statusstring

Display status for the order

display_triggerstring

Display trigger for the order

display_typestring

Display type for the order

qrcode_urlstring nullable

QR code URL for the order

giftcard_brandstring nullable

Gift card brand for the order (valid for Giftcard orders only)

giftcard_imagestring nullable

Gift card image URL for the order (valid for Giftcard orders only)

giftcard_amountinteger nullable

Gift card amount for the order in cents (valid for Giftcard orders only)

giftcard_brand_longnamestring

Gift card brand long name for the order (valid for Giftcard orders only)

metadataobject nullable

The metadata object submitted with the order, returned exactly as it was sent. Null when the order was created without metadata.

updated_atstring date-time

Last updated timestamp for the order

created_atstring date-time

Creation timestamp for the order

replayed_from_order_idinteger

ID of the source order this replay was copied from.

Example response

{
  "id": 42664,
  "user_id": 2,
  "sub_account": {
    "id": 1,
    "user_id": 2,
    "title": "My Sub Account",
    "return_name": "John Smith",
    "return_address": "123 Smith Street",
    "return_address2": "Apartment 2",
    "return_city": "Denver",
    "return_state": "CO",
    "return_postal_code": "12345"
  },
  "sub_account_id": 12345,
  "total_estimated_recipients": 1,
  "authorization_total": 58,
  "leads_fee": 99,
  "mailing_list_ids_used": "3046,3020",
  "recipients": [
    {
      "name": "Tobias Example",
      "company": "thanks.io",
      "address": "123 Main Street",
      "address2": "Apartment 1",
      "city": "Any Town",
      "province": "KS",
      "postal_code": "12345",
      "country": "US",
      "dob": "1981-04-23",
      "anniversary": "2025-07-21",
      "email": "tobias@example.com",
      "phone": "+1 (555) 123-4567",
      "custom1": "Unique Info",
      "custom2": "For example a product code or customer ID",
      "custom3": "Any Extra Info",
      "custom4": "Any Extra Info",
      "custom5": "Any Extra Info",
      "custom6": "Any Extra Info",
      "custom7": "Any Extra Info",
      "custom8": "Any Extra Info",
      "custom9": "Any Extra Info",
      "custom10": "Any Extra Info",
      "absentee_address": "742 Evergreen Terrace, Springfield, IL 62704"
    }
  ],
  "front_image": "https://s3.amazonaws.com/cdn.thanks.io/user_image_library/1533645532.png",
  "image_template_id": 6,
  "custom_background_url": "https://s3.amazonaws.com/content.thanks.io/templates/branding-builder-images/c09d39aadfc-3701d4467b8/4524cce0-78cb-11f0-b937-17570cbedaf4.png",
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
  "message_template_id": 12345,
  "handwriting_color": "rgba(31,0,113,0.80)",
  "font_size": "auto",
  "style": 4,
  "return_name": "John Doe",
  "return_address": "123 Main Street",
  "return_city": "Anytown",
  "return_province": "NY",
  "return_postal_code": "12345",
  "type": "postcard",
  "size": "4x6",
  "display_status": "Reviewing",
  "display_trigger": "API",
  "display_type": "Postcard-4x6",
  "addons": {
    "standardmail": "on"
  },
  "qrcode_url": "https://www.google.com?name=~FULL_NAME~&custom_field_1=~CUSTOM1~&custom_field2=~CUSTOM2~",
  "giftcard_brand_longname": "Amazon.com",
  "metadata": {
    "crm_deal_id": "D-1042",
    "campaign": "spring-winback",
    "source": "hubspot"
  },
  "updated_at": "2025-08-14 16:42:44",
  "created_at": "2025-08-14 16:42:44",
  "replayed_from_order_id": 42708
}

Changes

    • info

      added the optional property /// to the response with the status

    • warning

      removed the optional property /// from the response with the status