# Lob API

> Lob API on Apizie: 105 endpoints (Get Lob Credits Balance, List, Create, Retrieve, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/business:lob/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:lob`
- Category: Business
- Status: byok
- Source: https://support.lob.com/
- Page: https://apizie.tech/api/business/lob
- OpenAPI: https://apizie.tech/api/business/lob/openapi.json

The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors.

## Endpoints

### Get Lob Credits Balance
`GET https://apizie.tech/v1/business:lob/get-lob-credits-balance` (byok)

### List
`GET https://apizie.tech/v1/business:lob/addresses-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |

### Create
`POST https://apizie.tech/v1/business:lob/address-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/address-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| adr_id | string | yes | id of the address |

### Delete
`POST https://apizie.tech/v1/business:lob/address-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| adr_id | string | yes | id of the address |

### Verify
`POST https://apizie.tech/v1/business:lob/bank-account-verify` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| bank_id | string | yes | id of the bank account to be verified |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/bank-account-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| bank_id | string | yes | id of the bank account |

### Delete
`POST https://apizie.tech/v1/business:lob/bank-account-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| bank_id | string | yes | id of the bank account |

### List
`GET https://apizie.tech/v1/business:lob/bank-accounts-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |

### Create
`POST https://apizie.tech/v1/business:lob/bank-account-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/billing-group-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| bg_id | string | yes | id of the billing_group |

### Update
`POST https://apizie.tech/v1/business:lob/billing-group-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| bg_id | string | yes | id of the billing_group |
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/billing-groups-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| offset | integer | no | An integer that designates the offset at which to begin returning results. Defaults to 0. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| date_modified | object | no | Filter by date modified. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `date_modified`, not both. |

### Create
`POST https://apizie.tech/v1/business:lob/billing-group-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/booklet-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| booklet_id | string | yes | id of the booklet |

### Delete
`POST https://apizie.tech/v1/business:lob/booklet-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| booklet_id | string | yes | id of the booklet |

### List
`GET https://apizie.tech/v1/business:lob/booklets-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |
| send_date | string | no | Filter by ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where `gt` is >, `lt` is <, `gte` is ≥,… |
| mail_type | string | no | A string designating the mail postage type: * `usps_first_class` - (default) * `usps_standard` - a cheaper option which is less… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both. |
| campaign_id | string | no | Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size… |
| status | string | no | A string describing the render status: * `processed` - the rendering process is currently underway. * `rendered` - the rendering process… |

### Create
`POST https://apizie.tech/v1/business:lob/booklet-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| idempotency_key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/buckslips-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |

### Create
`POST https://apizie.tech/v1/business:lob/buckslip-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/buckslip-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| buckslip_id | string | yes | id of the buckslip |

### Update
`POST https://apizie.tech/v1/business:lob/buckslip-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| buckslip_id | string | yes | id of the buckslip |
| body | object | yes | JSON request body |

### Delete
`POST https://apizie.tech/v1/business:lob/buckslip-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| buckslip_id | string | yes | id of the buckslip |

### Retrieve
`GET https://apizie.tech/v1/business:lob/buckslip-orders-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| buckslip_id | string | yes | The ID of the buckslip to which the buckslip orders belong. |
| limit | integer | no | How many results to return. |
| offset | integer | no | An integer that designates the offset at which to begin returning results. Defaults to 0. |

### Create
`POST https://apizie.tech/v1/business:lob/buckslip-order-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| buckslip_id | string | yes | The ID of the buckslip to which the buckslip orders belong. |
| body | object | yes | JSON request body |

### Bulk Verify
`POST https://apizie.tech/v1/business:lob/bulk-us-verifications` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| case | string | no | Casing of the verified address. Possible values are `upper` and `proper` for uppercased (e.g. "PO BOX") and proper-cased (e.g. "PO Box"),… |
| body | object | yes | JSON request body |

### Bulk Verify
`POST https://apizie.tech/v1/business:lob/bulk-intl-verifications` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/campaigns-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |

### Create
`POST https://apizie.tech/v1/business:lob/campaign-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| x-lang-output | string | no | * `native` - Translate response to the native language of the country in the request * `match` - match the response to the language in the… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/campaign-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cmp_id | string | yes | id of the campaign |

### Update
`POST https://apizie.tech/v1/business:lob/campaign-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cmp_id | string | yes | id of the campaign |
| body | object | yes | JSON request body |

### Delete
`POST https://apizie.tech/v1/business:lob/campaign-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cmp_id | string | yes | id of the campaign |

### Send Campaign
`POST https://apizie.tech/v1/business:lob/campaign-send` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| cmp_id | string | yes | id of the campaign |

### List
`GET https://apizie.tech/v1/business:lob/cards-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |

### Create
`POST https://apizie.tech/v1/business:lob/card-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/card-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| card_id | string | yes | id of the card |

### Update
`POST https://apizie.tech/v1/business:lob/card-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| card_id | string | yes | id of the card |
| body | object | yes | JSON request body |

### Delete
`POST https://apizie.tech/v1/business:lob/card-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| card_id | string | yes | id of the card |

### Retrieve
`GET https://apizie.tech/v1/business:lob/card-orders-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| card_id | string | yes | The ID of the card to which the card orders belong. |
| limit | integer | no | How many results to return. |
| offset | integer | no | An integer that designates the offset at which to begin returning results. Defaults to 0. |

### Create
`POST https://apizie.tech/v1/business:lob/card-order-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| card_id | string | yes | The ID of the card to which the card orders belong. |
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/checks-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |
| scheduled | boolean | no | * `true` - only return orders (past or future) where `send_date` is greater than `date_created` * `false` - only return orders where… |
| send_date | string | no | Filter by ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where `gt` is >, `lt` is <, `gte` is ≥,… |
| mail_type | string | no | A string designating the mail postage type: * `usps_first_class` - (default) * `usps_standard` - a cheaper option which is less… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both. |
| status | string | no | A string describing the render status: * `processed` - the rendering process is currently underway. * `rendered` - the rendering process… |

### Create
`POST https://apizie.tech/v1/business:lob/check-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| idempotency_key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/check-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chk_id | string | yes | id of the check |

### Cancel
`POST https://apizie.tech/v1/business:lob/check-cancel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| chk_id | string | yes | id of the check |

### Create
`POST https://apizie.tech/v1/business:lob/creative-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| x-lang-output | string | no | * `native` - Translate response to the native language of the country in the request * `match` - match the response to the language in the… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/creative-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| crv_id | string | yes | id of the creative |

### Update
`POST https://apizie.tech/v1/business:lob/creative-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| crv_id | string | yes | id of the creative |
| body | object | yes | JSON request body |

### Identity Validation
`POST https://apizie.tech/v1/business:lob/identity-validation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/informed-delivery-campaign-list` (byok)

### Create
`POST https://apizie.tech/v1/business:lob/informed-delivery-campaign-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Retrieve
`GET https://apizie.tech/v1/business:lob/informed-delivery-campaign-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| usps_campaign_id | string | yes | usps_campaign_id of the Informed Delivery campaign |

### Update
`POST https://apizie.tech/v1/business:lob/informed-delivery-campaign-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| usps_campaign_id | string | yes | usps_campaign_id of the Informed Delivery campaign |
| body | object | yes | Form fields as a JSON object |

### Single Verify
`POST https://apizie.tech/v1/business:lob/intl-verification` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| x-lang-output | string | no | * `native` - Translate response to the native language of the country in the request * `match` - match the response to the language in the… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/letter-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ltr_id | string | yes | id of the letter |

### Cancel
`POST https://apizie.tech/v1/business:lob/letter-cancel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ltr_id | string | yes | id of the letter |

### List
`GET https://apizie.tech/v1/business:lob/letters-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |
| campaign_id | string | no | Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size… |
| status | string | no | A string describing the render status: * `processed` - the rendering process is currently underway. * `rendered` - the rendering process… |
| color | boolean | no | Set to `true` to return only color letters. Set to `false` to return only black & white letters. |
| scheduled | boolean | no | * `true` - only return orders (past or future) where `send_date` is greater than `date_created` * `false` - only return orders where… |
| send_date | string | no | Filter by ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where `gt` is >, `lt` is <, `gte` is ≥,… |
| mail_type | string | no | A string designating the mail postage type: * `usps_first_class` - (default) * `usps_standard` - a cheaper option which is less… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both. |

### Create
`POST https://apizie.tech/v1/business:lob/letter-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| idempotency_key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| Lob-Version | string | no | A string representing the version of the API being used. Specifically for letters, if this header is set to `2024-01-01` and above, the… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/postcard-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| psc_id | string | yes | id of the postcard |

### Cancel
`POST https://apizie.tech/v1/business:lob/postcard-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| psc_id | string | yes | id of the postcard |

### List
`GET https://apizie.tech/v1/business:lob/postcards-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |
| campaign_id | string | no | Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size… |
| status | string | no | A string describing the render status: * `processed` - the rendering process is currently underway. * `rendered` - the rendering process… |
| size | array | no | Specifies the size of the postcard. Only `4x6` postcards can be sent to international destinations. |
| scheduled | boolean | no | * `true` - only return orders (past or future) where `send_date` is greater than `date_created` * `false` - only return orders where… |
| send_date | string | no | Filter by ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where `gt` is >, `lt` is <, `gte` is ≥,… |
| mail_type | string | no | A string designating the mail postage type: * `usps_first_class` - (default) * `usps_standard` - a cheaper option which is less… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both. |

### Create
`POST https://apizie.tech/v1/business:lob/postcard-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| idempotency_key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/qr-codes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| offset | integer | no | An integer that designates the offset at which to begin returning results. Defaults to 0. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| scanned | boolean | no | Filter list of responses to only include QR codes with at least one scan event. |
| resource_ids | array | no | Filter by the resource ID. |

### Retrieve a domain
`GET https://apizie.tech/v1/business:lob/domain-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domain_id | string | yes | Unique identifier for a domain. |

### Delete a Domain
`POST https://apizie.tech/v1/business:lob/domain-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| domain_id | string | yes | Unique identifier for a domain. |

### List all domains
`GET https://apizie.tech/v1/business:lob/domain-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| status | string | no | Filter domains by their configuration status. |

### Create Domain
`POST https://apizie.tech/v1/business:lob/domain-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve a link
`GET https://apizie.tech/v1/business:lob/links-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| link_id | string | yes | Unique identifier for a link. |

### Update a Link
`POST https://apizie.tech/v1/business:lob/link-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| link_id | string | yes | Unique identifier for a link. |
| body | object | yes | JSON request body |

### Delete Link
`POST https://apizie.tech/v1/business:lob/links-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| link_id | string | yes | Unique identifier for a link. |

### List all links
`GET https://apizie.tech/v1/business:lob/links-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| campaign_id | string | no | Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size… |
| domain_id | string | no | Filters links by the provided domain id. |

### Create Link
`POST https://apizie.tech/v1/business:lob/link-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/resource-proof-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| res_prf_id | string | yes | id of the resource proof |

### Update
`POST https://apizie.tech/v1/business:lob/resource-proof-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| res_prf_id | string | yes | id of the resource proof |
| body | object | yes | JSON request body |

### Create
`POST https://apizie.tech/v1/business:lob/resource-proof-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/self-mailer-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sfm_id | string | yes | id of the self_mailer |

### Delete
`POST https://apizie.tech/v1/business:lob/self-mailer-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sfm_id | string | yes | id of the self_mailer |

### List
`GET https://apizie.tech/v1/business:lob/self-mailers-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |
| size | array | no | The self mailer sizes to be returned. |
| scheduled | boolean | no | * `true` - only return orders (past or future) where `send_date` is greater than `date_created` * `false` - only return orders where… |
| send_date | string | no | Filter by ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where `gt` is >, `lt` is <, `gte` is ≥,… |
| mail_type | string | no | A string designating the mail postage type: * `usps_first_class` - (default) * `usps_standard` - a cheaper option which is less… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both. |
| campaign_id | string | no | Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size… |
| status | string | no | A string describing the render status: * `processed` - the rendering process is currently underway. * `rendered` - the rendering process… |

### Create
`POST https://apizie.tech/v1/business:lob/self-mailer-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| idempotency_key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/snap-pack-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| snap_pack_id | string | yes | id of the snap_pack |

### Delete
`POST https://apizie.tech/v1/business:lob/snap-pack-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| snap_pack_id | string | yes | id of the snap_pack |

### List
`GET https://apizie.tech/v1/business:lob/snap-packs-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |
| send_date | string | no | Filter by ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where `gt` is >, `lt` is <, `gte` is ≥,… |
| mail_type | string | no | A string designating the mail postage type: * `usps_first_class` - (default) * `usps_standard` - a cheaper option which is less… |
| sort_by | string | no | Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both. |
| campaign_id | string | no | Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size… |
| status | string | no | A string describing the render status: * `processed` - the rendering process is currently underway. * `rendered` - the rendering process… |

### Create
`POST https://apizie.tech/v1/business:lob/snap-pack-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| Idempotency-Key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| idempotency_key | string | no | A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our… |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/template-version-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | The ID of the template to which the version belongs. |
| vrsn_id | string | yes | id of the template_version |

### Update
`POST https://apizie.tech/v1/business:lob/template-version-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | The ID of the template to which the version belongs. |
| vrsn_id | string | yes | id of the template_version |
| body | object | yes | JSON request body |

### Delete
`POST https://apizie.tech/v1/business:lob/template-version-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | The ID of the template to which the version belongs. |
| vrsn_id | string | yes | id of the template_version |

### List
`GET https://apizie.tech/v1/business:lob/template-versions-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | The ID of the template associated with the retrieved versions |
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |

### Create
`POST https://apizie.tech/v1/business:lob/create-template-version` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | The ID of the template the new version will be attached to |
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/template-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | id of the template |

### Update
`POST https://apizie.tech/v1/business:lob/template-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | id of the template |
| body | object | yes | JSON request body |

### Delete
`POST https://apizie.tech/v1/business:lob/template-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tmpl_id | string | yes | id of the template |

### List
`GET https://apizie.tech/v1/business:lob/templates-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | How many results to return. |
| before/after | string | no | `before` and `after` are both optional but only one of them can be in the query at a time. |
| include | array | no | Request that the response include the total count by specifying `include=["total_count"]`. |
| date_created | object | no | Filter by date created. Accepted formats are ISO-8601 date or datetime, e.g. `{ "gt": "2012-01-01", "lt": "2012-01-31T12:34:56Z" }` where… |
| metadata | object | no | Filter by metadata key-value pair`. |

### Create
`POST https://apizie.tech/v1/business:lob/create-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List
`GET https://apizie.tech/v1/business:lob/uploads-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| campaignId | string | no | id of the campaign |

### Create
`POST https://apizie.tech/v1/business:lob/upload-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve
`GET https://apizie.tech/v1/business:lob/upload-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | id of the upload |

### Update
`POST https://apizie.tech/v1/business:lob/upload-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | id of the upload |
| body | object | yes | JSON request body |

### Delete
`POST https://apizie.tech/v1/business:lob/upload-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | id of the upload |

### Upload file
`POST https://apizie.tech/v1/business:lob/upload-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | ID of the upload |
| body | object | yes | Form fields as a JSON object |

### Create Export
`POST https://apizie.tech/v1/business:lob/upload-export-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | ID of the upload |
| body | object | yes | JSON request body |

### Retrieve Line Item Report
`GET https://apizie.tech/v1/business:lob/report-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | ID of the upload |
| status | string | no | The status of line items to filter and retrieve. By default all line items are returned. |
| limit | integer | no | How many results to return. |
| offset | integer | no | An integer that designates the offset at which to begin returning results. Defaults to 0. |

### Retrieve Export
`GET https://apizie.tech/v1/business:lob/export-retrieve` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| upl_id | string | yes | ID of the upload |
| ex_id | string | yes | ID of the export |

### Autocomplete
`POST https://apizie.tech/v1/business:lob/autocompletion` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| case | string | no | Casing of the verified address. Possible values are `upper` and `proper` for uppercased (e.g. "PO BOX") and proper-cased (e.g. "PO Box"),… |
| valid_addresses | boolean | no | Possible values are `true` and `false`. If false, not all of the suggestions in the response will be valid addresses; they'll need to be… |
| body | object | yes | JSON request body |

### Reverse Geocode Lookup
`POST https://apizie.tech/v1/business:lob/reverse-geocode-lookup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| size | integer | no | Determines the number of locations returned. Possible values are between 1 and 50 and any number higher will be rounded down to 50.… |
| body | object | yes | JSON request body |

### Single Verify
`POST https://apizie.tech/v1/business:lob/us-verification` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| case | string | no | Casing of the verified address. Possible values are `upper` and `proper` for uppercased (e.g. "PO BOX") and proper-cased (e.g. "PO Box"),… |
| body | object | yes | JSON request body |

### Lookups
`POST https://apizie.tech/v1/business:lob/zip-lookup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

## Example
```
curl "https://apizie.tech/v1/business:lob/get-lob-credits-balance" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Lob API?
Create a free Apizie key, then send GET https://apizie.tech/v1/business:lob/get-lob-credits-balance with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Lob API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Lob itself also needs your own key from lob.

### Can AI agents use the Lob API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:lob.

### What is the status of the Lob API?
Needs your own provider key (bring your own key)
