Order Estimates
Estimate Magnacard
Changed onPrice a magnacard order without placing it. Send the same request body you would send to Send Magnacard: nothing is charged, nothing is printed or mailed, and no order is created.
The request is validated exactly as the send is, so a payload the send would reject is rejected here too. Recipients with only an email address are priced as if the email-to-address lookup finds them, and counted in pending_email_lookups. A radius_search is counted and priced, but no records are purchased.
post/estimate/magnacard
Request
- Base URL: https://api.thanks.io/api/v2
- URL: https://api.thanks.io/api/v2/estimate/magnacard
- Auth: HTTP bearer
Request body
Example request
{
"preview": true,
"mailing_list_ids": [
5166,
514
],
"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",
"absentee_city": "Springfield",
"absentee_province": "IL",
"absentee_postal_code": "62704",
"mailing-list": {
"id": 1,
"user_id": 2,
"type": "manual",
"description": "Test",
"total_recipients": 1,
"processed": true,
"api_key": "abcd1234efgh5678ijkl9012mnop3456",
"created_at": "2018-07-15T06:06:57.000000Z",
"created_at_diff": "6 years ago",
"updated_at": "2025-06-27T14:57:11.000000Z"
},
"created_at": "2025-06-27T14:57:11.000000Z",
"updated_at": "2025-06-27T14:57:11.000000Z"
}
],
"radius_search": {
"address": "123 Main Street, Fake City, NY, 55555",
"record_count": 1
},
"handwriting_style_id": 4,
"handwriting_color": "blue",
"handwriting_realism": true,
"sub_account": 7,
"notification_emails": "ops@example.com,sales@example.com",
"postage_class": "standard",
"return_name": "Custom Return",
"return_address": "1 Main Street",
"return_address2": "Unit 1",
"return_city": "Woodbridge",
"return_state": "NJ",
"return_postal_code": "07095",
"metadata": {
"crm_deal_id": "D-1042",
"campaign": "spring-winback",
"source": "hubspot"
},
"creative_id": 501,
"image_template_id": 6,
"front_image_url": "https://cdn.thanks.io/letter-backgrounds/bg0.png",
"message": "Hey %FIRST_NAME%!,\n\nTHANK YOU for allowing us the opportunity to HELP you with your plan!",
"message_template_id": 12,
"custom_background_image": "https://cdn.thanks.io/letter-backgrounds/bg0.png"
}Response
The order was priced. Nothing was charged and no order was created.
Example response
{
"message": "OK",
"data": {
"type": "postcard",
"size": "4x6",
"total_recipients": 2,
"recipients": {
"united_states": 2
},
"costs_in_cents": {
"united_states": 236,
"grand_total": 236
},
"total_cost_in_cents": 236,
"total_cost": "$2.36",
"current_balance_in_cents": 5000,
"covered_by_balance": true,
"notes": []
}
}Changes
- info
added the new optional request property
////
- info
- warning
removed the request property
//// - info
added the new optional request property
////
- warning