Square Invoices API

The Invoices API from Square — 7 operation(s) for invoices.

Documentation

📖
Documentation
https://developer.squareup.com/docs/payments-overview
📖
APIReference
https://developer.squareup.com/reference/square/payments-api
📖
Documentation
https://developer.squareup.com/docs/orders-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/orders-api
📖
Documentation
https://developer.squareup.com/docs/catalog-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/catalog-api
📖
Documentation
https://developer.squareup.com/docs/inventory-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/inventory-api
📖
Documentation
https://developer.squareup.com/docs/customers
📖
APIReference
https://developer.squareup.com/reference/square/customers-api
📖
Documentation
https://developer.squareup.com/docs/locations-api
📖
APIReference
https://developer.squareup.com/reference/square/locations-api
📖
Documentation
https://developer.squareup.com/docs/team/overview
📖
APIReference
https://developer.squareup.com/reference/square/team-api
📖
Documentation
https://developer.squareup.com/docs/labor-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/labor-api
📖
Documentation
https://developer.squareup.com/docs/bookings-api/what-it-is
📖
APIReference
https://developer.squareup.com/reference/square/bookings-api
📖
Documentation
https://developer.squareup.com/docs/loyalty-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/loyalty-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-cards-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-cards-api
📖
Documentation
https://developer.squareup.com/docs/invoices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/invoices-api
📖
Documentation
https://developer.squareup.com/docs/subscriptions-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/checkout-api
📖
APIReference
https://developer.squareup.com/reference/square/checkout-api
📖
Documentation
https://developer.squareup.com/docs/terminal-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/terminal-api
📖
Documentation
https://developer.squareup.com/docs/payments-refunds
📖
APIReference
https://developer.squareup.com/reference/square/refunds-api
📖
Documentation
https://developer.squareup.com/docs/disputes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/disputes-api
📖
Documentation
https://developer.squareup.com/docs/merchants-api
📖
APIReference
https://developer.squareup.com/reference/square/merchants-api
📖
Documentation
https://developer.squareup.com/docs/cards-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/cards-api
📖
Documentation
https://developer.squareup.com/docs/vendors-api/manage-vendors-in-apps
📖
APIReference
https://developer.squareup.com/reference/square/vendors-api
📖
Documentation
https://developer.squareup.com/docs/cashdrawershift-api/reporting
📖
APIReference
https://developer.squareup.com/reference/square/cash-drawers-api
📖
Documentation
https://developer.squareup.com/docs/bank-accounts-api
📖
APIReference
https://developer.squareup.com/reference/square/bank-accounts-api
📖
Documentation
https://developer.squareup.com/docs/payouts-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/payouts-api
📖
Documentation
https://developer.squareup.com/docs/web-payments/apple-pay
📖
APIReference
https://developer.squareup.com/reference/square/apple-pay-api
📖
Documentation
https://developer.squareup.com/docs/sites-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/sites-api
📖
Documentation
https://developer.squareup.com/docs/snippets-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/snippets-api
📖
Documentation
https://developer.squareup.com/docs/oauth-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/oauth-api
📖
Documentation
https://developer.squareup.com/docs/webhooks/overview
📖
APIReference
https://developer.squareup.com/reference/square/webhook-subscriptions-api
📖
Documentation
https://developer.squareup.com/docs/events-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/events-api
📖
Documentation
https://developer.squareup.com/docs/devices-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/devices-api
📖
Documentation
https://developer.squareup.com/docs/customer-groups-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-groups-api
📖
Documentation
https://developer.squareup.com/docs/customer-segments-api/what-it-does
📖
APIReference
https://developer.squareup.com/reference/square/customer-segments-api
📖
Documentation
https://developer.squareup.com/docs/gift-cards/using-gift-card-activities-api
📖
APIReference
https://developer.squareup.com/reference/square/gift-card-activities-api
📖
Documentation
https://developer.squareup.com/docs/customer-custom-attributes-api/overview
📖
APIReference
https://developer.squareup.com/reference/square/customer-custom-attributes-api

Specifications

Other Resources

OpenAPI Specification

