Lob.com Booklets API

The Booklets API from Lob.com — 2 operation(s) for booklets.

OpenAPI Specification

lobcom-booklets-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Lob Accounts Booklets API
  version: 1.22.0
  description: '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. <p>

    '
  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: Booklets
paths:
  /booklets/{booklet_id}:
    parameters:
    - in: path
      name: booklet_id
      description: id of the booklet
      required: true
      schema:
        $ref: '#/components/schemas/booklet_id'
    get:
      operationId: booklet_retrieve
      summary: Retrieve
      description: Retrieves the details of an existing booklet. You need to only supply the unique booklet identifier that was returned upon booklet creation.
      tags:
      - Booklets
      responses:
        '200':
          description: Returns a booklet object
          content:
            $ref: '#/components/mediaTypes/booklet'
        default:
          $ref: '#/components/responses/mailpiece_error'
      x-codeSamples:
      - lang: Shell
        source: "curl -X GET \"https://api.lob.com/v1/booklets/ord_0d6a16a3fff6318ac8f8008dc1\" \\\n  -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc:\n"
        label: CURL
    delete:
      operationId: booklet_delete
      summary: Delete
      description: Completely removes a booklet from production. This can only be done if the booklet's `send_date` has not yet passed. If the booklet is successfully canceled, you will not be charged for it.
      tags:
      - Booklets
      responses:
        '200':
          $ref: '#/components/responses/booklet_deleted'
        default:
          $ref: '#/components/responses/mailpiece_error'
      x-codeSamples:
      - lang: Shell
        source: "curl -X DELETE https://api.lob.com/v1/booklets/ord_0d6a16a3fff6318ac8f8008dc1 \\\n  -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc:\n"
        label: CURL
  /booklets:
    get:
      operationId: booklets_list
      summary: List
      description: Returns a list of your booklets. The booklets are returned sorted by creation date, with the most recently created booklets appearing first.
      tags:
      - Booklets
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/before_after'
      - $ref: '#/components/parameters/include'
      - $ref: '#/components/parameters/date_created'
      - $ref: '#/components/parameters/metadata'
      - $ref: '#/components/parameters/send_date'
      - $ref: '#/components/parameters/mail_type'
      - $ref: '#/components/parameters/sort_by'
      - $ref: '#/components/parameters/campaign_id'
      - $ref: '#/components/parameters/status'
      responses:
        '200':
          $ref: '#/components/responses/all_booklets'
        default:
          $ref: '#/components/responses/mailpiece_error'
      x-codeSamples:
      - lang: Shell
        source: "curl -X GET \"https://api.lob.com/v1/booklets?limit=2\" \\\n  -u test_0dc8d51e0acffcb1880e0f19c79b2f5b0cc:\n"
        label: CURL
    post:
      operationId: booklet_create
      summary: Create
      description: Creates a new booklet.
      tags:
      - Booklets
      parameters:
      - $ref: '#/components/parameters/idem-header'
      - $ref: '#/components/parameters/idem-query'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/booklet_editable'
            example:
              description: demo
              to:
                description: Harry - Office
                name: Harry Zhang
                company: Lob
                email: harry@lob.com
                phone: '5555555555'
                address_line1: 210 King St
                address_line2: '# 6100'
                address_city: San Francisco
                address_state: CA
                address_zip: '94107'
                address_country: US
              from:
                name: Harry
                address_line1: 210 King St
                address_line2: '# 6100'
                address_city: San Francisco
                address_state: CA
                address_zip: '94107'
              file: '<html style=''padding-top: 3in; margin: .5in;''>HTML Booklet for {{name}}</html>'
              mail_type: usps_first_class
              merge_variables:
                name: Harry
              metadata:
                spiffy: 'true'
              send_date: '2017-11-01T00:00:00.000Z'
              use_type: marketing
              qr_code:
                position: relative
                redirect_url: https://www.lob.com
                width: '2'
                top: '2'
                right: '2'
                pages: 1-2,4-5
              fsc: true
              size: 8.375x5.375
              print_speed: core
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/booklet_editable'
            example:
              description: demo
              to:
                description: Harry - Office
                name: Harry Zhang
                company: Lob
                email: harry@lob.com
                phone: '5555555555'
                address_line1: 210 King St
                address_line2: '# 6100'
                address_city: San Francisco
                address_state: CA
                address_zip: '94107'
                address_country: US
              from:
                name: Harry
                address_line1: 210 King St
                address_line2: '# 6100'
                address_city: San Francisco
                address_state: CA
                address_zip: '94107'
              file: '<html style=''padding-top: 3in; margin: .5in;''>HTML Booklet for {{name}}</html>'
              mail_type: usps_first_class
              merge_variables:
                name: Harry
              metadata:
                spiffy: 'true'
              send_date: '2017-11-01T00:00:00.000Z'
              use_type: marketing
              qr_code:
                position: relative
                redirect_url: https://www.lob.com
                width: '2'
                top: '2'
                right: '2'
                pages: 1-2,4-5
              fsc: true
              size: 8.375x5.375
              print_speed: core
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/booklet_editable'
            example:
              description: demo
              to:
                description: Harry - Office
                name: Harry Zhang
                company: Lob
                email: harry@lob.com
                phone: '5555555555'
                address_line1: 210 King St
                address_line2: '# 6100'
                address_city: San Francisco
                address_state: CA
                address_zip: '94107'
                address_country: US
              from:
                name: Harry
                address_line1: 210 King St
                address_line2: '# 6100'
                address_city: San Francisco
                address_state: CA
                address_zip: '94107'
              file: '<html style=''padding-top: 3in; margin: .5in;''>HTML Booklet for {{name}}</html>'
              mail_type: usps_first_class
              merge_variables:
                name: Harry
              metadata:
                spiffy: 'true'
              send_date: '2017-11-01T00:00:00.000Z'
              use_type: marketing
              qr_code:
                position: relative
                redirect_url: https://www.lob.com
                width: '2'
                top: '2'
                right: '2'
                pages: 1-2,4-5
              fsc: true
              size: 8.375x5.375
              print_speed: core
      responses:
        '200':
          $ref: '#/components/responses/post_booklet'
        default:
          $ref: '#/components/responses/mailpiece_error'
      x-codeSamples:
      - lang: Shell
        source: "curl https://api.lob.com/v1/booklets \\\n  -u YOUR_API_KEY \\\n  -d 'description=Demo Booklet' \\\n  -d 'to[name]=Harry Zhang' \\\n  -d 'to[address_line1]=210 King St' \\\n  -d 'to[address_line2]=# 6100' \\\n  -d 'to[address_city]=San Francisco' \\\n  -d 'to[address_state]=CA' \\\n  -d 'to[address_zip]=94107' \\\n  -d 'from=adr_210a8d4b0b76d77b' \\\n  --data-urlencode 'file=<html style=\"padding-top: 3in; margin: .5in;\">HTML Booklet for {{name}}</html>' \\\n  -d 'merge_variables[name]=Harry' \\\n  -d 'qr_code[position]=relative' \\\n  -d 'qr_code[redirect_url]=https://www.lob.com' \\\n  -d 'qr_code[width]=2' \\\n  -d 'qr_code[bottom]=2' \\\n  -d 'qr_code[left]=2' \\\n  -d 'qr_code[pages]=3,4-5' \\\n  -d 'fsc=true' \\\n  -d 'print_speed=core'\n"
        label: CURL
