Lob Crv_id API
The Crv_id API from Lob — 1 operation(s) for crv_id.
The Crv_id API from Lob — 1 operation(s) for crv_id.
openapi: 3.0.3
info:
title: Lob Crv_id API
version: 1.20.2
description: "Experience direct mail like never before, with unmatched personalization and scalability \x14 all in one intuitive platform."
license:
name: MIT
url: https://mit-license.org/
contact:
name: Lob Developer Experience
url: https://support.lob.com/
email: lob-openapi@lob.com
termsOfService: https://www.lob.com/legal
servers:
- url: https://api.lob.com/v1
description: production
security:
- basicAuth: []
tags:
- name: Crv_id
paths:
/creatives/{crv_id}:
parameters:
- in: path
name: crv_id
description: id of the creative
required: true
schema:
$ref: '#/components/schemas/crv_id'
get:
operationId: creative_retrieve
summary: Retrieve
description: Retrieves the details of an existing creative. You need only supply the unique creative identifier that was returned upon creative creation.
tags:
- Crv_id
responses:
'200':
description: Returns a creative object
content:
application/json:
schema:
$ref: '#/components/schemas/creative'
example:
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
default:
$ref: '#/components/responses/creatives_error'
x-codeSamples:
- lang: Shell
source: "curl https://api.lob.com/v1/creatives/crv_2a3b096c409b32c \\\n -u <YOUR API KEY>:\n"
label: CURL
- lang: Ruby
source: "creativeApi = CreativesApi.new(config)\n\nbegin\n retrievedCreative = creativeApi.get(\"crv_2a3b096c409b32c\")\nrescue => err\n p err.message\nend\n"
label: RUBY
patch:
operationId: creative_update
summary: Update
description: Update the details of an existing creative. You need only supply the unique identifier that was returned upon creative creation.
tags:
- Crv_id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/creative_base'
example:
description: Test creative
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/creative_base'
example:
description: Test creative
multipart/form-data:
schema:
$ref: '#/components/schemas/creative_base'
example:
description: Test creative
responses:
'200':
description: Returns a creative object
content:
application/json:
schema:
$ref: '#/components/schemas/creative'
example:
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
default:
$ref: '#/components/responses/creatives_error'
x-codeSamples:
- lang: Shell
source: "curl -X PATCH https://api.lob.com/v1/creatives/crv_2a3b096c409b32c \\\n -u <YOUR API KEY>: \\\n -d \"description=Our updated 4x6 postcard creative\"\n"
label: CURL
- lang: Python
source: "creative_patch = CreativePatch(\n description = \"Our updated 4x6 postcard creative\",\n)\n\nwith ApiClient(configuration) as api_client:\n api = CreativesApi(api_client)\n\ntry:\n updated_creative = api.update(\"crv_2a3b096c409b32c\", creative_patch)\nexcept ApiException as e:\n print(e)\n"
label: PYTHON
- lang: Ruby
source: "creativePatch = CreativePatch.new({\n description: \"Our updated 4x6 postcard creative\",\n})\n\ncreativeApi = CreativesApi.new(config)\n\nbegin\n updatedCreative = creativeApi.update(\"crv_2a3b096c409b32c\", creativePatch)\nrescue => err\n p err.message\nend\n"
label: RUBY
components:
schemas:
date_created:
type: string
format: date-time
description: A timestamp in ISO 8601 format of the date the resource was created.
custom_envelope_returned:
type: object
description: A nested custom envelope object containing more information about the custom envelope used or `null` if a custom envelope was not used.
required:
- id
- url
- object
properties:
id:
type: string
description: The unique identifier of the custom envelope used.
maxLength: 40
url:
type: string
description: The url of the envelope asset used.
object:
type: string
enum:
- envelope
default: envelope
nullable: true
adr_id:
type: string
description: Unique identifier prefixed with `adr_`.
pattern: ^adr_[a-zA-Z0-9]+$
error:
type: object
description: Lob uses RESTful HTTP response codes to indicate success or failure of an API request. In general, 2xx indicates success, 4xx indicate an input error, and 5xx indicates an error on Lob's end.
required:
- error
properties:
error:
type: object
required:
- message
- status_code
- code
properties:
message:
type: string
description: A human-readable message with more details about the error
example: Rate limit exceeded. Please wait 5 seconds and try your request again.
status_code:
$ref: '#/components/schemas/failure_status_code'
code:
type: string
enum:
- bad_request
- conflict
- feature_limit_reached
- internal_server_error
- invalid
- not_deletable
- not_found
- request_timeout
- service_unavailable
- unrecognized_endpoint
- unsupported_lob_version
- address_length_exceeds_limit
- bank_account_already_verified
- bank_error
- billing_address_required
- custom_envelope_inventory_depleted
- deleted_bank_account
- failed_deliverability_strictness
- file_pages_below_min
- file_pages_exceed_max
- file_size_exceeds_limit
- foreign_return_address
- inconsistent_page_dimensions
- invalid_bank_account
- invalid_bank_account_verification
- invalid_check_international
- invalid_country_covid
- invalid_file
- invalid_file_dimensions
- invalid_file_download_time
- invalid_file_url
- invalid_image_dpi
- invalid_international_feature
- invalid_perforation_return_envelope
- invalid_template_html
- mail_use_type_can_not_be_null
- merge_variable_required
- merge_variable_whitespace
- payment_method_unverified
- pdf_encrypted
- special_characters_restricted
- unembedded_fonts
- email_required
- invalid_api_key
- publishable_key_not_allowed
- rate_limit_exceeded
- unauthorized
- unauthorized_token
description: 'A pre-defined string identifying an error. Error codes fall into three categories:
**GENERIC**
* `bad_request` - 422: an invalid request was made. See error message for details.
* `conflict` - 409/422: this operation would leave data in a conflicted state.
* `feature_limit_reached` - 403: the account has reached its resource limit and requires upgrading to add more.
* `internal_server_error` - 500: an error has occured on Lob''s servers. Please try request again.
* `invalid` - 422: an invalid request was made. See error message for details.
* `not_deletable` - 422: an attempt was made to delete a resource, but the resource cannot be deleted.
* `not_found` - 404: the requested resource was not found.
* `request_timeout` - 408: the request took too long. Please try again.
* `service_unavailable` - 503: the Lob servers are temporarily unavailable. Please try agian.
* `unrecognized_endpoint` - 404: the requested endpoint doesn''t exist.
* `unsupported_lob_version` - 422: an unsupported Lob API version was requested.
**ADVANCED**
* `address_length_exceeds_limit` - 422: the sum of to.address_line1 and to.address_line2 cannot surpass 50 characters.
* `bank_account_already_verified` - 422: the bank account has already been verified.
* `bank_error` - 422: there''s an issue with the bank account.
* `billing_address_required` - 403: in order to create a live mail piece, your account needs to set up a billing address.
* `custom_envelope_inventory_depleted` - 422: custom envelope inventory is depleted, and more will need to be ordered.
* `deleted_bank_account` - 404: checks cannot be created with a deleted bank account.
* `failed_deliverability_strictness` - 422: the `to` address doesn''t meet strictness requirements. See <a href="https://dashboard.lob.com/#/settings/account" target="_blank">Account Settings</a> to configure strictness.
* `file_pages_below_min` - 422: not enough pages.
* `file_pages_exceed_max` - 422: too many pages.
* `file_size_exceeds_limit` - 422: the file size is too large. See description for details.
* `foreign_return_address` - 422: the `from` address must be a US address.
* `inconsistent_page_dimensions` - 422: all pages of the input file must have the same dimensions.
* `invalid_bank_account` - 422: the provided bank routing number is invalid.
* `invalid_bank_account_verification` - 422: verification amounts do not match.
* `invalid_check_international` - 422: checks cannot be sent internationally.
* `invalid_country_covid` - 422: the postal service in the specified country is currently unable to process the request due to COVID-19 restrictions.
* `invalid_file` - 422: the file is invalid.
* `invalid_file_dimensions` - 422: file dimensions are incorrect for the selected mail type.
* `invalid_file_download_time` - 422: file download from remote server took too long.
* `invalid_file_url` - 422: the file URL when creating a resource is invalid.
* `invalid_image_dpi` - 422: DPI must be at least 300.
* `invalid_international_feature` - 422: the specified product cannot be sent to the destination.
* `invalid_perforation_return_envelope` - 422: both `return_envelope` and `perforation` must be used together.
* `invalid_template_html` - 422: the provided HTML is invalid.
* `mail_use_type_can_not_be_null` - 422: use_type must be one of "marketing" or "operational". Alternatively, an admin can set the account default use type in Account Settings.
* `merge_variable_required` - 422: a required merge variable is missing.
* `merge_variable_whitespace` - 422: merge variable names cannot contain whitespace.
* `payment_method_unverified` - 401: you must have a verified bank account or credit card to submit live requests.
* `pdf_encrypted` - 422: an encrypted PDF was provided.
* `special_characters_restricted` - 422: cannot use special characters for merge variable names.
* `unembedded_fonts` - 422: the provided PDF contains non-standard unembedded fonts. See description for details.
**AUTHENTICATION**
* `email_required` - 401: account must have a verified email address before creating live resources.
* `invalid_api_key` - 401/403: the API key is invalid.
* `publishable_key_not_allowed` - 403: the requested operation needs a secret key, not a publishable key. See [API Keys](#section/API-Keys) for more information.
* `rate_limit_exceeded` - 429: requests were sent too quickly and must be slowed down.
* `unauthorized` - 401: the request isn''t authorized.
* `unauthorized_token` - 401: token isn''t authorized.
'
crv_id:
type: string
description: Unique identifier prefixed with `crv_`.
pattern: ^crv_[a-zA-Z0-9]+$
example: crv_2a3b096c409b32c
company:
type: string
description: 'Either `name` or `company` is required, you may also add both. Must be no longer than 40 characters. If both `name` and `company` are provided, they will be printed on two separate lines above the rest of the address. This field can be used for any secondary recipient information which is not part of the actual mailing address (Company Name, Department, Attention Line, etc).
'
maxLength: 40
nullable: true
returned_resource:
oneOf:
- allOf:
- title: Postcard Creative
required:
- resource_type
- details
properties:
resource_type:
type: string
description: Mailpiece type for the creative
enum:
- postcard
details:
$ref: '#/components/schemas/returned'
- $ref: '#/components/schemas/creative_base'
- allOf:
- title: Letter Creative
required:
- from
- resource_type
- details
properties:
resource_type:
type: string
description: Mailpiece type for the creative
enum:
- letter
details:
$ref: '#/components/schemas/letter_details_returned'
- $ref: '#/components/schemas/creative_base'
- allOf:
- title: Self Mailer Creative
required:
- resource_type
- details
properties:
resource_type:
type: string
description: Mailpiece type for the creative
enum:
- self_mailer
details:
$ref: '#/components/schemas/self_mailer_details_returned'
- $ref: '#/components/schemas/creative_base'
creative_base:
type: object
properties:
from:
$ref: '#/components/schemas/from_attribute'
description:
$ref: '#/components/schemas/resource_description'
metadata:
$ref: '#/components/schemas/metadata'
extra_service:
type: string
enum:
- certified
- certified_return_receipt
- registered
- null
description: "Add an extra service to your letter. Can only be non-`null` if `mail_type` isn't `usps_standard`. See <a href=\"https://www.lob.com/pricing/print-mail#compare\" target=\"_blank\">pricing</a> for extra costs incurred.\n * `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: <a href=\"https://s3-us-west-2.amazonaws.com/public.lob.com/assets/templates/letter_certified_template.pdf\" target=\"_blank\">#10 envelope</a> and <a href=\"https://s3-us-west-2.amazonaws.com/public.lob.com/assets/templates/letter_certified_flat_template.pdf\" target=\"_blank\">flat envelope</a> (used for letters over 6 pages single-sided or 12 pages double-sided). You will not be charged for this extra sheet.\n * `certified_return_receipt` - request an electronic copy of the recipient's signature to prove delivery of your certified letter\n * `registered` - provides tracking and confirmation for international addresses\n \nNot available for `us_legal` letter size.\n"
nullable: true
color:
type: boolean
description: 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.
inline_address_us:
allOf:
- $ref: '#/components/schemas/address_editable_us'
- type: object
required:
- address_line1
- address_city
- address_state
- address_zip
cmp_schedule_type:
description: How the campaign should be scheduled. Only value available today is `immediate`.
type: string
enum:
- immediate
card_id:
type: string
description: Unique identifier prefixed with `card_`.
pattern: ^card_[a-zA-Z0-9]+$
resource_description:
type: string
description: 'An internal description that identifies this resource. Must be no longer than 255 characters.
'
maxLength: 255
nullable: true
address_placement:
type: string
enum:
- top_first_page
- insert_blank_page
- bottom_first_page_center
- bottom_first_page
description: "Specifies the location of the address information that will show through the double-window envelope. To see how this will impact your letter design, view our letter template.\nSome values are exclusive to certain customers. Upgrade to the appropriate <a href=\"https://dashboard.lob.com/#/settings/editions\" target=\"_blank\">Print & Mail Edition</a> to gain access.\n * `top_first_page` - (default) print address information at the top of your provided first page\n * `insert_blank_page` - insert a blank address page at the beginning of your file (you will be charged for the extra page)\n * `bottom_first_page_center` - **(exclusive, deprecation planned within a few months)** print address information at the bottom center of your provided first page\n * `bottom_first_page` - **(exclusive)** print address information at the bottom of your provided first page\n"
default: top_first_page
self_mailer_size:
type: string
enum:
- 6x18_bifold
- 11x9_bifold
- 12x9_bifold
- 17.75x9_trifold
description: Specifies the size of the self mailer. The `17.75x9_trifold` size is in beta. Contact support@lob.com or your account contact to learn more.
default: 6x18_bifold
campaign_item:
allOf:
- $ref: '#/components/schemas/campaign_writable'
- type: object
required:
- id
- name
- description
- schedule_type
- use_type
- is_draft
- creatives
- uploads
- auto_cancel_if_ncoa
- date_created
- date_modified
- object
properties:
id:
$ref: '#/components/schemas/cmp_id'
is_draft:
description: Whether or not the campaign is still a draft.
type: boolean
default: true
creatives:
description: An array of creatives that have been associated with this campaign.
type: array
uploads:
description: A single-element array containing the upload object that is assocated with this campaign.
type: array
minItems: 0
maxItems: 1
object:
type: string
description: Value is resource type.
enum:
- campaign
default: campaign
date_created:
$ref: '#/components/schemas/date_created'
date_modified:
$ref: '#/components/schemas/date_modified'
deleted:
$ref: '#/components/schemas/deleted'
postcard_size:
type: string
enum:
- 4x6
- 6x9
- 6x11
description: 'Specifies the size of the postcard. Only `4x6` postcards can be sent to international destinations.
'
default: 4x6
double_sided:
type: boolean
description: Set this attribute to `true` for double sided printing, or `false` for for single sided printing. Defaults to `true`.
default: true
mail_type:
type: string
enum:
- usps_first_class
- usps_standard
description: 'A string designating the mail postage type:
* `usps_first_class` - (default)
* `usps_standard` - a <a href="https://lob.com/pricing/print-mail#compare" target="_blank">cheaper option</a> which is
less predictable and takes longer to deliver. `usps_standard` cannot be used with `4x6`
postcards or for any postcards sent outside of the United States.
'
default: usps_first_class
deleted:
type: boolean
description: Only returned if the resource has been successfully deleted.
from_attribute:
title: From
description: 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.
oneOf:
- $ref: '#/components/schemas/adr_id'
- $ref: '#/components/schemas/inline_address_us'
creative:
allOf:
- $ref: '#/components/schemas/lob_base'
- $ref: '#/components/schemas/returned_resource'
- type: object
required:
- id
- description
- from
- resource_type
- details
- metadata
- template_preview_urls
- template_previews
- campaigns
- date_created
- date_modified
- object
- deleted
properties:
deleted:
type: boolean
description: Whether the resource has been deleted.
id:
$ref: '#/components/schemas/crv_id'
template_preview_urls:
title: Template Preview URLs
type: object
description: Preview URLs associated with a creative's artwork asset(s) if the creative uses HTML templates as assets. An empty object will be returned if no `template_preview`s have been generated.
template_previews:
title: Template Previews
type: array
items:
type: object
description: A list of template preview objects if the creative uses HTML template(s) as artwork asset(s). An empty array will be returned if no `template_preview`s have been generated for the creative.
campaigns:
$ref: '#/components/schemas/campaign_list'
object:
type: string
description: Value is resource type.
enum:
- creative
default: creative
letter_details_returned:
description: Properties that the letters in your Creative should have. See the `qr_code` attribute below to add a QR code to your creative.
properties:
address_placement:
$ref: '#/components/schemas/address_placement'
buckslips:
description: A single-element array containing an existing buckslip id in a string format. See [buckslips](#tag/Buckslips) for more information.
type: array
items:
$ref: '#/components/schemas/buckslip_id'
minItems: 0
maxItems: 1
nullable: true
cards:
description: A single-element array containing an existing card id in a string format. See [cards](#tag/Cards) for more information.
type: array
items:
$ref: '#/components/schemas/card_id'
minItems: 0
maxItems: 1
nullable: true
custom_envelope:
$ref: '#/components/schemas/custom_envelope_returned'
color:
$ref: '#/components/schemas/color'
double_sided:
$ref: '#/components/schemas/double_sided'
extra_service:
$ref: '#/components/schemas/extra_service'
file_original_url:
description: The original URL of the `file` template.
type: string
mail_type:
$ref: '#/components/schemas/mail_type'
lob_base:
type: object
required:
- date_created
- date_modified
- object
properties:
date_created:
$ref: '#/components/schemas/date_created'
date_modified:
$ref: '#/components/schemas/date_modified'
deleted:
$ref: '#/components/schemas/deleted'
object:
$ref: '#/components/schemas/object'
address_editable_us:
allOf:
- $ref: '#/components/schemas/address_fields_us'
- type: object
anyOf:
- title: address obj with `name` defined
required:
- name
- title: address obj with `company` defined
required:
- company
properties:
description:
$ref: '#/components/schemas/resource_description'
name:
type: string
description: 'Either `name` or `company` is required, you may also add both. Must be no longer than 40 characters. If both `name` and `company` are provided, they will be printed on two separate lines above the rest of the address.
'
maxLength: 40
nullable: true
company:
$ref: '#/components/schemas/company'
phone:
type: string
description: Must be no longer than 40 characters.
maxLength: 40
nullable: true
email:
type: string
description: Must be no longer than 100 characters.
maxLength: 100
nullable: true
address_country:
type: string
enum:
- US
default: US
metadata:
$ref: '#/components/schemas/metadata'
metadata:
type: object
additionalProperties:
type: string
description: '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](#section/Metadata) for more information.'
maxLength: 500
pattern: '[^"\\]{0,500}'
cmp_id:
type: string
title: Campaign id
description: Unique identifier prefixed with `cmp_`.
pattern: ^cmp_[a-zA-Z0-9]+$
failure_status_code:
type: integer
enum:
- 401
- 403
- 404
- 413
- 422
- 429
- 500
description: "A conventional HTTP status code:\n * `401` - Authorization error with your API key or account\n * `403` - Forbidden error with your API key or account\n * `404` - The requested item does not exist\n * `413` - Payload too large\n * `422` - The query or body parameters did not pass validation\n * `429` - Too many requests have been sent with an API key in a given amount of time\n * `500` - An internal server error occurred, please contact support@lob.com\n"
object:
type: string
description: Value is resource type.
address_fields_us:
type: object
required:
- address_line1
- address_city
- address_state
- address_zip
properties:
address_line1:
type: string
description: The primary number, street name, and directional information.
maxLength: 64
address_line2:
type: string
description: An optional field containing any information which can't fit into line 1.
maxLength: 64
nullable: true
address_city:
type: string
maxLength: 200
address_state:
type: string
description: 2 letter state short-name code
pattern: ^[a-zA-Z]{2}$
address_zip:
type: string
description: 'Must follow the ZIP format of `12345` or ZIP+4 format of `12345-1234`.
'
pattern: ^\d{5}(-\d{4})?$
campaign_list:
type: array
description: Array of campaigns associated with the creative ID
items:
$ref: '#/components/schemas/campaign_item'
example:
- id: cmp_ed76e33e7ac4d0bd
name: My postman Campaign 2
description: Created via postman again
schedule_type: immediate
send_date: null
target_delivery_date: null
cancel_window_campaign_minutes: null
metadata: {}
use_type: null
is_draft: true
deleted: false
creatives: []
uploads: []
auto_cancel_if_ncoa: false
date_created: '2022-07-26T20:20:25.016Z'
date_modified: '2022-07-26T20:20:25.016Z'
object: campaign
buckslip_id:
type: string
description: Unique identifier prefixed with `bck_`.
pattern: ^bck_[a-zA-Z0-9]+$
cmp_use_type:
description: The use type for each mailpiece. Can be one of marketing, operational, or null. Null use_type is only allowed if an account default use_type is selected in Account Settings. For more information on use_type, see our [Help Center article](https://help.lob.com/print-and-mail/building-a-mail-strategy/managing-mail-settings/declaring-mail-use-type).
type: string
enum:
- marketing
- operational
- null
nullable: true
returned:
description: Properties that the postcards in your Creative should have. See the `qr_code` attribute below to add a QR code to your creative.
properties:
mail_type:
$ref: '#/components/schemas/mail_type'
size:
$ref: '#/components/schemas/postcard_size'
front_original_url:
description: The original URL of the `front` template.
maxLength: 2083
minLength: 1
type: string
format: uri
back_original_url:
description: The original URL of the `back` template.
maxLength: 2083
minLength: 1
type: string
format: uri
self_mailer_details_returned:
description: Properties that the self mailers in your Creative should have. See the `qr_code` attribute below to add a QR code to your creative.
properties:
mail_type:
$ref: '#/components/schemas/mail_type'
size:
$ref: '#/components/schemas/self_mailer_size'
inside_original_url:
description: The original URL of the `inside` template.
maxLength: 2083
minLength: 1
type: string
format: uri
outside_original_url:
description: The original URL of the `outside` template.
maxLength: 2083
minLength: 1
type: string
format: uri
campaign_writable:
type: object
required:
- name
- schedule_type
- use_type
properties:
billing_group_id:
type: string
description: Unique identifier prefixed with `bg_`.
pattern: ^bg_[a-zA-Z0-9]+$
nullable: true
name:
description: Name of the campaign.
type: string
description:
$ref: '#/components/schemas/resource_description'
schedule_type:
$ref: '#/components/schemas/cmp_schedule_type'
target_delivery_date:
description: If `schedule_type` is `target_delivery_date`, provide a targeted delivery date for mail pieces in this campaign.
type: st
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lob/refs/heads/main/openapi/lob-crv-id-api-openapi.yml