square-invoices-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '2.0'
  title: Square ApplePay Invoices API
  description: 'Supercharge Square for sellers of every size. Our entire connected commerce platform  from elegant hardware to a rich suite of Square APIs  is yours to build with. Whether youre developing an app or composing a bespoke solution, this is the place to make it happen. '
  termsOfService: https://connect.squareup.com/tos
  contact:
    name: Square Developer Platform
    email: developers@squareup.com
    url: https://squareup.com/developers
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  externalDocs:
    description: 'Read the official documentation here:'
    url: https://docs.connect.squareup.com/
  x-server-configuration:
    default-environment: production
    default-server: default
    environments:
    - name: production
      servers:
      - name: default
        url: https://connect.squareup.com
    - name: sandbox
      servers:
      - name: default
        url: https://connect.squareupsandbox.com
    - name: custom
      servers:
      - name: default
        url: '{custom_url}'
    parameters:
    - name: custom_url
      description: Sets the base URL requests are made to. Defaults to `https://connect.squareup.com`
      type: string
      example: https://connect.squareup.com
  x-square-generic-error-codes:
  - ACCESS_TOKEN_EXPIRED
  - ACCESS_TOKEN_REVOKED
  - API_VERSION_INCOMPATIBLE
  - APPLICATION_DISABLED
  - ARRAY_EMPTY
  - ARRAY_LENGTH_TOO_LONG
  - ARRAY_LENGTH_TOO_SHORT
  - BAD_CERTIFICATE
  - BAD_GATEWAY
  - BAD_REQUEST
  - CONFLICT
  - CONFLICTING_PARAMETERS
  - CURRENCY_MISMATCH
  - EXPECTED_ARRAY
  - EXPECTED_BASE64_ENCODED_BYTE_ARRAY
  - EXPECTED_BOOLEAN
  - EXPECTED_FLOAT
  - EXPECTED_INTEGER
  - EXPECTED_JSON_BODY
  - EXPECTED_MAP
  - EXPECTED_OBJECT
  - EXPECTED_STRING
  - FORBIDDEN
  - GATEWAY_TIMEOUT
  - GONE
  - IDEMPOTENCY_KEY_REUSED
  - INCORRECT_TYPE
  - INSUFFICIENT_SCOPES
  - INTERNAL_SERVER_ERROR
  - INVALID_ARRAY_VALUE
  - INVALID_CONTENT_TYPE
  - INVALID_CURSOR
  - INVALID_ENUM_VALUE
  - INVALID_FORM_VALUE
  - INVALID_SORT_ORDER
  - INVALID_SQUARE_VERSION_FORMAT
  - INVALID_TIME
  - INVALID_TIME_RANGE
  - INVALID_VALUE
  - LOCATION_MISMATCH
  - MAP_KEY_LENGTH_TOO_LONG
  - MAP_KEY_LENGTH_TOO_SHORT
  - MERCHANT_SUBSCRIPTION_NOT_FOUND
  - METHOD_NOT_ALLOWED
  - MISSING_REQUIRED_PARAMETER
  - NOT_ACCEPTABLE
  - NOT_FOUND
  - NOT_IMPLEMENTED
  - NO_FIELDS_SET
  - RATE_LIMITED
  - REQUEST_ENTITY_TOO_LARGE
  - REQUEST_TIMEOUT
  - SANDBOX_NOT_SUPPORTED
  - SERVICE_UNAVAILABLE
  - TOO_MANY_MAP_ENTRIES
  - UNAUTHORIZED
  - UNEXPECTED_VALUE
  - UNKNOWN_BODY_PARAMETER
  - UNKNOWN_QUERY_PARAMETER
  - UNPROCESSABLE_ENTITY
  - UNSUPPORTED_MEDIA_TYPE
  - V1_ACCESS_TOKEN
  - V1_APPLICATION
  - VALUE_EMPTY
  - VALUE_REGEX_MISMATCH
  - VALUE_TOO_HIGH
  - VALUE_TOO_LONG
  - VALUE_TOO_LOW
  - VALUE_TOO_SHORT
servers:
- url: https://connect.squareup.com
  variables: {}
