\n",
@@ -9,7 +9,7 @@
},
"item": [
{
- "id": "d5ed961a-ff53-4f29-bf50-6d223dd1d111",
+ "id": "d58063ab-61e2-471d-af4c-98edc1f3bfba",
"name": "List",
"request": {
"name": "List",
@@ -57,13 +57,25 @@
},
{
"disabled": false,
- "key": "date_created[in_6]",
+ "key": "date_created[cupidatat3]",
"value": "",
"description": "Filter by date created."
},
{
"disabled": false,
- "key": "date_created[consecteturc15]",
+ "key": "date_created[elit6a]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[magna_7_4]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[in_f]",
"value": "",
"description": "Filter by date created."
}
@@ -81,7 +93,7 @@
},
"response": [
{
- "id": "7c304ead-1fc1-4425-a1d5-d8535829b9e2",
+ "id": "fb6d93ab-e931-4b96-a9e1-64e315d13aea",
"name": "A dictionary with a data property that contains an array of up to `limit` addresses. Each entry in the array is a separate address object. The previous and next page of address entries can be retrieved by calling the endpoint contained in the `previous_url` and `next_url` fields in the API response respectively. If no more addresses are available beyond the current set of returned results, the `next_url` field will be empty.",
"originalRequest": {
"url": {
@@ -113,23 +125,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
- "value": ""
- },
- {
- "key": "date_created[fugiata]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
}
],
@@ -161,7 +165,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "3988bb3b-baf3-4fba-9449-07f63530dff1",
+ "id": "8e4ca5c2-9060-4bde-8065-19829f13ecf7",
"name": "Error",
"originalRequest": {
"url": {
@@ -193,23 +197,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
- "value": ""
- },
- {
- "key": "date_created[fugiata]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
}
],
@@ -244,7 +240,7 @@
"event": []
},
{
- "id": "29c60ae9-579a-4082-b40f-4a0b09794b67",
+ "id": "723b2f56-f05a-40f0-89db-2cf0cb9dbbb4",
"name": "Create",
"request": {
"name": "Create",
@@ -307,7 +303,7 @@
},
"response": [
{
- "id": "f65afcf1-1655-411b-b3ed-67f64746fded",
+ "id": "2cf722ba-5dec-49b0-a095-219711d70442",
"name": "Echos the writable fields of a newly created address object.",
"originalRequest": {
"url": {
@@ -423,7 +419,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "986a0315-48b4-4bec-b52b-969770043e2b",
+ "id": "0510f4a1-d98a-4d72-85b1-78a901fe4cfa",
"name": "Error",
"originalRequest": {
"url": {
@@ -527,7 +523,7 @@
}
},
{
- "id": "7b6c7588-be34-4c2e-85ee-2e812f799f93",
+ "id": "75b94253-7eac-48f4-873f-f01b2485dca7",
"name": "Retrieve",
"request": {
"name": "Retrieve",
@@ -565,7 +561,7 @@
},
"response": [
{
- "id": "a6347c49-a6c3-4d1f-900a-ff7f63004375",
+ "id": "92d974cb-fd76-4594-90bb-ed16e903abf4",
"name": "Returns an address object if a valid identifier was provided.",
"originalRequest": {
"url": {
@@ -613,7 +609,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "bd66c3ae-1f83-4574-9764-162ba7e25d54",
+ "id": "104f3311-5763-40d0-a47c-cef4197eda20",
"name": "Error",
"originalRequest": {
"url": {
@@ -664,7 +660,7 @@
"event": []
},
{
- "id": "7cc413d7-159e-458d-a886-20f6ff073a60",
+ "id": "b03a12ce-ec58-440e-8f9e-78e0e76eabc9",
"name": "Delete",
"request": {
"name": "Delete",
@@ -702,7 +698,7 @@
},
"response": [
{
- "id": "23d5950c-4375-4d6f-9e84-633f17fc862c",
+ "id": "0e113366-54e3-4151-9735-c9f7c8b66d73",
"name": "Deleted",
"originalRequest": {
"url": {
@@ -750,7 +746,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "b07c40f0-b0a3-4df2-ae7d-8500a7d95cc1",
+ "id": "cf45cc44-3e29-4bfa-8d00-e804bf040ff8",
"name": "Error",
"originalRequest": {
"url": {
@@ -804,7 +800,7 @@
"event": []
},
{
- "id": "4c69a21d-e704-49ac-961d-cc85f26f019a",
+ "id": "9cc7c3d6-ae84-469a-97b1-581dcd4e2b38",
"name": "Authentication",
"description": {
"content": "Requests made to the API are protected with HTTP Basic authentication.\nIn order to properly authenticate with the API you must use your API key as the username\nwhile leaving the password blank. Requests not properly authenticated will return a `401`\n[error code](#tag/Errors). You can find your account's API keys\nin your Dashboard Settings.\n### Example Request\ncurl uses the -u flag to pass basic auth credentials (adding a colon after your API key will prevent it from asking you for a\npassword). One of our test API keys has been filled into all the examples on the page, so you can test out any example right away.\n```bash\ncurl https://api.lob.com/v1/addresses \\\n -u test_0dc8dXXXXXXXXXXXXXXXXXXXXXX5b0cc:\n```\n## API Keys\n Lob authenticates your API requests using your account's API keys.\n If you do not include your key when making an API request, or use\n one that is incorrect or outdated, Lob returns an error with a `401`\n HTTP response code. You can find all API keys in your dashboard\n under Settings.\n There are two types of API keys: *secret* and *publishable*.\n - **Secret API keys** should be kept confidential and only stored on your own servers.\n Your account's secret API key can perform any API request to Lob without restriction.\n - **Publishable API keys** are limited to US verifications, international verifications,\n and US autocomplete requests. While we encourage you to use a secret key for maximum\n security, you can publish these keys to JavaScript code or in an Android or iPhone app\n without exposing print and mail services or your secret key. Publishable keys are always\n prefixed with `[environment]_pub`.\n Every type comes with a pair of keys: one for the testing environment and one for the\n live environment. We recommend reading [Test and Live Environments](#tag/Test-and-Live-Environments)\n for more information.\n
\n",
@@ -814,7 +810,7 @@
"event": []
},
{
- "id": "9a93ed61-5a3e-40e4-ae65-9515f5a58b27",
+ "id": "e6060d07-2c63-40eb-a7d1-8aeac3f5f3d9",
"name": "Bank Accounts",
"description": {
"content": "Bank Accounts allow you to store your bank account securely in our system. The API provides\nendpoints for creating bank accounts, deleting bank accounts, verifying bank accounts,\nretrieving individual bank accounts, and retrieving a list of bank accounts.\n
\n",
@@ -822,7 +818,7 @@
},
"item": [
{
- "id": "a15180e1-075d-4fd7-b952-65335a6f40dc",
+ "id": "1f56c0fe-8535-4dda-bd34-c7beac26c10c",
"name": "Verify",
"request": {
"name": "Verify",
@@ -882,7 +878,7 @@
},
"response": [
{
- "id": "723fa265-6ee3-4cf8-84d5-6d9b5d9cad76",
+ "id": "5be7bfd3-cc5e-469e-8530-e2c341530f1d",
"name": "Returns a bank_account object",
"originalRequest": {
"url": {
@@ -971,7 +967,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "ae731eb6-d136-4b4f-8bbf-be7b86c4fe48",
+ "id": "7c721376-36c3-41ee-bfae-161eb8d75193",
"name": "Error",
"originalRequest": {
"url": {
@@ -1048,7 +1044,7 @@
}
},
{
- "id": "87553878-18ea-4752-882f-a77402826218",
+ "id": "82a46372-c8c5-46d2-a9ca-757292d20b70",
"name": "Retrieve",
"request": {
"name": "Retrieve",
@@ -1086,7 +1082,7 @@
},
"response": [
{
- "id": "6d1a86bb-3b5b-4a63-85dd-53660c259af1",
+ "id": "094eee70-49ee-4222-a404-7a6b794f6cdc",
"name": "Returns a bank account object",
"originalRequest": {
"url": {
@@ -1134,7 +1130,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "f0291fa6-1a89-44bc-9d8b-1cc253a14872",
+ "id": "6f6baf80-44ba-407a-b23f-5c4d42fd0ede",
"name": "Error",
"originalRequest": {
"url": {
@@ -1185,7 +1181,7 @@
"event": []
},
{
- "id": "ffb3dfaf-340f-4b39-9369-50bc0e5084c7",
+ "id": "3df32e09-870e-4276-959b-25a3f3551fe2",
"name": "Delete",
"request": {
"name": "Delete",
@@ -1223,7 +1219,7 @@
},
"response": [
{
- "id": "468d78d5-c4bc-4c50-ba0e-b47494a23bd5",
+ "id": "97c4f3b1-7090-49ea-9ebd-cf3d152da8b3",
"name": "Deleted",
"originalRequest": {
"url": {
@@ -1271,7 +1267,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "9a1c0d53-5645-471c-a60a-a7f5a8e0175e",
+ "id": "d8bcd142-6f8b-49dd-a723-8697a3f1aa3a",
"name": "Error",
"originalRequest": {
"url": {
@@ -1322,7 +1318,7 @@
"event": []
},
{
- "id": "ac5ae644-5c40-46bd-98f1-325d13165bf7",
+ "id": "953253c2-a05f-4606-a142-542e34a30915",
"name": "List",
"request": {
"name": "List",
@@ -1370,13 +1366,25 @@
},
{
"disabled": false,
- "key": "date_created[in_6]",
+ "key": "date_created[cupidatat3]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[elit6a]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[magna_7_4]",
"value": "",
"description": "Filter by date created."
},
{
"disabled": false,
- "key": "date_created[consecteturc15]",
+ "key": "date_created[in_f]",
"value": "",
"description": "Filter by date created."
}
@@ -1394,7 +1402,7 @@
},
"response": [
{
- "id": "f505d501-9ffe-4857-8931-307eef6920fc",
+ "id": "a72d290e-ca3c-4434-9be1-f05d8ad7b9e8",
"name": "A dictionary with a data property that contains an array of up to `limit` bank_accounts. Each entry in the array is a separate bank_account. The previous and next page of bank_accounts can be retrieved by calling the endpoint contained in the `previous_url` and `next_url` fields in the API response respectively. If no more bank_accounts are available beyond the current set of returned results, the `next_url` field will be empty.",
"originalRequest": {
"url": {
@@ -1426,23 +1434,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[fugiata]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
- "value": ""
- },
- {
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
}
],
@@ -1474,7 +1474,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "344c5e77-56fa-4627-8d2d-82c764d2f840",
+ "id": "662825fd-53e5-4122-b774-5187ead5f4a6",
"name": "Error",
"originalRequest": {
"url": {
@@ -1506,23 +1506,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
- "value": ""
- },
- {
- "key": "date_created[fugiata]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
}
],
@@ -1557,7 +1549,7 @@
"event": []
},
{
- "id": "7095a2d6-12d5-4e1a-92ac-aad1482cf47a",
+ "id": "ab744665-00a4-4b09-bbeb-502d009b23e9",
"name": "Create",
"request": {
"name": "Create",
@@ -1624,7 +1616,7 @@
},
"response": [
{
- "id": "9abbb7d0-2c80-4c48-a4a1-b39afc0f3c04",
+ "id": "e40d1a14-6fd8-4d5e-9fc7-a21cb4ac2111",
"name": "Returns a bank_account object",
"originalRequest": {
"url": {
@@ -1731,7 +1723,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "5c4d8269-eae2-473e-a8be-c000efd71e50",
+ "id": "51498b83-cc68-4877-ad65-fa31ff49a58c",
"name": "Error",
"originalRequest": {
"url": {
@@ -1829,7 +1821,7 @@
"event": []
},
{
- "id": "f27e12dd-d7c5-4c0f-b360-6fb2a32c7183",
+ "id": "dba983b2-e637-4d91-b89d-6c5b8b9d0085",
"name": "Beta Program",
"description": {
"content": "At Lob, we pride ourselves on building high quality platform capabilities rapidly\nand iteratively, so we can constantly be delivering additional value to our customers.\nWhen evaluating a new product or feature from Lob, you may see that it has been released in Beta.\n\nTypically, something in Beta means that the feature is early in its lifecycle here at\nLob. While we fully stand behind the quality of everything we release in Beta, we do\nanticipate receiving a higher level of customer feedback on Beta features, as well as a\nfaster pace of changes from our engineering team in response to that feedback.\n\nBy participating in a Lob Beta program, you will have the opportunity to get early access\nto a new product capability, as well as having a unique opportunity to influence the product's\ndirection with your feedback.\n\nYou should also anticipate that features in Beta may have functional or design limitations,\nand might change rapidly as we receive customer feedback and make improvements. In particular,\nnew APIs in Beta may also go through more frequent versioning and version deprecation cycles\nthan our more mature APIs.\n\nIf you are participating in a Beta program and want to provide feedback, please feel free to\ncontact us!\n
\n",
@@ -1839,7 +1831,7 @@
"event": []
},
{
- "id": "ad31e627-ad3c-43cc-b085-b069d76d5a94",
+ "id": "9b84fe09-6b3f-4b0e-81aa-ece8dc488533",
"name": "Billing Groups",
"description": {
"content": "The Billing Groups API allows you to create and view labels that can be attached to certain consumption-based\nusages of Letters, Checks, Postcards and Self-Mailers to customize your bill. Please check each\nresource API section to learn more about how to access the Billing Groups API.\n
\n",
@@ -6425,7 +6405,7 @@
"event": []
},
{
- "id": "db19c59d-e9a5-4f5b-a386-992cebea114b",
+ "id": "cd712325-c2c8-4da0-a325-6a38f0ebf043",
"name": "Events",
"description": {
"content": "When various notable things happen within the Lob architecture, Events will be created. To get these events sent to your server\nautomatically when they occur, you can set up [Webhooks](#tag/Webhooks).\n\n
Postcards
\n\n
\n
\n
EVENT TYPE
\n
LIVE-ONLY
\n
WHEN EVENT TYPE OCCURS
\n
\n
\n
postcard.created
\n
false
\n
A postcard is successfully created (Lob returns a 200 status code).
\n
\n
\n
postcard.rendered_pdf
\n
false
\n
A postcard's PDF proof is successfully rendered.
\n
\n
\n
postcard.rendered_thumbnails
\n
false
\n
A postcard's thumbnails are successfully rendered.
\n",
@@ -6435,7 +6415,7 @@
"event": []
},
{
- "id": "02b8b944-dcf8-436b-9491-943c7b0250e2",
+ "id": "80d753ad-7c31-474c-95d6-3f0e77a71ef7",
"name": "Getting Started",
"description": {
"content": "### 1. Get Setup\n* Create an account at Lob.com\n* Obtain your API keys in the Lob dashboard settings\n* You'll use the format, `test_*.` for your Test API key and `live_*.` for your Live API key.\n\n### 2. Explore\n* Try out in Postman:\n
\n Run in Postman\n
\n\n* Launch your terminal and copy/paste a CURL command.\n```bash\ncurl https://api.lob.com/v1/addresses \\\n -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc:\n```\n* Download a [Lob SDK](#tag/SDKs-and-Tools) into your favorite IDE (integrated development environment)\n\n### 3. Learn more\nTry our quick start (TypeScript, Python, PHP, Java or Ruby):\n* Send your first Postcards\n\nUse Case guides\n* Mass Deletion Best Practices\n* NCOALink Restrictions\n* Override Cancellation Window\n* Tracking Address Changes\n
\n",
@@ -6453,7 +6433,7 @@
},
"item": [
{
- "id": "5ef391ef-63cc-43ee-a473-37a0ac304ae2",
+ "id": "c121043e-e6fc-4984-9b7f-522a598baf77",
"name": "Identity Validation",
"request": {
"name": "Identity Validation",
@@ -6526,7 +6506,7 @@
},
"response": [
{
- "id": "4f9fc535-a461-4c84-9452-ef0b62cad73d",
+ "id": "5d43e28c-6ad2-48eb-8487-e00e6c55d9f0",
"name": "Returns the likelihood a given name is associated with an address.",
"originalRequest": {
"url": {
@@ -6617,7 +6597,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "1fe5f937-b689-4ca4-b51a-090df4bb4674",
+ "id": "5b68c40b-4979-4318-bd0e-ecbba7387f83",
"name": "Error",
"originalRequest": {
"url": {
@@ -6699,7 +6679,7 @@
"event": []
},
{
- "id": "e7295565-7e82-4d88-8f13-b6f8c5b4d348",
+ "id": "b70ccaa4-8bf7-4caf-a332-d98d8ea1e3ce",
"name": "Intl Autocompletions",
"description": {
"content": "Address autocompletion for non-US addresses. Given partial address information, this endpoint returns up to 10 address suggestions.\n## Autocompletion Test Env\nYour test API key does not autocomplete international addresses and is used to simulate\nbehavior. With your test API key, requests with specific values for `address_prefix`\nreturn predetermined values. When `address_prefix` is set to:\n- `0 suggestions` - Returns no suggestions\n- `[PRIMARY NUMBER] s[uggestion]` - Returns a maximum of ten predefined suggested addresses.\n `[PRIMARY NUMBER]` does not have to be a valid primary number when sending a test request.\n Each additional letter in `suggestion` reduces the number of suggestions by one (e.g.\n `1 su` returns 9 suggested addresses). `[PRIMARY NUMBER]` does not affect the number of\n suggestions returned.\nCountry is a required field.\nCity and state filters work as expected and filter the list of predetermined suggested addresses.\nSee the `test` request & response examples under [Autocomplete Examples](#operation/intl_autocompletions) within the \"Autocomplete\na partial address\" section in Intl Autocompletions.\n
\n\n## Intl Verifications Test Env\n\nWhen verifying international addresses, you'll likely want to test against\na wide array of addresses to ensure you're handling responses correctly.\nWith your test API key, requests that use specific values for `primary_line`\nlet you explore the responses to many types of addresses:\n\n
\n
\n
DELIVERABILITY OF SAMPLE RESPONSE
\n
SET primary_line TO
\n
\n
\n
deliverable
\n
deliverable
\n
\n
\n
deliverable_missing_info
\n
deliverable missing info
\n
\n
\n
undeliverable
\n
undeliverable
\n
\n
\n
no_match
\n
no match
\n
\n
\n\nSee the `test` request & response examples under [Intl Verification Examples](#operation/intl_verification) within the\n\"Verify an international address section\" in Intl Verifications.\n\nYou can rely on the response from these examples generally matching the response\nyou'd see in the live environment with an address of that type (excluding the `recipient` field).\n\nThe test API key does not perform any verification, automatic correction, or standardization\nfor addresses. If you wish to try these features out, use our live demo\nor the free plan (see our pricing for details).\n
\n\n## Scheduled Mailings\n\nPostcards, self mailers, letters, and checks can be scheduled to be sent up\nto 180 days in advance. You can use this feature to:\n- Create automated drip campaigns (e.g. send a postcard at 15, 30, and 60\ndays)\n- Schedule recurring sends\n- Plan your mailing schedule ahead of time\n\nUp until the time a mailing is scheduled for, it can also be canceled.\nIf you use this feature in conjunction with [a cancellation window](\nindex.html#section/Cancellation-Windows), the `send_date` parameter will always\ntake precedence.\n\nFor implementation details, see documentation below for each respective\nendpoint. For more help, see our Scheduled Mailings Guide.\n\nThis feature is exclusive to certain customers. Upgrade to the appropriate\nPrint & Mail Edition to\ngain access.\n\n### Example Create Request using Send Date\n\n```bash\n curl https://api.lob.com/v1/postcards \\\n -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc: \\\n -d \"description=Demo Future Postcard\" \\\n -d \"to=adr_bae820679f3f536b\" \\\n -d \"from=adr_210a8d4b0b76d77b\" \\\n -d \"front=tmpl_b846a20859ae11a\" \\\n -d \"back=tmpl_01b0d396a10c268\" \\\n -d \"merge_variables[name]=Harry\" \\\n -d \"send_date=2021-07-26\"\n```\n
\n",
@@ -8645,7 +8621,7 @@
"event": []
},
{
- "id": "7461f024-4568-47c1-90ba-a14b75c2d534",
+ "id": "4b27450e-1f6c-4704-8025-afb2b5645337",
"name": "National Change of Address",
"description": {
"content": "National Change of Address Linkage (NCOALink) is a service offered by the USPS, which allows individuals\nor businesses who have recently moved to have any mail forwarded from their previous address\nto their new address.\n\nAs a CASS-certified Address Verification Provider, Lob also offers NCOALink\nfunctionality to our Print & Mail customers. With the Lob NCOALink feature enabled, Postcards,\nLetters, Checks and Addresses can automatically be corrected to reflect an individual's or business's\nnew address in the case that they have moved (only if they have registered for NCOALink with the USPS).\n\nDue to privacy concerns and USPS constraints, for customers with NCOALink enabled, our API responses\nfor a limited set of endpoints differ slightly in the case when an address has been changed through NCOALink.\n\n**NOTE**: This feature is exclusive to certain customers. Upgrade to the appropriate Print & Mail Editions to gain access.\n\nFor more information, see our NCOALink guide.\n \n
\n\n## NCOALink Live Environment\nThough there are no changes to API requests, there are significant changes to our API responses, but\nonly in the event that an address has been changed through NCOALink. If an address has not been changed\nthrough NCOALink, the response would be identical to our standard responses, except the addition of a\n`recipient_moved` field, which is `false` for unchanged addresses.\n\nIf an address has been changed through NCOALink, we are required to suppress the following response\nfields for that address:\n- `address_line1`\n- `address_line2`\n- The +4 portion of the ZIP+4 (5-digit ZIP code will still be present)\n\nSee the `ncoa_us_live` example under [Response samples](#operation/address_create) within the \"Create an Address\" section in Addresses\n \n
\n\n## NCOALink Test Environment\n\nIn addition to sending live requests, you may also want to simulate what an NCOALink response might\nlook like so that you can ensure your application behaves as expected. The behavior of NCOALink in\nLob's Test Environment is very similar to our [US Verifications Test Mode](#section/US-Verifications-Test-Env).\n\nTo simulate an NCOALink request, send a POST request to any of the four endpoints below with an `address_line1` field equal to `NCOA`:\n- `POST /v1/addresses`\n- `POST /v1/checks`\n- `POST /v1/letters`\n- `POST /v1/postcards`\n- `POST /v1/self_mailers`\n\nA static address will always be returned, as documented in the `ncoa_us_test` example under [Response samples](#operation/address_create) within the \"Create an Address\"\nsection in Addresses (along with the corresponding request under \"Request samples\").\n
\n",
@@ -8655,7 +8631,7 @@
"event": []
},
{
- "id": "88c9eaf2-1515-4956-a874-c7748fe51ec9",
+ "id": "c18f0d61-5368-42ba-8a55-089cdbb64d82",
"name": "Postcards",
"description": {
"content": "The postcards endpoint allows you to easily print and mail postcards. The API provides endpoints for creating postcards,\nretrieving individual postcards, canceling postcards, and retrieving a list of postcards.\n
\n",
@@ -8663,7 +8639,7 @@
},
"item": [
{
- "id": "6b2b5a43-182a-4caa-bcdc-4babd6b19c03",
+ "id": "342e3317-cf00-4b09-aa28-98e4877c491d",
"name": "Retrieve",
"request": {
"name": "Retrieve",
@@ -8701,7 +8677,7 @@
},
"response": [
{
- "id": "75d9121e-7dcc-4062-bd75-8bcb5d469d6e",
+ "id": "9b5011b9-3788-4d5e-bbb9-6b76dd905975",
"name": "Returns a postcard object",
"originalRequest": {
"url": {
@@ -8749,7 +8725,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "5542f508-364a-49fd-ba79-a17059016ddb",
+ "id": "35d0885b-dc0b-4080-a15a-f7c2954beeea",
"name": "Error",
"originalRequest": {
"url": {
@@ -8800,7 +8776,7 @@
"event": []
},
{
- "id": "eefa05f6-84c8-45f2-8c92-28bdcc8e180b",
+ "id": "ca54997b-2581-49f8-b314-7abd0ebbc0ac",
"name": "Cancel",
"request": {
"name": "Cancel",
@@ -8838,7 +8814,7 @@
},
"response": [
{
- "id": "7aa78f44-050b-452c-b771-1db032f362c3",
+ "id": "1b7fcbf0-334f-4de7-9194-a48c4221ac9b",
"name": "Deleted",
"originalRequest": {
"url": {
@@ -8886,7 +8862,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "6e71231d-2f5a-4d4c-95aa-73d90825fb08",
+ "id": "5b6e7e0c-37ab-435d-b532-53e514d8c5f1",
"name": "Error",
"originalRequest": {
"url": {
@@ -8937,7 +8913,7 @@
"event": []
},
{
- "id": "a60b2240-bf9d-4f6d-bfd2-37be465ed4a1",
+ "id": "92f758b1-b495-4414-8e63-31426d13887b",
"name": "List",
"request": {
"name": "List",
@@ -8985,13 +8961,25 @@
},
{
"disabled": false,
- "key": "date_created[in_6]",
+ "key": "date_created[cupidatat3]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[elit6a]",
"value": "",
"description": "Filter by date created."
},
{
"disabled": false,
- "key": "date_created[consecteturc15]",
+ "key": "date_created[magna_7_4]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[in_f]",
"value": "",
"description": "Filter by date created."
},
@@ -9045,7 +9033,7 @@
},
"response": [
{
- "id": "22e6f553-f495-46d5-bd12-11324ddf3fc9",
+ "id": "812db59b-5231-46cd-984f-369866f72fe7",
"name": "A dictionary with a data property that contains an array of up to `limit` postcards. Each entry in the array is a separate postcard. The previous and next page of postcards can be retrieved by calling the endpoint contained in the `previous_url` and `next_url` fields in the API response respectively. If no more postcards are available beyond the current set of returned results, the `next_url` field will be empty.",
"originalRequest": {
"url": {
@@ -9077,23 +9065,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
- "value": ""
- },
- {
- "key": "date_created[fugiata]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
},
{
@@ -9149,7 +9129,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "b8d7a876-9f67-45a3-974e-bb7d313316c2",
+ "id": "33d852fb-7cb2-4402-934d-7a9279e9a8bc",
"name": "Error",
"originalRequest": {
"url": {
@@ -9181,23 +9161,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[fugiata]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
- "value": ""
- },
- {
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
},
{
@@ -9256,7 +9228,7 @@
"event": []
},
{
- "id": "f6afc5c7-ae96-42c6-97d8-190c9fe4ad0f",
+ "id": "c207338d-0d5b-4488-b793-419dd79929da",
"name": "Create",
"request": {
"name": "Create",
@@ -9362,7 +9334,7 @@
},
"response": [
{
- "id": "4cee06e2-ec50-49f8-9de8-9f5efe2b2491",
+ "id": "4d04d849-0ea9-4dcf-8367-93e0893e494d",
"name": "Returns a postcard object",
"originalRequest": {
"url": {
@@ -9584,7 +9556,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "5f523530-3171-4398-a9d9-8973b55bba47",
+ "id": "3e7a1a74-2c72-4af0-9194-03b3333086f6",
"name": "Error",
"originalRequest": {
"url": {
@@ -9797,7 +9769,7 @@
"event": []
},
{
- "id": "7b889797-4811-40f8-a3a0-26ae9623dd41",
+ "id": "992f8b1e-76c6-4ea7-b94b-4447bac4763c",
"name": "Rate Limiting",
"description": {
"content": "To prevent misuse, we enforce a rate limit on an API Key and endpoint basis, similar to the way many other APIs enforce rate limits. By default, all accounts and their corresponding Test and Live API Keys have a rate limit of 150 requests per 5 seconds per endpoint. The `POST /v1/us_verifications` and `POST /v1/us_autocompletions` endpoints have a limit of 300 requests per 5 seconds for all accounts.\n\nWhen your application exceeds the rate limit for a given API endpoint, the Lob API will return an HTTP 429 \"Too Many Requests\" response code instead of the variety of codes you would find across the other API endpoints.\n\n**HTTP Headers**\n\nHTTP headers are returned on each request to a rate limited endpoint. Ensure that you inspect these headers during your requests as they provide relevant data on how many more requests your application is allowed to make for the endpoint you just utilized.\n\nWhile the headers are documented here in titlecase, HTTP headers are case insensitive and certain libraries may transform them to lowercase. Please inspect your headers carefully to see how they will be represented in your chosen development scenario.\n
\n \n
\n
X-Rate-Limit-Limit:
\n
the rate limit ceiling for a given request
\n
\n
\n
X-Rate-Limit-Remaining:
\n
the number of requests remaining in this window
\n
\n
\n
X-Rate-Limit-Reset:
\n
the time at which the rate limit window resets (in UTC epoch seconds)\n
\n
\n \n
\n\n### Example HTTP Headers\n\n```bash\n X-Rate-Limit-Limit:150\n X-Rate-Limit-Remaining:100\n X-Rate-Limit-Reset:1528749846\n```\n\n### Example Response\n\nIf you hit the rate limit on a given endpoint, this is the body of the HTTP 429 message that you will see:\n\n```javascript\n {\n \"error\": {\n \"message\": \"Rate limit exceeded. Please wait 5 seconds and try your request again.\",\n \"code\": \"rate_limit_exceeded\",\n \"status_code\": 429\n }\n }\n```
",
@@ -9807,7 +9779,7 @@
"event": []
},
{
- "id": "f46f60e4-17c8-4e7a-90f2-54d001c3e418",
+ "id": "060e5ab3-b566-4f58-9746-c710fec3e65a",
"name": "Requests and Responses",
"description": {
"content": "## Asset URLs\n\nAll asset URLs returned by the Lob API (postcards, letters, thumbnails,\netc) are signed links served over HTTPS. All links returned will expire in\n30 days to prevent mis-sharing. Each time a GET request is initiated, a\nnew signed URL will be generated.\n \n
\n\n## Query Parameters\n\nQuery parameters which consist of lists of strings require that all elements of\nthe list be double-quoted, as per query filter standards.\n \n
\n\n## Idempotent Requests\n\nLob supports idempotency for safely retrying `POST` requests to create\npostcards, self mailers, letters, and checks without accidentally creating\nduplicates.\n\nFor example, if a request to create a check fails due to a network error,\nyou can safely retry the same request with the same idempotency key and\nguarantee that only one check will ultimately be created and sent. When a\nrequest is sent with an idempotency key for an already created resource,\nthe response object for the existing resource will be returned.\n\nTo perform an idempotent `POST` request to one of the mailpiece product\nendpoints, provide an additional `Idempotency-Key` header or an `idempotency_key`\nquery parameter to the request. If multiple idempotency keys are provided,\nthe request will fail. How you create unique keys is up to you, but we\nsuggest using random values, such as V4 UUIDs. Idempotency keys are intended\nto prevent issues over a short periods of time, therefore keys expire after\n24 hours. Keys are unique by mode (Test vs. Live) as well as by resource\n(postcard vs. letter, etc.).\n\nBy default, all `GET` and `DELETE` requests are idempotent by nature, so\nthey do not require an additional idempotency key.\n\nFor more help integrating idempotency keys, refer to our\nimplementation guide.\n\n**Headers**\n
\n \n
\n
Idempotency-Key:
\n
\n optional\n
\n \n A string of no longer than 256 characters\n that uniquely identifies this resource.\n \n
\n
\n
\n \n
\n\n**Query Parameters**\n
\n \n
\n
idempotency-key:
\n
\n optional\n
\n \n A string of no longer than 256 characters\n that uniquely identifies this resource.\n \n
\n\n## Metadata\n\nWhen creating any Lob object, you can include a metadata object with up to 20 key-value pairs of\ncustom data. You can use metadata to store information like `metadata[customer_id] = \"987654\"` or\n`metadata[campaign] = \"NEWYORK2015\"`. This is especially useful for filtering and matching to internal\nsystems.\n\nEach metadata key must be less than 40 characters long and values must be less than 500 characters.\nMetadata does not support nested objects.\n\n### Example Create Request with Metadata\n\n```bash\n curl https://api.lob.com/v1/postcards \\\n -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc: \\\n -d \"description=Demo Postcard job\" \\\n -d \"metadata[campaign]=NEWYORK2015\" \\\n -d \"to=adr_bae820679f3f536b\" \\\n -d \"from=adr_210a8d4b0b76d77b\" \\\n --data-urlencode \"front=Front HTML for {{name}}\" \\\n --data-urlencode \"back=Back HTML\" \\\n -d \"merge_variables[name]=Harry\"\n```\n\n### Example List Request with Metadata Filter\n\n```bash\n curl -g \"https://api.lob.com/v1/postcards?metadata[campaign]=NEWYORK2015&limit=2\" \\\n -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc:\n```\n \n
\n\n\n## Request Body\n\nWhen manually sending a POST HTTP request directly to the Lob API, without\nthe use of a library, you may represent the body as either a Form URL\nEncoded request, a JSON document, or a Multipart Form Data request.\n\nHowever, if you're using one of our [SDKs](#tag/SDKs-and-Tools),\nthe generation of the request bodies is done for you automatically and you don't\nneed to worry about the format.\n\n### Form URL Encoded\n\nThis request body encoding is accompanied with the\n`Content-Type: application/x-www-form-urlencoded` header. The content is an\nexample of what the [Verify a US address](index.html#operation/us_verification)\nendpoint accepts. An example of a request body encoded in this format follows.\n\n\n```javascript\n primary_line=210 King Street&city=San Francisco&state=CA&zip_code=94107\n```\n\n### JSON\n\nThis request body encoding is accompanied with the `Content-Type: application/json` header.\nThe content is an example of what the [Verify a US address endpoint](index.html#operation/us_verification)\naccepts. An example of a request body encoded in this format follows.\n\n\n```javascript\n {\n \"primary_line\": \"210 King Street\",\n \"city\": \"San Francisco\",\n \"state\": \"CA\",\n \"zip_code\": \"94107\"\n }\n```\n\n### Multipart Form Data\n\nThis request body encoding is accompanied with the `Content-Type: multipart/form-data`\nheader. This is the only format that can be used for uploading a file to the API. The\ncontent is an example of what the [Create a check](index.html#operation/check_create)\nendpoint accepts. An example of a request body encoded in this format follows.\n\n\n```javascript\n --------------------------7015ebe79c0a5f8c\n Content-Disposition: form-data; name=\"description\"\n\n Demo Letter\n --------------------------7015ebe79c0a5f8c\n Content-Disposition: form-data; name=\"to\"\n\n adr_bae820679f3f536b\n --------------------------7015ebe79c0a5f8c\n Content-Disposition: form-data; name=\"from\"\n\n adr_210a8d4b0b76d77b\n --------------------------7015ebe79c0a5f8c\n Content-Disposition: form-data; name=\"file\"; filename=\"file.pdf\"\n Content-Type: application/pdf\n\n \n --------------------------7015ebe79c0a5f8c\n Content-Disposition: form-data; name=\"color\"\n\n true\n --------------------------7015ebe79c0a5f8c--\n```\n
\n",
@@ -9817,7 +9789,7 @@
"event": []
},
{
- "id": "0062e2e7-b42e-45c3-975e-832ae0eb1306",
+ "id": "1ba1c022-7128-4a1a-93c6-e93312e353d9",
"name": "Reverse Geocode Lookups",
"description": {
"content": "Find a list of zip codes associated with a valid US location via latitude and longitude.
\n",
@@ -10051,7 +10023,7 @@
"event": []
},
{
- "id": "23dad1fc-6ba2-4e06-a477-986d83136900",
+ "id": "70c5142a-5837-47ef-8dfb-09e2a79a39d9",
"name": "Self Mailers",
"description": {
"content": "The self mailer endpoint allows you to easily print and mail self mailers. The API provides endpoints\nfor creating self mailers, retrieving individual self mailers, canceling self mailers, and retrieving a list of self mailers.\n
\n\n## HTML Examples\nUse a pre-designed template from our gallery or follow these\nbasic guidelines as starting points for creating custom Postcards,\nSelf Mailers, Letters, and Checks.\n\nPlease follow the standards used in these templates, such as:\n- For any linked assets, you must use a performant file hosting provider with no rate limits such as Amazon\nS3.\n- Use inline styles or an internal stylesheet, do not link to external stylesheets.\n- Link to images that are 300DPI and sized at the final desired size on the physical mailing. For example,\nfor a photo that is desired to be 1in x 1in on the final postcard, the image asset should be sized at 1in\nx 1in at 300DPI (which equates to 300px by 300px).\n- The sum of all linked assets should not exceed 5MB in file size.\n- Use `-webkit` prefixes for CSS properties when recommended here.\n\nBecause different browsers have varying user-agent styles, the HTML you see in your browser will not\nalways look identical to what is produced through the API. It is **strongly** recommended that you test all\nHTML requests by reviewing the final PDF files in your Test Environment, as these are the files that will be\nprinted.\n \n
\n\n## Image Prepping\nCurrently we support the following file types for all endpoints:\n- PDF\n- PNG\n- JPEG\n\n**Templates**\n\nYou can find pre-made templates that already adhere to all of these guidelines here:\n- [Postcards](#tag/Postcards)\n- [Letters](#tag/Letters)\n- [Checks](#tag/Checks)\n- [Self Mailers](#tag/Self-Mailers)\n\n**Prepping All Images**\n\nThe following guidelines apply to image types:\n- Images should be 300 dpi or higher - PNG/JPEG files with less than 300 dpi will be rejected.\n- Your artwork should include a 1/8\" border around the final trim size. This means your final file size will be a total of 0.25\" larger than your expected printed piece (ie, a 4\"x6\" postcard should be submitted as 4.25\"x6.25\"). There is no need to include crop marks in your submitted content.\n- Include a safe zone – make sure no critical elements are within 1/8\" from the edge of the final size.\n- Do not include any additional postage marks or indicia.\n- File sizes should be no larger than 5MB.\n\n**Prepping PDFs**\n\nTo ensure that you are producing PDF's correctly please follow the guidelines below:\n- [Make sure all non-standard fonts are embedded.](#section/Standard-PDF-Fonts)\n- Generated PDF's need to be be PDF/A compliant.\n\n**Prepping PNGs/JPEGs**\n\nTo ensure that you are producing PNG's/JPEG's correctly please follow the guidelines below:\n\n- Minimum 300 dpi. The dpi is calculated as (width of image in pixels) / (width of product in inches) and (length of image in pixels) / (length of product in inches). For Example: 1275px x 1875px image used to create a 4.25\" x 6.25\" postcard has a dpi of 300.\n- Submitted images must have the same length to width ratio as the chosen product. Images will not be cropped or stretched by the API.\n \n
\n\n## Standard PDF Fonts\nIdeally, all fonts in provided PDFs should be embedded. Embedding a font in a PDF ensures that the final\nprinted product will look as it was designed. Fonts can vary greatly in size and shape, even within the\nsame family. If the exact font that was used to design the artwork is not used to print, the look and\nplacement of the text is not guaranteed to be the same.\n\nIn general, requests that provide PDFs with un-embedded fonts will be rejected. We make an exception for\n\"standard fonts\", a set of fonts that we have identified as being common. PDFs that contain un-embedded\nfonts that are found in the list, and match the accepted font type\nwill be accepted. Otherwise, the request will be rejected.\n\nFont embedding is an essential part of standard PDF workflows. Fonts should be embedded automatically by\nPDF editing software that are compliant with PDF standards.\n\n
\n",
@@ -11003,7 +10971,7 @@
"event": []
},
{
- "id": "4314af1e-563a-4b61-b4f3-cfb246cd44c7",
+ "id": "a65ec527-ae69-41ac-bb94-adcf97b39be5",
"name": "Template Versions",
"description": {
"content": "These API endpoints allow you to create, retrieve, update and delete versions of reusable HTML templates for use with the Print & Mail API.\n
\n",
@@ -12059,7 +12023,7 @@
},
"item": [
{
- "id": "d680db0c-ed6c-4518-8c2e-94941272e8ab",
+ "id": "b6a78906-9d57-482f-afa7-e1bd67aa37da",
"name": "Retrieve",
"request": {
"name": "Retrieve",
@@ -12097,7 +12061,7 @@
},
"response": [
{
- "id": "37db3b3f-c6a6-4294-af7c-0d0d5b457084",
+ "id": "4ae4b7f6-7cb3-4a78-b62e-ec6b0f9a3620",
"name": "Returns a template object",
"originalRequest": {
"url": {
@@ -12145,7 +12109,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "603d46c0-a125-46e3-b676-89b300b4424a",
+ "id": "47be07e6-1a5e-45bc-b7d9-687480c792bc",
"name": "Error",
"originalRequest": {
"url": {
@@ -12196,7 +12160,7 @@
"event": []
},
{
- "id": "abe0adde-cebb-4cc3-939b-0e9911ca3334",
+ "id": "98d5245b-9802-4fe0-800e-77335be45746",
"name": "Update",
"request": {
"name": "Update",
@@ -12253,7 +12217,7 @@
},
"response": [
{
- "id": "e8922312-6571-461f-9eee-d631cf0e7695",
+ "id": "41385287-20eb-44b5-9bfe-d5c9f274f985",
"name": "Returns the updated template object",
"originalRequest": {
"url": {
@@ -12333,7 +12297,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "40ecd2dc-9274-4ee7-9806-133df67ca0ce",
+ "id": "cfc03d96-7568-4cf3-98a1-d9550a0dd5af",
"name": "Error",
"originalRequest": {
"url": {
@@ -12401,7 +12365,7 @@
}
},
{
- "id": "9ca60e42-dfb8-402e-8aec-d99580156791",
+ "id": "92ee9516-9a01-487a-b613-4d449b06d15e",
"name": "Delete",
"request": {
"name": "Delete",
@@ -12439,7 +12403,7 @@
},
"response": [
{
- "id": "604ff363-3ec1-4289-9078-323041a6e4d9",
+ "id": "86b45504-5c00-4688-b8cb-97c502522135",
"name": "Deleted",
"originalRequest": {
"url": {
@@ -12487,7 +12451,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "717d6f93-b913-456a-b346-ae2b607b9990",
+ "id": "72b4d8e9-422c-4675-bbd4-010b2d45700b",
"name": "Error",
"originalRequest": {
"url": {
@@ -12538,7 +12502,7 @@
"event": []
},
{
- "id": "ebc1d3c4-1c4b-48dd-a52e-e152129edab9",
+ "id": "e00ad757-6cbe-40f7-872e-d05dbaa76216",
"name": "List",
"request": {
"name": "List",
@@ -12586,13 +12550,25 @@
},
{
"disabled": false,
- "key": "date_created[in_6]",
+ "key": "date_created[cupidatat3]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[elit6a]",
"value": "",
"description": "Filter by date created."
},
{
"disabled": false,
- "key": "date_created[consecteturc15]",
+ "key": "date_created[magna_7_4]",
+ "value": "",
+ "description": "Filter by date created."
+ },
+ {
+ "disabled": false,
+ "key": "date_created[in_f]",
"value": "",
"description": "Filter by date created."
}
@@ -12610,7 +12586,7 @@
},
"response": [
{
- "id": "2013dac5-6809-46b0-8e8d-50f5bfc28e01",
+ "id": "653f17ef-8bc2-4657-a2ce-504032928a2c",
"name": "A dictionary with a data property that contains an array of up to `limit` templates. Each entry in the array is a separate template. The previous and next page of templates can be retrieved by calling the endpoint contained in the `previous_url` and `next_url` fields in the API response respectively. If no more templates are available beyond the current set of returned results, the `next_url` field will be empty.",
"originalRequest": {
"url": {
@@ -12642,23 +12618,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
- "value": ""
- },
- {
- "key": "date_created[fugiata]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
}
],
@@ -12690,7 +12658,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "ecdee6a3-ae71-42ca-98f2-8c4dd8215504",
+ "id": "9a20e8ea-5cb3-4ba8-bbb4-9ff90ac35d0d",
"name": "Error",
"originalRequest": {
"url": {
@@ -12722,23 +12690,15 @@
"value": ""
},
{
- "key": "date_created[laborume0b]",
- "value": ""
- },
- {
- "key": "date_created[Excepteur4e4]",
- "value": ""
- },
- {
- "key": "date_created[fugiata]",
+ "key": "date_created[dolore_0]",
"value": ""
},
{
- "key": "date_created[consequat_a]",
+ "key": "date_created[nostrud3f]",
"value": ""
},
{
- "key": "date_created[pariatura]",
+ "key": "date_created[elit6]",
"value": ""
}
],
@@ -12773,7 +12733,7 @@
"event": []
},
{
- "id": "056ab840-c87f-4188-af7b-3ed196127815",
+ "id": "2df18f30-070c-48f0-81b5-df408218d866",
"name": "Create",
"request": {
"name": "Create",
@@ -12820,7 +12780,7 @@
{
"disabled": false,
"key": "metadata",
- "value": ")SDma]T[.(8}Q8!KheiFHrM$9(K[oMwGDiJS9(?)P<`TO1WM0Gdk2{_ssY7L;6h${vuE{kq(-_~'n Rw&Lvhm[etWkqRN6*U?P)g,JS{^kJ4*5_1Y&}jGx{h+bM(I[S1PU2ezg-vW^suNEBEO xi~Sbw@@'(t%%o!V_ /73=_;8,W&%6VEnQ=^vc kJ2vOFyback to top\n",
@@ -13003,7 +12963,7 @@
"event": []
},
{
- "id": "23cf3b31-6983-40b6-8dbd-e006c4587a59",
+ "id": "59b7f06f-daf6-4611-a5bb-43c5ef0c57d6",
"name": "Tracking Events",
"description": {
"content": "As mailpieces travel through the mail stream, USPS scans their unique barcodes, and Lob processes these mail scans to generate tracking events.\n\n
Certified Tracking Event Details
\n\nLetters sent with USPS Certified Mail are fully tracked by USPS, and\ntherefore their [tracking events](#operation/tracking_event) have an\nadditional `details` object with more detailed information about the\ntracking event. The following table shows the potential values for\nthe fields in the `details` object mapped to the tracking event `name`.\n\n
\n
\n
NAME
\n
EVENT
\n
DESCRIPTION
\n
ACTION REQUIRED
\n
\n
\n
Mailed
\n
package_accepted
\n
Package has been accepted into the carrier network for delivery.
\n
false
\n
\n
\n
In Transit
\n
package_arrived
\n
Package has arrived at an intermediate location in the carrier network.
\n
false
\n
\n
\n
In Transit
\n
package_departed
\n
Package has departed from an intermediate location in the carrier network.
\n
false
\n
\n
\n
In Transit
\n
package_processing
\n
Package is processing at an intermediate location in the carrier network.
\n
false
\n
\n
\n
In Transit
\n
package_processed
\n
Package has been processed at an intermediate location.
\n
false
\n
\n
\n
In Local Area
\n
package_in_local_area
\n
Package is at a location near the end destination.
\n
false
\n
\n
\n
Processed For Delivery
\n
delivery_scheduled
\n
Package is scheduled for delivery.
\n
false
\n
\n
\n
Processed For Delivery
\n
out_for_delivery
\n
Package is out for delivery.
\n
false
\n
\n
\n
Pickup Available
\n
pickup_available
\n
Package is available for pickup at carrier location.
\n
true
\n
\n
\n
Delivered
\n
delivered
\n
Package has been delivered.
\n
false
\n
\n
\n
Re-Routed
\n
package_forwarded
\n
Package has been forwarded.
\n
false
\n
\n
\n
Returned to Sender
\n
returned_to_sender
\n
Package is to be returned to sender.
\n
false
\n
\n
\n
Issue
\n
address_issue
\n
Address information is incorrect. Contact carrier to ensure delivery.
\n
true
\n
\n
\n
Issue
\n
contact_carrier
\n
Contact the carrier for more information.
\n
true
\n
\n
\n
Issue
\n
delayed
\n
Delivery of package is delayed.
\n
false
\n
\n
\n
Issue
\n
delivery_attempted
\n
Delivery of package has been attempted. Contact carrier to ensure delivery.
\n
true
\n
\n
\n
Issue
\n
delivery_rescheduled
\n
Delivery of package has been rescheduled.
\n
false
\n
\n
\n
Issue
\n
location_inaccessible
\n
Delivery location inaccessible to carrier. Contact carrier to ensure delivery.
\n
true
\n
\n
\n
Issue
\n
notice_left
\n
Carrier left notice during attempted delivery. Follow carrier instructions on notice.
\n
true
\n
\n
\n
Issue
\n
package_damaged
\n
Package has been damaged. Contact carrier for more details.
\n
true
\n
\n
\n
Issue
\n
package_disposed
\n
Package has been disposed.
\n
false
\n
\n
\n
Issue
\n
package_held
\n
Package held at carrier location. Contact carrier for more details.
\n
true
\n
\n
\n
Issue
\n
package_lost
\n
Package has been lost. Contact carrier for more details.
\n## Autocompletion Test Env\nYour test API key does not autocomplete US addresses and is used to simulate behavior. With your test API key, requests with specific values for `address_prefix` return predetermined values. When `address_prefix` is set to:\n- `0 suggestions` - Returns no suggestions - `[PRIMARY NUMBER] s[uggestion]` - Returns a maximum of ten predefined suggested addresses.\n `[PRIMARY NUMBER]` does not have to be a valid primary number when sending a test request.\n Each additional letter in `suggestion` reduces the number of suggestions by one (e.g.\n `1 su` returns 9 suggested addresses). `[PRIMARY NUMBER]` does not affect the number of\n suggestions returned.\n\nCity and state filters work as expected and filter the list of predetermined suggested addresses.\nSee the `test` request & response examples under [Autocomplete Examples](#operation/autocompletion) within the \"Autocomplete a partial address\" section in US Autocompletions.
Some parts of the address (such as the street and ZIP code) are valid.
\n
\n
\n
A1
\n
The address is invalid based on given inputs.
\n
\n
\n
BB
\n
The address is deliverable.
\n
\n
\n
CC
\n
The address is deliverable by removing the provided secondary unit designator.
\n
\n
\n
N1
\n
The address is deliverable but is missing a secondary information (apartment, unit, etc).
\n
\n
\n
F1
\n
The address is a deliverable military address.
\n
\n
\n
G1
\n
The address is a deliverable General Delivery address. General Delivery is a USPS service which allows individuals without permanent addresses to receive mail.
\n
\n
\n
U1
\n
The address is a deliverable unique address. A unique ZIP code is assigned to a single organization (such as a government agency) that receives a large volume of mail.
\n
\n
\n
M1
\n
The primary number is missing.
\n
\n
\n
M3
\n
The primary number is invalid.
\n
\n
\n
P1
\n
PO Box, Rural Route, or Highway Contract box number is missing.
\n
\n
\n
P3
\n
PO Box, Rural Route, or Highway Contract box number is invalid.
\n
\n
\n
R1
\n
The address matched to a CMRA and private mailbox information is not present.
\n
\n
\n
R7
\n
The address matched to a Phantom Carrier Route (carrier_route of R777), which corresponds to physical addresses that are not eligible for delivery.
\n
\n
\n
RR
\n
The address matched to a CMRA and private mailbox information is present.
\n",
@@ -14524,7 +14484,7 @@
"event": []
},
{
- "id": "7d2a40fa-ff2c-42cc-9214-896f05d6ef0c",
+ "id": "cad78c9a-db9b-4799-9aca-ed7a2143d636",
"name": "US Verifications",
"description": {
"content": "Validate, automatically correct, and standardize the addresses in your\naddress book based on USPS's Coding Accuracy Support System (CASS).\n \n
\n\n## US Verifications Test Env\n\nWhen verifying US addresses, you'll likely want to test against a wide array of addresses to\nensure you're handling responses correctly. With your test API key, requests that use specific\nvalues for `address` or `primary_line` and (if using `primary_line`) an arbitrary five digit\nnumber for `zip_code` (e.g. \"11111\") let you explore the responses to many types of addresses:\n\n
\n
\n
ADDRESS TYPE FOR SAMPLE RESPONSE
\n
DELIVERABILITY
\n
SET primary_line OR address TO
\n
\n
\n
Commercial highrise
\n
deliverable
\n
commercial highrise
\n
\n
\n
Residential highrise
\n
deliverable
\n
residential highrise
\n
\n
\n
Residential house
\n
deliverable
\n
residential house
\n
\n
\n
PO Box
\n
deliverable
\n
po box
\n
\n
\n
Rural route
\n
deliverable
\n
rural route
\n
\n
\n
Puerty Rico address w/ urbanization
\n
deliverable
\n
puerto rico
\n
\n
\n
Military address
\n
deliverable
\n
military
\n
\n
\n
Department of state
\n
deliverable
\n
department of state
\n
\n
\n
Generic deliverable
\n
deliverable
\n
deliverable
\n
\n
\n
Missing a suite number
\n
deliverable_missing_unit
\n
missing unit
\n
\n
\n
Suite number doesn't exist
\n
deliverable_incorrect_unit
\n
incorrect unit
\n
\n
\n
Residential house with unnecessary suite number
\n
deliverable_unnecessary_unit
\n
unnecessary unit
\n
\n
\n
Undeliverable and block matched
\n
undeliverable
\n
undeliverable block match
\n
\n
\n
Undeliverable and no block matched
\n
undeliverable
\n
undeliverable no match
\n
\n
\n\nSee the `test` request & response examples under [US Verification Examples](#operation/us_verification) within the\n\"Verify a US or US territory address\" section in US Verifications.\n\nYou can rely on the response from these examples generally matching the response you'd see in the live environment with an\naddress of that type (excluding the `recipient` field).\n\nThe test API key does not perform any verification, automatic correction, or standardization for addresses. If you wish to\ntry these features out, use our live demo or the free plan (see our pricing for details).\n
\n",
@@ -14532,7 +14492,7 @@
},
"item": [
{
- "id": "322aad4e-cf5a-4da0-976e-760824e0901a",
+ "id": "f1f1deb7-91f5-4a3f-96e4-b6e81720297c",
"name": "Bulk Verify",
"request": {
"name": "Bulk Verify",
@@ -14584,7 +14544,7 @@
},
"response": [
{
- "id": "41ca5e70-4eb3-4c5d-bf31-ff0644473767",
+ "id": "f6ea5c41-6529-42e7-a52f-7c6ad56ff80f",
"name": "Returns a list of US verification objects.",
"originalRequest": {
"url": {
@@ -14669,7 +14629,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "b354ee62-f13c-4fc0-b55c-1b67b0e461ba",
+ "id": "ad7b8a97-3d4e-411d-b623-619db080c6f4",
"name": "Error",
"originalRequest": {
"url": {
@@ -14742,7 +14702,7 @@
}
},
{
- "id": "73aa73e8-ae91-41f9-979d-41891f990ac4",
+ "id": "7d339557-8d8f-4029-bfba-3ea95b611711",
"name": "Single Verify",
"request": {
"name": "Single Verify",
@@ -14822,7 +14782,7 @@
},
"response": [
{
- "id": "16ff46e8-9341-4218-b05e-e37aef5c0c37",
+ "id": "9eab080c-3b40-4532-8fe7-fecd03ca73cc",
"name": "Returns a US verification object.",
"originalRequest": {
"url": {
@@ -14908,7 +14868,7 @@
"_postman_previewlanguage": "json"
},
{
- "id": "52121442-9a10-442b-9ea5-48489fb14809",
+ "id": "363d9742-d6ba-4c58-a0e9-c026771bed2d",
"name": "Error",
"originalRequest": {
"url": {
@@ -14985,7 +14945,7 @@
"event": []
},
{
- "id": "fe828b55-fc3f-4c8f-9c83-b086879fc0d7",
+ "id": "a04f0858-dad7-481b-aeeb-6dc1716cb5a6",
"name": "Versioning and Changelog",
"description": {
"content": "### API Versioning\n\nWhen backwards-incompatible changes are made to the API, a new dated version\nis released. The latest version of the API is version **2020-02-11**. You can\nview your version and upgrade to the latest version in your\nDashboard Settings. You will\nonly need to specify a version if you would like to test a newer version of\nthe API without doing a full upgrade. The API will return an error if a\nversion older than your current one is passed in. See\n[API Changelog](#tag/Versioning-and-Changelog) for a full list of breaking changes.\n\n### Example Request\n\n```bash\n curl https://api.lob.com/v1/addresses \\\n -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc: \\\n -H \"Lob-Version: 2020-02-11\"\n```\n\n### Specification Versioning\nYou might be wondering why our API and specification use different versioning schemes.\nLob's API predates our specification and follows the Stripe versioning\napproach. This works well to manage backwards-incompatible changes to our API.\n\nFor our API specification (used to create this documentation), we've chosen semantic\nversioning. This versioning reflects the backward-compatible\nchanges that do not require a versioning of Lob's API.\n\nLob's API specification will be used to generate artifacts like documentation, client SDKs,\nand other developer tooling. Semantic versioning of our specification will inform how we\nversion those artifacts like SDKs. It is helpful to know the version of a specification\nused to produce an artifact in order reference the specification release notes.\n\n\n### Changelog\n\n**2020-02-11**\n- renders merge_variables into HTML with syntax that supports objects, conditionals, and loops\n\n**2019-06-01**\n- changed pagination model of GET endpoints for postcards, letters, checks, addresses, bank accounts, templates, and template versions to a cursor-based model\n- offset parameter on these endpoints has been removed\n- previous_url and next_url response fields have been added\n\n**2018-06-05**\n- remove rate-limit headers\n\n**2018-03-30**\n- updated letter template which includes a white box behind the address block area to ensure deliverability\n\n**2018-03-01**\n- US verification deliverability value no_match deprecated and merged into undeliverable\n- US verification deliverability value deliverable_extra_secondary is split into deliverable_unnecessary_unit and deliverable_incorrect_unit\n- US verification deliverability value deliverable_missing_secondary renamed to deliverable_missing_unit\n- US verifications zip_code special values deprecated in favor of more comprehensive primary_line special values\n\n**2018-02-08**\n- enforce 50 character limit on the sum of address_line1 and address_line2 for check recipients\n\n**2017-11-08**\n- split extra_secondary_information into extra_secondary_designator and extra_secondary_number for /v1/us_verifications\n\n**2017-10-17**\n- remove support for the /v1/states endpoint\n- remove support for the /v1/countries endpoint\n- remove support for the message field from the POST /v1/postcards endpoint\n\n**2017-09-08**\n- renames input parameters and restructures response object for /v1/intl_verifications\n\n**2017-08-14**\n- automatically standardizes and corrects US addresses created via POST /v1/addresses. non-US addresses will be standardized into uppercase only.\n- automatically standardizes and corrects inline US addresses used in POST /v1/postcards, POST /v1/letters, and POST /v1/checks. non-US addresses will be standardized into uppercase only.\n- enforce 40 character limit on name and company for all addresses\n- enforce 64 character limit on address_line1 and address_line2 for US addresses\n\n**2017-06-16**\n- enforce 10,000 character limit on HTML strings\n- rename data parameter for all products to merge_variables\n\n**2017-05-17**\n- discontinues the /v1/verify endpoint - please use /v1/us_verifications or /v1/intl_verifications instead\n\n**2016-06-30** Sunsetted\n- unnest tracking object from postcard, letter, and check response objects\n\n**2016-05-02** Sunsetted\n- adds address_placement parameter to letters that defaults to top_first_page, template is no longer allowed\n\n**2016-03-21** Sunsetted\n- removes tracking numbers that do not provide any consumer-facing tracking information\n- removes link from tracking responses\n- requires account_type when creating a bank account\n\n**2016-01-19** Sunsetted\n- renames the count parameter to limit for all list endpoints\n- removes the next_url and previous_url from list responses\n\n**2015-12-22** Sunsetted\n- adds size parameter to postcards that defaults to 4x6, setting is no longer allowed\n\n**2015-11-23** Sunsetted\n- remove price from letters\n- remove pages from letters\n- remove price from postcards\n- renamed file parameter to check_bottom for checks\n\n**2015-11-06** Sunsetted\n- remove bank_address from bank_accounts\n- remove account_address from bank_accounts and add from to checks\n- remove price from checks\n\n**2015-10-21** Sunsetted\n- use the new HTML renderer for all products\n\n**2015-06-25** Sunsetted\n- remove the status field from all endpoints\n\n**2015-04-11** Sunsetted\n- errors on all endpoints are now single objects instead of arrays\n- full_bleed is no longer allowed for postcards, objects, and area mails - all products are now full_bleed by default\n- template is no longer allowed for postcards - all postcards must adhere to the template\n- name is no longer allowed for area mails, bank accounts, checks, jobs, objects, and postcards - it has been replaced by description\n- setting ID's 100 and 101 are no longer supported for objects - please use the Simple Letter Service instead\n- service is no longer supported for jobs\n- all boolean parameters now return true/false instead of 1/0\n- double_sided is no longer allowed for objects - all products are default double sided if more than one page is allowed\n- template is no longer allowed for objects\n\n**2014-12-18** Sunsetted\n- removed concept of packaging\n- signatory is now a required field when creating a bank account\n- bank_code is no longer an allowed field when creating a bank account\n- service_id parameter replaced by service parameter in /jobs\n- setting_id parameter replaced by setting parameter in /objects\n
\n",
@@ -14995,7 +14955,7 @@
"event": []
},
{
- "id": "02ee1323-70c7-47b5-a017-baead390b102",
+ "id": "332a445a-7dd9-444b-a5dc-6b8b0956c8af",
"name": "Webhooks",
"description": {
"content": "Webhooks are an easy way to get notifications on events happening asynchronously\nwithin Lob's architecture. For example, when a postcard gets a \"Processed For\nDelivery\" tracking event, an event object of type `postcard.processed_for_delivery`\nwill be created. If you are subscribed to that event type in that Environment\n(Test vs. Live), Lob will send that event to any URLs you've specified via an\nHTTP POST request. In Live mode, you can only have as many webhooks as allotted\nin your current Print & Mail Edition.\nThere is no limit in Test mode.\nYou can view and create webhooks on the\nLob Dashboard, as well as view your events.\nSee our Webhooks Integration Guide for more\ndetails on how to integrate. Please see the full list of event types available for\nsubscription here.\n
\n",
@@ -15005,7 +14965,7 @@
"event": []
},
{
- "id": "301fbdbe-2b4c-4284-bdf5-28612e4b0795",
+ "id": "a8326d44-fefe-488a-b638-9211282e08e7",
"name": "Zip Lookups",
"description": {
"content": "Find a list of cities, states and associated information about a US ZIP code.
Retrieves the details of an existing letter. You need only supply the unique letter identifier that was returned upon letter creation.
Authorizations:
basicAuth
path Parameters
ltr_id
required
string (ltr_id) ^ltr_[a-zA-Z0-9]+$
id of the letter
Responses
Response Schema: application/json
One of
extra_service
required
string
Enum:"certified""certified_return_receipt"
Add an extra service to your letter. See pricing for extra costs incurred.
-
-
certified - track and confirm delivery for domestic destinations. An extra sheet (1 PDF page single-sided or 2 PDF pages double-sided) is added to the beginning of your letter for address and barcode information. See here for templates: #10 envelope and flat envelope (used for letters over 6 pages single-sided or 12 pages double-sided). You will not be charged for this extra sheet.
-
certified_return_receipt - request an electronic copy of the recipient's signature to prove delivery of your certified letter
-
-
required
Array of objects (tracking_event_certified)
An array of certified tracking events ordered by ascending time. Not populated in test mode.
-
color
required
boolean (color)
Set this key to true if you would like to print in color. Set to false if you would like to print in black and white.
+
Response Schema: application/json
One of
color
required
boolean (color)
Set this key to true if you would like to print in color. Set to false if you would like to print in black and white.
required
(address_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) (address)
carrier
required
string
Default: "USPS"
Value:"USPS"
id
required
string (ltr_id) ^ltr_[a-zA-Z0-9]+$
Unique identifier prefixed with ltr_.
-
required
(address_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) (address)
tracking_number
string or null
The tracking number will be here immediately upon creation.
-Dummy tracking numbers are created in test mode.
+
required
(address_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) (address)
Array of objects (tracking_event_normal)
An array of tracking events ordered by ascending time.
+
Array of objects or null (card)
An array of cards associated with a specific letter
adr_id (string) or (inline_address ((address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (inline_address_intl ((address_editable_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_editable_intl (address obj with `name` defined (object) or address obj with `company` defined (object))))))) (return_address)
Specifies the address the return envelope will be sent back to. This is an optional argument that is available if an account is signed up for the return envelope tracking beta, and has return_envelope, and perforated_page fields populated in the API request.
description
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
@@ -3581,7 +3575,7 @@
3. Learn more
previous_url
string or null
Url of previous page of items in list.
count
integer (count)
number of resources in a set
total_count
integer
indicates the total number of records. Provided when the request specifies an "include" query parameter
-
Array of letter_base (object) or letter_base (object) or letter_base (object) (letter)
list of letters
+
Array of regular (object) or registered (object) or certified (object) (letter)
list of letters
production
https://api.lob.com/v1/letters
Request samples
CURL
TYPESCRIPT
NODE
RUBY
PYTHON
PHP
JAVA
ELIXIR
curl -X GET "https://api.lob.com/v1/letters?limit=2"\
@@ -3638,16 +3632,10 @@
3. Learn more
Response Headers
ratelimit-limit
integer
Example: 150
The rate limit for a given endpoint.
ratelimit-remaining
integer
Example: 100
The number of requests remaining in the current window.
Add an extra service to your letter. See pricing for extra costs incurred.
-
-
certified - track and confirm delivery for domestic destinations. An extra sheet (1 PDF page single-sided or 2 PDF pages double-sided) is added to the beginning of your letter for address and barcode information. See here for templates: #10 envelope and flat envelope (used for letters over 6 pages single-sided or 12 pages double-sided). You will not be charged for this extra sheet.
-
certified_return_receipt - request an electronic copy of the recipient's signature to prove delivery of your certified letter
-
-
required
Array of objects (tracking_event_certified)
An array of certified tracking events ordered by ascending time. Not populated in test mode.
-
color
required
boolean (color)
Set this key to true if you would like to print in color. Set to false if you would like to print in black and white.
+
Response Schema: application/json
One of
color
required
boolean (color)
Set this key to true if you would like to print in color. Set to false if you would like to print in black and white.
required
(address_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) (address)
carrier
required
string
Default: "USPS"
Value:"USPS"
id
required
string (ltr_id) ^ltr_[a-zA-Z0-9]+$
Unique identifier prefixed with ltr_.
-
required
(address_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) (address)
tracking_number
string or null
The tracking number will be here immediately upon creation.
-Dummy tracking numbers are created in test mode.
+
required
(address_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) (address)
Array of objects (tracking_event_normal)
An array of tracking events ordered by ascending time.
+
Array of objects or null (card)
An array of cards associated with a specific letter
adr_id (string) or (inline_address ((address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) or (inline_address_intl ((address_editable_intl (address obj with `name` defined (object) or address obj with `company` defined (object))) or (address_editable_intl (address obj with `name` defined (object) or address obj with `company` defined (object))))))) (return_address)
Specifies the address the return envelope will be sent back to. This is an optional argument that is available if an account is signed up for the return envelope tracking beta, and has return_envelope, and perforated_page fields populated in the API request.
description
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
@@ -5900,7 +5888,7 @@
Certified Tracking Event Details
production
https://api.lob.com/v1/campaigns
Request samples
CURL
curl https://api.lob.com/v1/campaigns \
-u <YOUR API KEY>:
-
Response samples
200
Content type
application/json
{
"data": [
{
"id": "cmp_e05ee61ff80764b",
"account_id": "fa9ea650fc7b31a89f92",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"send_date": null,
"target_delivery_date": null,
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
],
"object": "list",
"previous_url": null,
"next_url": null,
"count": 1
}
Create
Creates a new campaign with the provided properties. See how to launch your first campaign here.
+
Response samples
200
Content type
application/json
{
"data": [
{
"id": "cmp_e05ee61ff80764b",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"send_date": null,
"target_delivery_date": null,
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
],
"object": "list",
"previous_url": null,
"next_url": null,
"count": 1
}
Create
Creates a new campaign with the provided properties. See how to launch your first campaign here.
Authorizations:
basicAuth
header Parameters
x-lang-output
string
Enum:"native""match"
native - Translate response to the native language of the country in the request
match - match the response to the language in the request
@@ -5923,7 +5911,6 @@
Certified Tracking Event Details
name
required
string
Name of the campaign.
schedule_type
required
string (cmp_schedule_type)
Value:"immediate"
How the campaign should be scheduled. Only value available today is immediate.
id
required
string (Campaign id) ^cmp_[a-zA-Z0-9]+$
Unique identifier prefixed with cmp_.
-
account_id
required
string
Account ID that this campaign is associated with.
description
required
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
use_type
required
string or null (cmp_use_type)
Enum:"marketing""operational"null
The usage type of this campaign. Can be one of marketing or operational.
is_draft
required
boolean
Default: true
Whether or not the campaign is still a draft.
@@ -5937,7 +5924,7 @@
Certified Tracking Event Details
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
production
-
https://api.lob.com/v1/campaigns
Request samples
Payload
CURL
Content type
{
"name": "My Demo Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate"
}
Response samples
200
default
Content type
application/json
{
"id": "cmp_e05ee61ff80764b",
"account_id": "fa9ea650fc7b31a89f92",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
Retrieve
Retrieves the details of an existing campaign. You need only supply the unique campaign identifier that was returned upon campaign creation.
+
https://api.lob.com/v1/campaigns
Request samples
Payload
CURL
Content type
{
"name": "My Demo Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate"
}
Response samples
200
default
Content type
application/json
{
"id": "cmp_e05ee61ff80764b",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
Retrieve
Retrieves the details of an existing campaign. You need only supply the unique campaign identifier that was returned upon campaign creation.
Authorizations:
basicAuth
path Parameters
cmp_id
required
string (Campaign id) ^cmp_[a-zA-Z0-9]+$
id of the campaign
Responses
Response Schema: application/json
date_created
required
string <date-time> (date_created)
A timestamp in ISO 8601 format of the date the resource was created.
@@ -5946,7 +5933,6 @@
Certified Tracking Event Details
name
required
string
Name of the campaign.
schedule_type
required
string (cmp_schedule_type)
Value:"immediate"
How the campaign should be scheduled. Only value available today is immediate.
id
required
string (Campaign id) ^cmp_[a-zA-Z0-9]+$
Unique identifier prefixed with cmp_.
-
account_id
required
string
Account ID that this campaign is associated with.
description
required
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
use_type
required
string or null (cmp_use_type)
Enum:"marketing""operational"null
The usage type of this campaign. Can be one of marketing or operational.
is_draft
required
boolean
Default: true
Whether or not the campaign is still a draft.
@@ -5962,7 +5948,7 @@
Certified Tracking Event Details
production
https://api.lob.com/v1/campaigns/{cmp_id}
Request samples
CURL
curl https://api.lob.com/v1/campaigns/cmp_e05ee61ff80764b \
-u <YOUR API KEY>:
-
Response samples
200
default
Content type
application/json
{
"id": "cmp_e05ee61ff80764b",
"account_id": "fa9ea650fc7b31a89f92",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
Update
Update the details of an existing campaign. You need only supply the unique identifier that was returned upon campaign creation.
+
Response samples
200
default
Content type
application/json
{
"id": "cmp_e05ee61ff80764b",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
Update
Update the details of an existing campaign. You need only supply the unique identifier that was returned upon campaign creation.
Authorizations:
basicAuth
path Parameters
cmp_id
required
string (Campaign id) ^cmp_[a-zA-Z0-9]+$
id of the campaign
Request Body schema:
name
string (Name)
description
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
schedule_type
string (cmp_schedule_type)
Value:"immediate"
How the campaign should be scheduled. Only value available today is immediate.
@@ -5980,7 +5966,6 @@
Certified Tracking Event Details
name
required
string
Name of the campaign.
schedule_type
required
string (cmp_schedule_type)
Value:"immediate"
How the campaign should be scheduled. Only value available today is immediate.
id
required
string (Campaign id) ^cmp_[a-zA-Z0-9]+$
Unique identifier prefixed with cmp_.
-
account_id
required
string
Account ID that this campaign is associated with.
description
required
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
use_type
required
string or null (cmp_use_type)
Enum:"marketing""operational"null
The usage type of this campaign. Can be one of marketing or operational.
is_draft
required
boolean
Default: true
Whether or not the campaign is still a draft.
@@ -5994,7 +5979,7 @@
Certified Tracking Event Details
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
production
-
https://api.lob.com/v1/campaigns/{cmp_id}
Request samples
Payload
CURL
Content type
{
"description": "Test campaign"
}
Response samples
200
default
Content type
application/json
{
"id": "cmp_e05ee61ff80764b",
"account_id": "fa9ea650fc7b31a89f92",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
Delete
Delete an existing campaign. You need only supply the unique identifier that was returned upon campaign creation. Deleting a campaign also deletes any associated mail pieces that have been created but not sent. A campaign's send_date matches its associated mail pieces' send_dates.
+
https://api.lob.com/v1/campaigns/{cmp_id}
Request samples
Payload
CURL
Content type
{
"description": "Test campaign"
}
Response samples
200
default
Content type
application/json
{
"id": "cmp_e05ee61ff80764b",
"billing_group_id": "bg_fe3079dcdd80e5ae",
"name": "My Campaign",
"description": "My Campaign's description",
"schedule_type": "immediate",
"cancel_window_campaign_minutes": 60,
"metadata": { },
"use_type": "marketing",
"is_draft": true,
"deleted": false,
"creatives": [ ],
"auto_cancel_if_ncoa": false,
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "campaign"
}
Delete
Delete an existing campaign. You need only supply the unique identifier that was returned upon campaign creation. Deleting a campaign also deletes any associated mail pieces that have been created but not sent. A campaign's send_date matches its associated mail pieces' send_dates.
Properties that the postcards in your Creative should have.
adr_id (string) or (address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) (From)
Must either be an address ID or an inline object with correct address parameters. All addresses will be standardized into uppercase without being modified by verification.
description
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
Properties that the postcards in your Creative should have.
date_created
required
string <date-time> (date_created)
A timestamp in ISO 8601 format of the date the resource was created.
date_modified
required
string <date-time> (date_modified)
A timestamp in ISO 8601 format of the date the resource was last modified.
object
required
string
Default: "creative"
Value:"creative"
Value is resource type.
id
required
string (crv_id) ^crv_[a-zA-Z0-9]+$
Unique identifier prefixed with crv_.
-
account_id
required
string (Account ID)
Account ID that made the request
description
required
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
required
adr_id (string) or (address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) (From)
Must either be an address ID or an inline object with correct address parameters. All addresses will be standardized into uppercase without being modified by verification.
required
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
@@ -6076,7 +6059,7 @@
Certified Tracking Event Details
deleted
boolean (deleted)
Only returned if the resource has been successfully deleted.
production
-
https://api.lob.com/v1/creatives
Request samples
Payload
Shell
Content type
{
"campaign_id": "cmp_e05ee61ff80764b",
"resource_type": "postcard",
"description": "Our 4x6 postcard creative",
"details": { }
}
Response samples
200
default
Content type
application/json
{
"id": "crv_2a3b096c409b32c",
"account_id": "fa9ea650fc7b31a89f92",
"description": "Our 4x6 postcard creative",
"from": "adr_210a8d4b0b76d77b",
"resource_type": "postcard",
"details": { },
"metadata": { },
"template_preview_urls": { },
"template_previews": [ ],
"campaigns": [ ],
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "creative"
}
Retrieve
Retrieves the details of an existing creative. You need only supply the unique creative identifier that was returned upon creative creation.
+
https://api.lob.com/v1/creatives
Request samples
Payload
Shell
Content type
{
"campaign_id": "cmp_e05ee61ff80764b",
"resource_type": "postcard",
"description": "Our 4x6 postcard creative",
"details": { }
}
Response samples
200
default
Content type
application/json
{
"id": "crv_2a3b096c409b32c",
"description": "Our 4x6 postcard creative",
"from": "adr_210a8d4b0b76d77b",
"resource_type": "postcard",
"details": { },
"metadata": { },
"template_preview_urls": { },
"template_previews": [ ],
"campaigns": [ ],
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "creative"
}
Retrieve
Retrieves the details of an existing creative. You need only supply the unique creative identifier that was returned upon creative creation.
Authorizations:
basicAuth
path Parameters
crv_id
required
string (crv_id) ^crv_[a-zA-Z0-9]+$
Example: crv_2a3b096c409b32c
id of the creative
Responses
Response Schema: application/json
One of
required
html_string (string) or tmpl_id (string) or remote_file_url (string) or local_file_path (string) (front)
Properties that the postcards in your Creative should have.
date_created
required
string <date-time> (date_created)
A timestamp in ISO 8601 format of the date the resource was created.
date_modified
required
string <date-time> (date_modified)
A timestamp in ISO 8601 format of the date the resource was last modified.
object
required
string
Default: "creative"
Value:"creative"
Value is resource type.
id
required
string (crv_id) ^crv_[a-zA-Z0-9]+$
Unique identifier prefixed with crv_.
-
account_id
required
string (Account ID)
Account ID that made the request
description
required
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
required
adr_id (string) or (address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) (From)
Must either be an address ID or an inline object with correct address parameters. All addresses will be standardized into uppercase without being modified by verification.
required
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
@@ -6118,7 +6099,7 @@
Certified Tracking Event Details
production
https://api.lob.com/v1/creatives/{crv_id}
Request samples
CURL
curl https://api.lob.com/v1/creatives/crv_2a3b096c409b32c \
-u <YOUR API KEY>:
-
Response samples
200
default
Content type
application/json
{
"id": "crv_2a3b096c409b32c",
"account_id": "fa9ea650fc7b31a89f92",
"description": "Our 4x6 postcard creative",
"from": "adr_210a8d4b0b76d77b",
"resource_type": "postcard",
"details": { },
"metadata": { },
"template_preview_urls": { },
"template_previews": [ ],
"campaigns": [ ],
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "creative"
}
Update
Update the details of an existing creative. You need only supply the unique identifier that was returned upon creative creation.
+
Response samples
200
default
Content type
application/json
{
"id": "crv_2a3b096c409b32c",
"description": "Our 4x6 postcard creative",
"from": "adr_210a8d4b0b76d77b",
"resource_type": "postcard",
"details": { },
"metadata": { },
"template_preview_urls": { },
"template_previews": [ ],
"campaigns": [ ],
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "creative"
}
Update
Update the details of an existing creative. You need only supply the unique identifier that was returned upon creative creation.
Authorizations:
basicAuth
path Parameters
crv_id
required
string (crv_id) ^crv_[a-zA-Z0-9]+$
Example: crv_2a3b096c409b32c
id of the creative
Request Body schema:
adr_id (string) or (address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) (From)
Must either be an address ID or an inline object with correct address parameters. All addresses will be standardized into uppercase without being modified by verification.
description
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
Properties that the postcards in your Creative should have.
date_created
required
string <date-time> (date_created)
A timestamp in ISO 8601 format of the date the resource was created.
date_modified
required
string <date-time> (date_modified)
A timestamp in ISO 8601 format of the date the resource was last modified.
object
required
string
Default: "creative"
Value:"creative"
Value is resource type.
id
required
string (crv_id) ^crv_[a-zA-Z0-9]+$
Unique identifier prefixed with crv_.
-
account_id
required
string (Account ID)
Account ID that made the request
description
required
string or null (resource_description) <= 255 characters
An internal description that identifies this resource. Must be no longer than 255 characters.
required
adr_id (string) or (address_editable_us (address obj with `name` defined (object) or address obj with `company` defined (object))) (From)
Must either be an address ID or an inline object with correct address parameters. All addresses will be standardized into uppercase without being modified by verification.
required
object (metadata) <= 500 characters [^"\\]{0,500}
Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters " and \. i.e. '{"customer_id" : "NEWYORK2015"}' Nested objects are not supported. See Metadata for more information.
@@ -6161,7 +6140,7 @@
Certified Tracking Event Details
deleted
boolean (deleted)
Only returned if the resource has been successfully deleted.
production
-
https://api.lob.com/v1/creatives/{crv_id}
Request samples
Payload
CURL
Content type
{
"description": "Test creative"
}
Response samples
200
default
Content type
application/json
{
"id": "crv_2a3b096c409b32c",
"account_id": "fa9ea650fc7b31a89f92",
"description": "Our 4x6 postcard creative",
"from": "adr_210a8d4b0b76d77b",
"resource_type": "postcard",
"details": { },
"metadata": { },
"template_preview_urls": { },
"template_previews": [ ],
"campaigns": [ ],
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "creative"
}
Uploads
The uploads endpoint allows you to upload audience files that are then associated with a given campaign.
+
https://api.lob.com/v1/creatives/{crv_id}
Request samples
Payload
CURL
Content type
{
"description": "Test creative"
}
Response samples
200
default
Content type
application/json
{
"id": "crv_2a3b096c409b32c",
"description": "Our 4x6 postcard creative",
"from": "adr_210a8d4b0b76d77b",
"resource_type": "postcard",
"details": { },
"metadata": { },
"template_preview_urls": { },
"template_previews": [ ],
"campaigns": [ ],
"date_created": "2017-09-05T17:47:53.767Z",
"date_modified": "2017-09-05T17:47:53.767Z",
"object": "creative"
}
Uploads
The uploads endpoint allows you to upload audience files that are then associated with a given campaign.
At this time, only CSV files are allowed. The API provides endpoints for creating uploads, uploading audience files,
and marking uploaded files as ready for processing. The API also provides endpoints for downloading files that
describe the results, both successful and not, of the processing.