components:
  parameters:
    metadata:
      in: query
      name: metadata
      description: Filter by metadata key-value pair`.
      schema:
        $ref: '#/components/schemas/metadata'
      style: deepObject
      explode: true
    idem-header:
      in: header
      name: Idempotency-Key
      required: false
      description: 'A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our <a href="https://help.lob.com/print-and-mail/building-a-mail-strategy/managing-mail-settings#idempotent-requests-12" target="_blank">implementation guide</a>.

        '
      schema:
        type: string
        maxLength: 256
        example: 026e7634-24d7-486c-a0bb-4a17fd0eebc5
    status:
      in: query
      name: status
      description: 'A string describing the render status:

        * `processed` - the rendering process is currently underway.

        * `rendered` - the rendering process has completed successfully.

        * `failed` - the rendering process has failed.

        '
      schema:
        $ref: '#/components/schemas/status'
    send_date:
      in: query
      name: send_date
      description: '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 ≥, and `lte` is ≤.

        '
      schema:
        $ref: '#/components/schemas/send_date'
    date_created:
      in: query
      name: date_created
      description: '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 `gt` is >, `lt` is <, `gte` is ≥, and `lte` is ≤.'
      schema:
        $ref: '#/components/schemas/date_filter'
      style: deepObject
      explode: true
    idem-query:
      in: query
      name: idempotency_key
      required: false
      description: 'A string of no longer than 256 characters that uniquely identifies this resource. For more help integrating idempotency keys, refer to our <a href="https://help.lob.com/print-and-mail/building-a-mail-strategy/managing-mail-settings#idempotent-requests-12" target="_blank">implementation guide</a>.

        '
      schema:
        type: string
        maxLength: 256
        example: 026e7634-24d7-486c-a0bb-4a17fd0eebc5
    include:
      in: query
      name: include
      description: 'Request that the response include the total count by specifying `include=["total_count"]`.

        '
      schema:
        type: array
        items:
          type: string
      explode: true
    campaign_id:
      in: query
      name: campaign_id
      required: false
      description: Filters resources created by the provided campaign id, prefixed with `cmp_`. In the case of snap packs, booklets, and letters with size `us_legal`, however, the campaign id is prefixed with `camp_` instead of `cmp_`.
      schema:
        $ref: '#/components/schemas/campaign_id'
    limit:
      in: query
      name: limit
      required: false
      description: How many results to return.
      schema:
        type: integer
        minimum: 1
        default: 10
        maximum: 100
        example: 10
    mail_type:
      in: query
      name: mail_type
      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.

        '
      schema:
        $ref: '#/components/schemas/mail_type'
    sort_by:
      in: query
      name: sort_by
      description: 'Sorts items by ascending or descending dates. Use either `date_created` or `send_date`, not both.

        '
      schema:
        allOf:
        - type: object
          properties:
            date_created:
              type: string
              enum:
              - asc
              - desc
            send_date:
              type: string
              enum:
              - asc
              - desc
        - oneOf:
          - required:
            - date_created
          - required:
            - send_date
    before_after:
      in: query
      name: before/after
      required: false
      description: '`before` and `after` are both optional but only one of them can be in the query at a time.

        '
      schema:
        allOf:
        - type: object
          properties:
            before:
              type: string
              description: 'A reference to a list entry used for paginating to the previous set of entries. This field is pre-populated in the `previous_url` field in the return response.

                '
            after:
              type: string
              description: 'A reference to a list entry used for paginating to the next set of entries. This field is pre-populated in the `next_url` field in the return response.

                '
        - oneOf:
          - required:
            - before
          - required:
            - after
  schemas:
    send_date:
      type: string
      description: A timestamp in ISO 8601 format which specifies a date after the current time and up to 180 days in the future to send the letter off for production. Setting a send date overrides the default [cancellation window](#section/Cancellation-Windows) applied to the mailpiece. Until the `send_date` has passed, the mailpiece can be canceled. If a date in the format `2017-11-01` is passed, it will evaluate to midnight UTC of that date (`2017-11-01T00:00:00.000Z`). If a datetime is passed, that exact time will be used. A `send_date` passed with no time zone will default to UTC, while a `send_date` passed with a time zone will be converted to UTC.
      anyOf:
      - format: date-time
      - format: date
    input_to:
      type: object
      properties:
        to:
          description: 'Must either be an address ID or an inline object with correct address parameters. If an object is used, an address will be created, corrected, and standardized for free whenever possible using our US Address Verification engine (if it is a US address), and returned back with an ID. Depending on your <a href="https://dashboard.lob.com/#/settings/editions" target="_blank">Print & Mail Edition</a>, US addresses may also be run through <a href="#tag/National-Change-of-Address">National Change of Address Linkage(NCOALink)</a>. Non-US addresses will be standardized into uppercase only. If a US address used does not meet your account’s <a href="https://dashboard.lob.com/#/settings/account" target="_blank">US Mail strictness setting</a>, the request will fail. <a href="https://help.lob.com/print-and-mail/all-about-addresses" target="_blank">Lob Guide: Verification of Mailing Addresses</a>'
          oneOf:
          - $ref: '#/components/schemas/adr_id'
          - $ref: '#/components/schemas/inline_address'
    booklet_file:
      description: 'Notes:

        - HTML merge variables should not include delimiting whitespace.

        - All pages of a supplied PDF file must be sized per the `size` attribute, while supplied HTML will be rendered and trimmed to as many `size` pages as necessary.

        - For design specifications, please see our <a href="https://s3-us-west-2.amazonaws.com/public.lob.com/assets/templates/letter_template.pdf" target="_blank">PDF</a> and [HTML](#section/HTML-Examples) templates.

        See <a href="https://lob.com/pricing/print-mail#compare" target="_blank">pricing</a> for extra costs incurred.'
      oneOf:
      - $ref: '#/components/schemas/html_string'
      - $ref: '#/components/schemas/tmpl_id'
      - $ref: '#/components/schemas/remote_file_url'
      - type: string
        pattern: ^(?!https://)[a-zA-Z0-9@:%._+~#=/]{1,256}.(html?|pdf)$
    date_modified:
      type: string
      format: date-time
      description: A timestamp in ISO 8601 format of the date the resource was last modified.
    booklet_id:
      type: string
      description: Unique identifier prefixed with `ord_`.
      pattern: ^ord_[0-9a-f]{26}$
    deleted:
      type: boolean
      description: Only returned if the resource has been successfully deleted.
    editable:
      type: object
      properties:
        description:
          $ref: '#/components/schemas/resource_description'
        metadata:
          $ref: '#/components/schemas/metadata'
        mail_type:
          $ref: '#/components/schemas/mail_type'
        merge_variables:
          $ref: '#/components/schemas/merge_variables'
        send_date:
          $ref: '#/components/schemas/send_date'
        print_speed:
          $ref: '#/components/schemas/print_speed'
    address_editable_intl:
      allOf:
      - $ref: '#/components/schemas/address_fields_intl'
      - 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:
            $ref: '#/components/schemas/country_extended'
          metadata:
            $ref: '#/components/schemas/metadata'
    failure_reason_error:
      type: object
      description: Failure error details
      properties:
        url:
          type: string
          description: Failed URL of asset
          nullable: true
        host:
          type: string
          description: URL host
          nullable: true
        path:
          type: string
          description: URL path
          nullable: true
        protocol:
          type: string
          description: Network protocol
          nullable: true
        remediation:
          type: string
          description: Instructions on how to resolve the error
          nullable: true
        error_type:
          type: string
          description: HTTP response status code message or service defined error
          nullable: true
        status_code:
          type: number
          description: HTTP response status codes if the error is asset related
          nullable: true
    object:
      type: string
      description: Value is resource type.
    evnt_id:
      type: string
      description: Unique identifier prefixed with `evnt_`.
      pattern: ^evnt_[a-zA-Z0-9]+$
    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'
    failure_reason:
      type: object
      description: An object describing the reason for failure if the resource failed to render.
      properties:
        remediation:
          type: string
          description: Instructions on how to resolve the error
        failure_reason:
          type: string
          description: Reason failure occurred
        errors:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/failure_reason_error'
    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'
    vrsn_id:
      type: string
      description: Unique identifier prefixed with `vrsn_`.
      pattern: ^vrsn_[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
    tracking_event_base:
      type: object
      description: As mail pieces travel through the mail stream, USPS scans their unique barcodes, and Lob processes these mail scans to generate tracking events.
      required:
      - id
      - date_created
      - date_modified
      - object
      properties:
        id:
          $ref: '#/components/schemas/evnt_id'
        time:
          type: string
          format: date-time
          description: A timestamp in ISO 8601 format of the date USPS registered the event.
        date_created:
          $ref: '#/components/schemas/date_created'
        date_modified:
          $ref: '#/components/schemas/date_modified'
        object:
          allOf:
          - $ref: '#/components/schemas/object'
          - type: string
            enum:
            - tracking_event
            default: tracking_event
    address_intl:
      allOf:
      - $ref: '#/components/schemas/lob_base'
      - type: object
        required:
        - id
        - address_line1
        - address_country
        anyOf:
        - title: address obj with `name` defined
          required:
          - name
        - title: address obj with `company` defined
          required:
          - company
        properties:
          id:
            $ref: '#/components/schemas/adr_id'
          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
          metadata:
            $ref: '#/components/schemas/metadata'
          address_line1:
            type: string
            maxLength: 200
          address_line2:
            type: string
            maxLength: 200
            nullable: true
          address_city:
            type: string
            maxLength: 200
            nullable: true
          address_state:
            description: Will be returned as a full string
            type: string
            maxLength: 200
            nullable: true
          address_zip:
            type: string
            description: Optional postal code.
            maxLength: 40
            nullable: true
          address_country:
            description: Full name of country
            type: string
            maxLength: 200
            enum:
            - AFGHANISTAN
            - ALBANIA
            - ALGERIA
            - AMERICAN SAMOA
            - ANDORRA
            - ANGOLA
            - ANGUILLA
            - ANTARCTICA
            - ANTIGUA AND BARBUDA
            - ARGENTINA
            - ARUBA
            - AUSTRALIA
            - AUSTRIA
            - AZERBAIJAN
            - BAHRAIN
            - BANGLADESH
            - BARBADOS
            - BELARUS
            - BELGIUM
            - BELIZE
            - BENIN
            - BERMUDA
            - BHUTAN
            - BOLIVIA (PLURINATIONAL STATE OF)
            - BONAIRE, SAINT EUSTATIUS AND SABA
            - BOSNIA AND HERZEGOVINA
            - BOTSWANA
            - BRAZIL
            - BRITISH INDIAN OCEAN TERRITORY
            - BRITISH VIRGIN ISLANDS
            - BRUNEI DARUSSALAM
            - BULGARIA
            - BURKINA FASO
            - BURUNDI
            - CABO VERDE
            - CAMBODIA
            - CAMEROON
            - CANADA
            - CAYMAN ISLANDS
            - CENTRAL AFRICAN REPUBLIC
            - CHAD
            - CHILE
            - CHINA
            - COLOMBIA
            - COMOROS
            - CONGO
            - CONGO, DEMOCRATIC REPUBLIC OF THE
            - COOK ISLANDS
            - COSTA RICA
            - CÔTE D'IVOIRE
            - CROATIA
            - CUBA
            - CURAÇAO
            - CYPRUS
            - CZECH REPUBLIC
            - DENMARK
            - DJIBOUTI
            - DOMINICA
            - DOMINICAN REPUBLIC
            - ECUADOR
            - EGYPT
            - EL SALVADOR
            - EQUATORIAL GUINEA
            - ERITREA
            - ESTONIA
            - ESWATINI
            - ETHIOPIA
            - FALKLAND ISLANDS (MALVINAS)
            - FAROE ISLANDS
            - FIJI
            - FINLAND
            - FRANCE
            - GABON
            - GAMBIA
            - GEORGIA
            - GERMANY
            - GHANA
            - GIBRALTAR
            - GREECE
            - GREENLAND
            - GRENADA
            - GUATEMALA
            - GUINEA
            - GUINEA-BISSAU
            - GUYANA
            - HAITI
            - HOLY SEE
            - HONDURAS
            - HONG KONG
            - HUNGARY
            - ICELAND
            - INDIA
            - INDONESIA
            - IRAN (ISLAMIC REPUBLIC OF)
            - IRAQ
            - IRELAND
            - ISRAEL
            - ITALY
            - JAMAICA
            - JAPAN
            - JORDAN
            - KAZAKHSTAN
            - KENYA
            - KIRIBATI
            - KOREA (DEMOCRATIC PEOPLE’S REPUBLIC OF)
            - KOREA, REPUBLIC OF
            - KUWAIT
            - KYRGYZSTAN
            - LAO PEOPLE’S DEMOCRATIC REPUBLIC
            - LATVIA
            - LEBANON
            - LESOTHO
            - LIBERIA
            - LIBYA
            - LIECHTENSTEIN
            - LITHUANIA
            - LUXEMBOURG
            - MACAO
            - MACEDONIA
            - MADAGASCAR
            - MALAWI
            - MALAYSIA
            - MALDIVES
            - MALI
            - MALTA
            - MAURITANIA
            - MAURITIUS
            - MEXICO
            - MOLDOVA, REPUBLIC OF
            - MONACO
            - MONGOLIA
            - MONTENEGRO
            - MONTSERRAT
            - MOROCCO
            - MOZAMBIQUE
            - MYANMAR
            - NAMIBIA
            - NAURU
            - NEPAL
            - NETHERLAND ANTILLES
            - NETHERLANDS
            - NEW ZEALAND
            - NICARAGUA
            - NIGER
            - NIGERIA
            - NIUE
            - NORFOLK ISLAND
            - NORWAY
            - OMAN
            - PAKISTAN
            - PANAMA
            - PAPUA NEW GUINEA
            - PARAGUAY
            - PERU
            - PHILIPPINES
            - PITCAIRN
            - POLAND
            - PORTUGAL
            - QATAR
            - ROMANIA
            - RUSSIAN FEDERATION
            - RWANDA
            - SAINT HELENA
            - SAINT KITTS AND NEVIS
            - SAINT LUCIA
            - SAINT VINCENT AND THE GRENADINES
            - SAMOA
            - SAN MARINO
            - SAO TOME AND PRINCIPE
            - SAUDI ARABIA
            - SENEGAL
            - SERBIA
            - SEYCHELLES
            - SIERRA LEONE
            - SINGAPORE
            - SINT MAARTEN
            - SLOVAKIA
            - SLOVENIA
            - SOLOMON ISLANDS
            - SOMALIA
            - SOUTH AFRICA
            - SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
            - SOUTH SUDAN
            - SPAIN
            - SRI LANKA
            - SUDAN
            - SURINAME
            - SWEDEN
            - SWITZERLAND
            - SYRIAN ARAB REPUBLIC
            - TAIWAN
            - TAJIKISTAN
            - TANZANIA
            - THAILAND
            - THE BAHAMAS
            - TIMOR-LESTE
            - TOGO
            - TOKELAU
            - TONGA
            - TRINIDAD AND TOBAGO
            - TUNISIA
            - TURKEY
            - TURKMENISTAN
            - TURKS AND CAICOS ISLANDS
            - TUVALU
            - UGANDA
            - UKRAINE
            - UNITED ARAB EMIRATES
            - UNITED KINGDOM
            - URUGUAY
            - UZBEKISTAN
            - VANUATU
            - VENEZUELA
            - VIET NAM
            - WESTERN SAHARA
            - YEMEN
            - ZAMBIA
            - ZIMBABWE
          object:
            type: string
            description: Value is resource type.
            enum:
            - address
            default: address
        example:
          id: adr_e68217bd744d65c8
          description: Harry - Office
          name: Harry Zhang
          company: Lob
          phone: '5555555555'
          email: harry@lob.com
          metadata: {}
          address_line1: 370 WATER ST
          address_line2: ''
          address_city: SUMMERSIDE
          address_state: PRINCE EDWARD ISLAND
          address_zip: C1N 1C4
          address_country: CANADA
    inline_address_intl:
      allOf:
      - $ref: '#/components/schemas/address_editable_intl'
      - type: object
        required:
        - address_line1
        - address_country
      - type: object
        oneOf:
        - required:
          - address_city
          - address_state
        - required:
          - address_zip
    inline_address:
      oneOf:
      - $ref: '#/components/schemas/inline_address_us'
      - $ref: '#/components/schemas/inline_address_intl'
    qr_code:
      type: object
      description: Customize and place a QR code on the creative at the required position.
      required:
      - position
      - redirect_url
      - width
      properties:
        position:
          type: string
          enum:
          - relative
          description: Sets how a QR code is being positioned in the docume

# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lobcom/refs/heads/main/openapi/lobcom-booklets-api-openapi.yml