tags:
- name: Invoices
paths:
  /v2/invoices:
    get:
      tags:
      - Invoices
      summary: Square List Invoices
      operationId: ListInvoices
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: "Returns a list of invoices for a given location. The response \nis paginated. If truncated, the response includes a `cursor` that you    \nuse in a subsequent request to retrieve the next set of invoices."
      x-release-status: PUBLIC
      security:
      - oauth2:
        - INVOICES_READ
      parameters:
      - name: location_id
        description: The ID of the location for which to list invoices.
        schema:
          type: string
        in: query
        required: true
      - name: cursor
        description: "A pagination cursor returned by a previous call to this endpoint. \nProvide this cursor to retrieve the next set of results for your original query.\n\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination)."
        schema:
          type: string
        in: query
        required: false
      - name: limit
        description: "The maximum number of invoices to return (200 is the maximum `limit`). \nIf not provided, the server uses a default limit of 100 invoices."
        schema:
          type: integer
        in: query
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListInvoicesResponse'
    post:
      tags:
      - Invoices
      summary: Square Create Invoice
      operationId: CreateInvoice
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: "Creates a draft [invoice](entity:Invoice) \nfor an order created using the Orders API.\n\nA draft invoice remains in your account and no action is taken. \nYou must publish the invoice before Square can process it (send it to the customer's email address or charge the customer’s card on file)."
      x-release-status: PUBLIC
      security:
      - oauth2:
        - ORDERS_WRITE
        - INVOICES_WRITE
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInvoiceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInvoiceResponse'
      x-endpoint-errors:
      - error-code: INVALID_CARD
      - error-code: MERCHANT_SUBSCRIPTION_NOT_FOUND
  /v2/invoices/search:
    post:
      tags:
      - Invoices
      summary: Square Search Invoices
      operationId: SearchInvoices
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: "Searches for invoices from a location specified in \nthe filter. You can optionally specify customers in the filter for whom to \nretrieve invoices. In the current implementation, you can only specify one location and \noptionally one customer.\n\nThe response is paginated. If truncated, the response includes a `cursor` \nthat you use in a subsequent request to retrieve the next set of invoices."
      x-release-status: PUBLIC
      security:
      - oauth2:
        - INVOICES_READ
      parameters: []
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchInvoicesRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchInvoicesResponse'
  /v2/invoices/{invoice_id}:
    delete:
      tags:
      - Invoices
      summary: Square Delete Invoice
      operationId: DeleteInvoice
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: "Deletes the specified invoice. When an invoice is deleted, the \nassociated order status changes to CANCELED. You can only delete a draft \ninvoice (you cannot delete a published invoice, including one that is scheduled for processing)."
      x-release-status: PUBLIC
      security:
      - oauth2:
        - ORDERS_WRITE
        - INVOICES_WRITE
      parameters:
      - name: invoice_id
        description: The ID of the invoice to delete.
        schema:
          type: string
        in: path
        required: true
      - name: version
        description: "The version of the [invoice](entity:Invoice) to delete.\nIf you do not know the version, you can call [GetInvoice](api-endpoint:Invoices-GetInvoice) or \n[ListInvoices](api-endpoint:Invoices-ListInvoices)."
        schema:
          type: integer
        in: query
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteInvoiceResponse'
    get:
      tags:
      - Invoices
      summary: Square Get Invoice
      operationId: GetInvoice
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: Retrieves an invoice by invoice ID.
      x-release-status: PUBLIC
      security:
      - oauth2:
        - INVOICES_READ
      parameters:
      - name: invoice_id
        description: The ID of the invoice to retrieve.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoiceResponse'
    put:
      tags:
      - Invoices
      summary: Square Update Invoice
      operationId: UpdateInvoice
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Updates an invoice. This endpoint supports sparse updates, so you only need

        to specify the fields you want to change along with the required `version` field.

        Some restrictions apply to updating invoices. For example, you cannot change the

        `order_id` or `location_id` field.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - ORDERS_WRITE
        - INVOICES_WRITE
      parameters:
      - name: invoice_id
        description: The ID of the invoice to update.
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInvoiceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateInvoiceResponse'
      x-endpoint-errors:
      - error-code: CARD_DECLINED
      - error-code: INVALID_CARD
      - error-code: MERCHANT_SUBSCRIPTION_NOT_FOUND
  /v2/invoices/{invoice_id}/attachments:
    post:
      tags:
      - Invoices
      summary: Square Create Invoice Attachment
      operationId: CreateInvoiceAttachment
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Uploads a file and attaches it to an invoice. This endpoint accepts HTTP multipart/form-data file uploads

        with a JSON `request` part and a `file` part. The `file` part must be a `readable stream` that contains a file

        in a supported format: GIF, JPEG, PNG, TIFF, BMP, or PDF.


        Invoices can have up to 10 attachments with a total file size of 25 MB. Attachments can be added only to invoices

        in the `DRAFT`, `SCHEDULED`, `UNPAID`, or `PARTIALLY_PAID` state.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - INVOICES_WRITE
      parameters:
      - name: invoice_id
        description: The ID of the [invoice](entity:Invoice) to attach the file to.
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                request:
                  $ref: '#/components/schemas/CreateInvoiceAttachmentRequest'
                image_file:
                  type: string
                  format: binary
            encoding:
              image_file:
                contentType: image/jpeg
              request:
                contentType: application/json; charset=utf-8
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateInvoiceAttachmentResponse'
  /v2/invoices/{invoice_id}/attachments/{attachment_id}:
    delete:
      tags:
      - Invoices
      summary: Square Delete Invoice Attachment
      operationId: DeleteInvoiceAttachment
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: 'Removes an attachment from an invoice and permanently deletes the file. Attachments can be removed only

        from invoices in the `DRAFT`, `SCHEDULED`, `UNPAID`, or `PARTIALLY_PAID` state.'
      x-release-status: PUBLIC
      security:
      - oauth2:
        - INVOICES_WRITE
      parameters:
      - name: invoice_id
        description: The ID of the [invoice](entity:Invoice) to delete the attachment from.
        schema:
          type: string
        in: path
        required: true
      - name: attachment_id
        description: The ID of the [attachment](entity:InvoiceAttachment) to delete.
        schema:
          type: string
        in: path
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteInvoiceAttachmentResponse'
  /v2/invoices/{invoice_id}/cancel:
    post:
      tags:
      - Invoices
      summary: Square Cancel Invoice
      operationId: CancelInvoice
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: "Cancels an invoice. The seller cannot collect payments for \nthe canceled invoice.\n\nYou cannot cancel an invoice in the `DRAFT` state or in a terminal state: `PAID`, `REFUNDED`, `CANCELED`, or `FAILED`."
      x-release-status: PUBLIC
      security:
      - oauth2:
        - ORDERS_WRITE
        - INVOICES_WRITE
      parameters:
      - name: invoice_id
        description: The ID of the [invoice](entity:Invoice) to cancel.
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelInvoiceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelInvoiceResponse'
      x-endpoint-errors:
      - error-code: VERSION_MISMATCH
  /v2/invoices/{invoice_id}/publish:
    post:
      tags:
      - Invoices
      summary: Square Publish Invoice
      operationId: PublishInvoice
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      description: "Publishes the specified draft invoice. \n\nAfter an invoice is published, Square \nfollows up based on the invoice configuration. For example, Square \nsends the invoice to the customer's email address, charges the customer's card on file, or does \nnothing. Square also makes the invoice available on a Square-hosted invoice page. \n\nThe invoice `status` also changes from `DRAFT` to a status \nbased on the invoice configuration. For example, the status changes to `UNPAID` if \nSquare emails the invoice or `PARTIALLY_PAID` if Square charges a card on file for a portion of the \ninvoice amount.\n\nIn addition to the required `ORDERS_WRITE` and `INVOICES_WRITE` permissions, `CUSTOMERS_READ`\nand `PAYMENTS_WRITE` are required when publishing invoices configured for card-on-file payments."
      x-release-status: PUBLIC
      security:
      - oauth2:
        - ORDERS_WRITE
        - INVOICES_WRITE
      parameters:
      - name: invoice_id
        description: The ID of the invoice to publish.
        schema:
          type: string
        in: path
        required: true
      requestBody:
        required: true
        description: 'An object containing the fields to POST for the request.


          See the corresponding object definition for field details.'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishInvoiceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublishInvoiceResponse'
      x-endpoint-errors:
      - error-code: CARD_DECLINED
      - error-code: INVALID_CARD
components:
  schemas:
    InvoiceDeliveryMethod:
      type: string
      enum:
      - EMAIL
      - SHARE_MANUALLY
      - SMS
      x-enum-elements:
      - name: EMAIL
        description: Directs Square to send invoices, reminders, and receipts to the customer using email.
      - name: SHARE_MANUALLY
        description: 'Directs Square to take no action on the invoice. In this case, the seller

          or application developer follows up with the customer for payment. For example,

          a seller might collect a payment in the Seller Dashboard or Point of Sale (POS) application.

          The seller might also share the URL of the Square-hosted invoice page (`public_url`) with the customer to request payment.'
      - name: SMS
        description: 'Directs Square to send invoices and receipts to the customer using SMS (text message).


          You cannot set `SMS` as a delivery method using the Invoices API, but you can change an `SMS` delivery method to `EMAIL` or `SHARE_MANUALLY`.'
      description: Indicates how Square delivers the [invoice](entity:Invoice) to the customer.
      x-release-status: PUBLIC
    PublishInvoiceRequest:
      type: object
      description: Describes a `PublishInvoice` request.
      x-release-status: PUBLIC
      required:
      - version
      properties:
        version:
          type: integer
          description: 'The version of the [invoice](entity:Invoice) to publish.

            This must match the current version of the invoice; otherwise, the request is rejected.'
        idempotency_key:
          type: string
          description: "A unique string that identifies the `PublishInvoice` request. If you do not \nprovide `idempotency_key` (or provide an empty string as the value), the endpoint \ntreats each request as independent.\n\nFor more information, see [Idempotency](https://developer.squareup.com/docs/build-basics/common-api-patterns/idempotency)."
          maxLength: 128
          nullable: true
      example:
        idempotency_key: 32da42d0-1997-41b0-826b-f09464fc2c2e
        version: 1
    Address:
      type: object
      description: "Represents a postal address in a country. \nFor more information, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses)."
      x-release-status: PUBLIC
      properties:
        address_line_1:
          type: string
          description: 'The first line of the address.


            Fields that start with `address_line` provide the address''s most specific

            details, like street number, street name, and building name. They do *not*

            provide less specific details like city, state/province, or country (these

            details are provided in other fields).'
          nullable: true
        address_line_2:
          type: string
          description: The second line of the address, if any.
          nullable: true
        address_line_3:
          type: string
          description: The third line of the address, if any.
          nullable: true
        locality:
          type: string
          description: The city or town of the address. For a full list of field meanings by country, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses).
          nullable: true
        sublocality:
          type: string
          description: A civil region within the address's `locality`, if any.
          nullable: true
        sublocality_2:
          type: string
          description: A civil region within the address's `sublocality`, if any.
          nullable: true
        sublocality_3:
          type: string
          description: A civil region within the address's `sublocality_2`, if any.
          nullable: true
        administrative_district_level_1:
          type: string
          description: 'A civil entity within the address''s country. In the US, this

            is the state. For a full list of field meanings by country, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses).'
          nullable: true
        administrative_district_level_2:
          type: string
          description: 'A civil entity within the address''s `administrative_district_level_1`.

            In the US, this is the county.'
          nullable: true
        administrative_district_level_3:
          type: string
          description: 'A civil entity within the address''s `administrative_district_level_2`,

            if any.'
          nullable: true
        postal_code:
          type: string
          description: The address's postal code. For a full list of field meanings by country, see [Working with Addresses](https://developer.squareup.com/docs/build-basics/working-with-addresses).
          nullable: true
        country:
          $ref: '#/components/schemas/Country'
          description: 'The address''s country, in the two-letter format of ISO 3166. For example, `US` or `FR`.

            See [Country](#type-country) for possible values'
          nullable: true
        first_name:
          type: string
          description: Optional first name when it's representing recipient.
          nullable: true
        last_name:
          type: string
          description: Optional last name when it's representing recipient.
          nullable: true
    InvoiceAttachment:
      type: object
      description: Represents a file attached to an [invoice](entity:Invoice).
      x-release-status: PUBLIC
      properties:
        id:
          type: string
          description: The Square-assigned ID of the attachment.
          readOnly: true
        filename:
          type: string
          description: The file name of the attachment, which is displayed on the invoice.
          readOnly: true
        description:
          type: string
          description: 'The description of the attachment, which is displayed on the invoice.

            This field maps to the seller-defined **Message** field.'
          readOnly: true
        filesize:
          type: integer
          description: The file size of the attachment in bytes.
          readOnly: true
        hash:
          type: string
          description: The MD5 hash that was generated from the file contents.
          readOnly: true
        mime_type:
          type: string
          description: "The mime type of the attachment.\nThe following mime types are supported: \nimage/gif, image/jpeg, image/png, image/tiff, image/bmp, application/pdf."
          readOnly: true
        uploaded_at:
          type: string
          description: The timestamp when the attachment was uploaded, in RFC 3339 format.
          readOnly: true
    Country:
      type: string
      enum:
      - ZZ
      - AD
      - AE
      - AF
      - AG
      - AI
      - AL
      - AM
      - AO
      - AQ
      - AR
      - AS
      - AT
      - AU
      - AW
      - AX
      - AZ
      - BA
      - BB
      - BD
      - BE
      - BF
      - BG
      - BH
      - BI
      - BJ
      - BL
      - BM
      - BN
      - BO
      - BQ
      - BR
      - BS
      - BT
      - BV
      - BW
      - BY
      - BZ
      - CA
      - CC
      - CD
      - CF
      - CG
      - CH
      - CI
      - CK
      - CL
      - CM
      - CN
      - CO
      - CR
      - CU
      - CV
      - CW
      - CX
      - CY
      - CZ
      - DE
      - DJ
      - DK
      - DM
      - DO
      - DZ
      - EC
      - EE
      - EG
      - EH
      - ER
      - ES
      - ET
      - FI
      - FJ
      - FK
      - FM
      - FO
      - FR
      - GA
      - GB
      - GD
      - GE
      - GF
      - GG
      - GH
      - GI
      - GL
      - GM
      - GN
      - GP
      - GQ
      - GR
      - GS
      - GT
      - GU
      - GW
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IE
      - IL
      - IM
      - IN
      - IO
      - IQ
      - IR
      - IS
      - IT
      - JE
      - JM
      - JO
      - JP
      - KE
      - KG
      - KH
      - KI
      - KM
      - KN
      - KP
      - KR
      - KW
      - KY
      - KZ
      - LA
      - LB
      - LC
      - LI
      - LK
      - LR
      - LS
      - LT
      - LU
      - LV
      - LY
      - MA
      - MC
      - MD
      - ME
      - MF
      - MG
      - MH
      - MK
      - ML
      - MM
      - MN
      - MO
      - MP
      - MQ
      - MR
      - MS
      - MT
      - MU
      - MV
      - MW
      - MX
      - MY
      - MZ
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NL
      - 'NO'
      - NP
      - NR
      - NU
      - NZ
      - OM
      - PA
      - PE
      - PF
      - PG
      - PH
      - PK
      - PL
      - PM
      - PN
      - PR
      - PS
      - PT
      - PW
      - PY
      - QA
      - RE
      - RO
      - RS
      - RU
      - RW
      - SA
      - SB
      - SC
      - SD
      - SE
      - SG
      - SH
      - SI
      - SJ
      - SK
      - SL
      - SM
      - SN
      - SO
      - SR
      - SS
      - ST
      - SV
      - SX
      - SY
      - SZ
      - TC
      - TD
      - TF
      - TG
      - TH
      - TJ
      - TK
      - TL
      - TM
      - TN
      - TO
      - TR
      - TT
      - TV
      - TW
      - TZ
      - UA
      - UG
      - UM
      - US
      - UY
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - YE
      - YT
      - ZA
      - ZM
      - ZW
      x-enum-elements:
      - name: ZZ
        description: Unknown
      - name: AD
        description: Andorra
      - name: AE
        description: United Arab Emirates
      - name: AF
        description: Afghanistan
      - name: AG
        description: Antigua and Barbuda
      - name: AI
        description: Anguilla
      - name: AL
        description: Albania
      - name: AM
        description: Armenia
      - name: AO
        description: Angola
      - name: AQ
        description: Antartica
      - name: AR
        description: Argentina
      - name: AS
        description: American Samoa
      - name: AT
        description: Austria
      - name: AU
        description: Australia
      - name: AW
        description: Aruba
      - name: AX
        description: Åland Islands
      - name: AZ
        description: Azerbaijan
      - name: BA
        description: Bosnia and Herzegovina
      - name: BB
        description: Barbados
      - name: BD
        description: Bangladesh
      - name: BE
        description: Belgium
      - name: BF
        description: Burkina Faso
      - name: BG
        description: Bulgaria
      - name: BH
        description: Bahrain
      - name: BI
        description: Burundi
      - name: BJ
        description: Benin
      - name: BL
        description: Saint Barthélemy
      - name: BM
        description: Bermuda
      - name: BN
        description: Brunei
      - name: BO
        description: Bolivia
      - name: BQ
        description: Bonaire
      - name: BR
        description: Brazil
      - name: BS
        description: Bahamas
      - name: BT
        description: Bhutan
      - name: BV
        description: Bouvet Island
      - name: BW
        description: Botswana
      - name: BY
        description: Belarus
      - name: BZ
        description: Belize
      - name: CA
        description: Canada
      - name: CC
        description: Cocos Islands
      - name: CD
        description: Democratic Republic of the Congo
      - name: CF
        description: Central African Republic
      - name: CG
        description: Congo
      - name: CH
        description: Switzerland
      - name: CI
        description: Ivory Coast
      - name: CK
        description: Cook Islands
      - name: CL
        description: Chile
      - name: CM
        description: Cameroon
      - name: CN
        description: China
      - name: CO
        description: Colombia
      - name: CR
        description: Costa Rica
      - name: CU
        description: Cuba
      - name: CV
        description: Cabo Verde
      - name: CW
        description: Curaçao
      - name: CX
        description: Christmas Island
      - name: CY
        description: Cyprus
      - name: CZ
        description: Czechia
      - name: DE
        description: Germany
      - name: DJ
        description: Djibouti
      - name: DK
        description: Denmark
      - name: DM
        description: Dominica
      - name: DO
        description: Dominican Republic
      - name: DZ
        description: Algeria
      - name: EC
        description: Ecuador
      - name: EE
        description: Estonia
      - name: EG
        description: Egypt
      - name: EH
        description: Western Sahara
      - name: ER
        description: Eritrea
      - name: ES
        description: Spain
      - name: ET
        description: Ethiopia
      - name: FI
        description: Finland
      - name: FJ
        description: Fiji
      - name: FK
        description: Falkland Islands
      - name: FM
        description: Federated States of Micronesia
      - name: FO
        description: Faroe Islands
      - name: FR
        description: France
      - name: GA
        description: Gabon
      - name: GB
        description: United Kingdom
      - name: GD
        description: Grenada
      - name: GE
        description: Georgia
      - name: GF
        description: French Guiana
      - name: GG
        description: Guernsey
      - name: GH
        description: Ghana
      - name: GI
        description: Gibraltar
      - name: GL
        description: Greenland
      - name: GM
        description: Gambia
      - name: GN
        description: Guinea
      - name: GP
        description: Guadeloupe
      - name: GQ
        description: Equatorial Guinea
      - name: GR
        description: Greece
      - name: GS
        description: South Georgia and the South Sandwich Islands
      - name: GT
        description: Guatemala
      - name: GU
        description: Guam
      - name: GW
        description: Guinea-Bissau
      - name: GY
        description: Guyana
      - name: HK
        description: Hong Kong
      - name: HM
        description: Heard Island and McDonald Islands
      - name: HN
        description: Honduras
      - name: HR
        description: Croatia
      - name: HT
        description: Haiti
      - name: HU
        description: Hungary
      - name: ID
        description: Indonesia
      - name: IE
        description: Ireland
      - name: IL
        description: Israel
      - name: IM
        description: Isle of Man
      - name: IN
        description: India
      - name: IO
        description: British Indian Ocean Territory
      - name: IQ
        description: Iraq
      - name: IR
        description: Iran
      - name: IS
        description: Iceland
      - name: IT
        description: Italy
      - name: JE
        description: Jersey
      - name: JM
        description: Jamaica
      - name: JO
        description: Jordan
      - name: JP
        description: Japan
      - name: KE
        description: Kenya
      - name: KG
        description: Kyrgyzstan
      - name: KH
        description: Cambodia
      - name: KI
        description: Kiribati
      - name: KM
        description: Comoros
      - name: KN
        description: Saint Kitts and Nevis
      - name: KP
        description: Democratic People's Republic of Korea
      - name: KR
        description: Republic of Korea
      - name: KW
        description: Kuwait
      - name: KY
        description: Cayman Islands
      - name: KZ
        description: Kazakhstan
      - name: LA
        description: Lao People's D

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