Square website screenshot

Square

Square provides APIs for payment processing, point of sale, and business management solutions enabling developers to build custom commerce applications.

37 APIs 16 Features
RestaurantBookingsCatalogCheckoutCustomersDisputesEcommerceFinancial TechnologyGift CardsInventoryInvoicingLaborLocationsLoyaltyMerchantsOrdersPaymentsPoint of SaleRefundsRetailSubscriptionsTeamTerminalWebhooks

APIs

Square Payments API

The Payments API lets applications take and manage payments by charging payment methods supported by the Web Payments SDK or In-App Payments SDK, including credit cards, gift ca...

Square Orders API

The Orders API lets applications itemize payments using custom line items or catalog objects, send orders to physical Point of Sale devices for fulfillment, attach customers to ...

Square Catalog API

The Catalog API programmatically catalogs a Square seller's products for sale and services for hire, enabling applications to create, update, and manage catalog items, categorie...

Square Inventory API

The Inventory API programmatically manages a Square seller's inventory of catalog items, including updating and tracking inventory changes and retrieving inventory counts.

Square Customers API

The Customers API lets applications create and manage customer profiles to streamline bookings, build loyalty programs, sell gift cards, and offer discounts. It enables syncing ...

Square Locations API

The Locations API lets applications create and manage the locations of a seller's business, including retrieving location details and managing location settings.

Square Team API

The Team API lets applications create and manage a roster of team members, configure jobs, and synchronize team member data with external platforms including accounting and payr...

Square Labor API

The Labor API is the timekeeping component of Square's team management APIs, enabling applications to manage time tracking and scheduling for team members, record hours worked, ...

Square Bookings API

The Bookings API enables creating reservations of services provided by a seller's staff for customers at particular locations and times. Applications can create, update, cancel,...

Square Loyalty API

The Loyalty API allows applications to set up and manage loyalty programs, enroll buyers, accrue points, and redeem rewards. It works with the Orders API to manage loyalty accou...

Square Gift Cards API

The Gift Cards API enables sellers to launch a gifting program with digital and physical gift cards. Applications can create, retrieve, link, and unlink gift cards, and manage g...

Square Invoices API

The Invoices API lets applications request or automatically collect payments from customers for orders created using the Orders API. It supports creating, updating, publishing, ...

Square Subscriptions API

The Subscriptions API enables sellers to generate recurring revenue by offering scheduled fulfillment of products or services. Applications can create and manage subscription pl...

Square Checkout API

The Checkout API creates Square-hosted checkout pages for collecting payments. Applications can generate payment links with a simple API call, supporting credit cards, debit car...

Square Terminal API

The Terminal API lets developers integrate Square in-person payments so custom POS applications can use Square Terminal for card chip and NFC payments, with EMV certification an...

Square Refunds API

The Refunds API lets applications refund the entire payment amount or a portion of it for card payments, and record refunds of cash or external payments.

Square Disputes API

The Disputes API manages payment disputes and chargebacks, allowing applications to list disputes, retrieve dispute details, challenge disputes by submitting evidence, and accep...

Square Merchants API

The Merchants API groups individual seller locations into larger organizations, with each merchant representing one organization or business that sells with Square.

Square Cards API

The Cards API lets applications save a credit or debit card on file for a customer, enabling faster future payments without re-entering card details.

Square Vendors API

The Vendors API lets applications manage vendors and suppliers for a seller, enabling creation, retrieval, and updating of vendor information.

Square Cash Drawers API

The Cash Drawers API is a reporting API for businesses that use a cash drawer with their Square Point of Sale terminals, providing filtered and paged lists of cash drawer shift ...

Square Bank Accounts API

The Bank Accounts API lets applications retrieve a list of a seller's bank accounts and get details about specific bank accounts linked to a Square account.

Square Payouts API

The Payouts API lets applications get a list of deposits and withdrawals from a seller's bank accounts, providing visibility into funds movement.

Square Apple Pay API

The Apple Pay API provides an easy way for platform developers to bulk activate Web Apple Pay with Square for merchants using their platform.

Square Sites API

The Sites API lets applications retrieve basic details about Square Online sites belonging to a seller, such as site ID, title, and domain. It is used in combination with the Sn...

Square Snippets API

The Snippets API lets applications add custom scripts to a Square Online site. Snippets can run as modals, pop ups, or background jobs, offering a range of functionality to exte...

Square OAuth API

The OAuth API lets applications obtain and manage access tokens that grant scoped, permissioned access to a seller's Square account, supporting the authorization code grant flow...

Square Webhook Subscriptions API

The Webhook Subscriptions API lets applications programmatically create and manage webhook subscriptions to receive real-time event notifications for changes to payments, orders...

Square Events API

The Events API lets applications search and retrieve the history of events that have occurred in a seller's Square account, providing an audit trail and the ability to replay or...

Square Devices API

The Devices API lets applications create device codes to pair Square hardware such as Square Terminal and Square Register, and retrieve device details for managing point-of-sale...

Square Customer Groups API

The Customer Groups API lets applications create and manage groups of customers, enabling segmentation for targeted marketing, pricing rules, and loyalty programs.

Square Customer Segments API

The Customer Segments API lets applications retrieve the smart, automatically maintained customer segments defined in a seller's Square Customer Directory, supporting targeted e...

Square Gift Card Activities API

The Gift Card Activities API lets applications create and list gift card activities such as activating, loading, redeeming, adjusting, and refunding balances, providing a full l...

Square Custom Attributes API

The Custom Attributes APIs let applications define and attach custom metadata to core Square resources, including customers, orders, bookings, merchants, and locations, enabling...

Square Reporting API

The Reporting API (Beta) provides a new way to access all of a business's data to build custom reports and integrations, surfacing sales, payments, and operational metrics acros...

Square Channels API

The Channels API lets applications represent and manage the sales channels through which a seller transacts, enabling attribution of orders and payments to specific online or in...

Square Transfer Orders API

The Transfer Orders API lets applications create and manage transfers of inventory stock between a seller's locations, supporting multi-location retail and restaurant operations.

Collections

Square

OPEN

GraphQL

Square GraphQL Schema

This conceptual GraphQL schema models the Square payments and commerce platform. Square provides APIs for payment processing, point of sale, catalog management, inventory, custo...

GRAPHQL

Pricing Plans

Square Plans Pricing

4 plans

PLANS

Rate Limits

Square Rate Limits

3 limits

RATE LIMITS

FinOps

Square Finops

FINOPS

Features

Tap/dip/swipe: 2.6%+15¢ Free, 2.5%+15¢ Plus, 2.4%+15¢ Premium
Online (Square site): 3.3%+30¢ Free, 2.9%+30¢ Plus/Premium
Online API: 2.9%+30¢ all plans
Manual entry/card on file: 3.5%+15¢ all plans
ACH (invoice): 1% $1 min ($10 cap on Plus/Premium)
ACH (API): 1% $1 min, $5 cap
Afterpay BNPL: 6%+30¢
Cash/check: free
Bitcoin: 0% until 2027
International cards: +1.50% on top
Square Payments, POS, Online, Invoices, Subscriptions APIs
Square Reader/Stand/Terminal/Register hardware
Webhooks for transactions, customers, orders
OAuth 2.0 + Personal access tokens
Catalog API for items, categories, taxes, modifiers
Customer Directory API

Use Cases

Accept Payments Online
Build Custom POS Systems
Manage Product Catalogs
Track Inventory Across Locations
Create Loyalty and Rewards Programs
Send and Manage Invoices
Schedule Appointments and Bookings
Manage Team Members and Labor
Process Refunds and Disputes
Sell Gift Cards
Set Up Recurring Subscriptions

Integrations

Apple Pay
Google Pay
Cash App Pay
Afterpay
QuickBooks
WooCommerce
Wix
BigCommerce

Event Specifications

Square Webhooks

AsyncAPI 2.6 description of the Square webhook event surface. Square delivers HTTPS POST notifications to a subscriber-provided `notification_url` whenever an event occurs on a ...

ASYNCAPI

Semantic Vocabularies

Square Context

0 classes · 10 properties

JSON-LD

API Governance Rules

Square API Rules

28 rules · 7 errors 12 warnings 9 info

SPECTRAL

JSON Structure

Catalog Item Structure

19 properties

JSON STRUCTURE

Customer Structure

19 properties

JSON STRUCTURE

Location Structure

27 properties

JSON STRUCTURE

Money Structure

2 properties

JSON STRUCTURE

Order Structure

29 properties

JSON STRUCTURE

Payment Structure

38 properties

JSON STRUCTURE

Subscription Structure

19 properties

JSON STRUCTURE

Example Payloads

Catalog Item Example

19 fields

EXAMPLE

Customer Example

19 fields

EXAMPLE

Location Example

27 fields

EXAMPLE

Money Example

2 fields

EXAMPLE

Order Example

29 fields

EXAMPLE

Payment Example

38 fields

EXAMPLE

Subscription Example

19 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
📄
ChangeLog
ChangeLog
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
Webhooks
Webhooks
🔗
AsyncAPI
AsyncAPI
🔗
Sandbox
Sandbox
🔗
RateLimits
RateLimits
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🌐
Console
Console
🌐
Console
Console
📝
Signup
Signup
📰
Blog
Blog
💬
Support
Support
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
🔗
Partners
Partners
🟢
StatusPage
StatusPage
👥
GitHubOrganization
GitHubOrganization
🔗
OpenAPI
OpenAPI
👥
StackOverflow
StackOverflow
🔗
X
X
💬
Support
Support
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONSchema
JSONSchema
🔗
JSONLD
JSONLD
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
💻
CodeExamples
CodeExamples
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🔗
OpenAPI
OpenAPI
🔗
Rules
Rules
🔗
Vocabulary
Vocabulary
🔗
MCPServer
MCPServer
🔧
MCP Server
Tools
🔧
Remote MCP Server (Hosted)
Tools
🔗
MCP Server Documentation
Documentation
📦
MCP Server (npm)
SDKs
🔗
LlmsText
LlmsText
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
🔗
JSONStructure
JSONStructure
💻
Examples
Examples
💻
Examples
Examples
💻
Examples
Examples
💻
Examples
Examples
💻
Examples
Examples
💻
Examples
Examples
💻
Examples
Examples
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Square
  version: '2.0'
items:
- info:
    name: MobileAuthorization
    type: folder
  items:
  - info:
      name: Square Create Mobile Authorization Code
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/mobile/authorization-code
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Generates code to authorize a mobile application to connect to a Square card reader.


      Authorization codes are one-time-use codes and expire 60 minutes after being issued.


      __Important:__ The `Authorization` header you provide to this endpoint must have the following format:


      ```

      Authorization: Bearer ACCESS_TOKEN

      ```


      Replace `ACCESS_TOKEN` with a

      [valid production authorization credential](https://developer.squareup.com/docs/build-basics/access-tokens).'
- info:
    name: OAuth
    type: folder
  items:
  - info:
      name: Square Revoke Token
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/oauth2/revoke
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: "Revokes an access token generated with the OAuth flow.\n\nIf an account has more than one OAuth access token for\
      \ your application, this\nendpoint revokes all of them, regardless of which token you specify. \n\n__Important:__ The\
      \ `Authorization` header for this endpoint must have the\nfollowing format:\n\n```\nAuthorization: Client APPLICATION_SECRET\n\
      ```\n\nReplace `APPLICATION_SECRET` with the application secret on the **OAuth**\npage for your application in the Developer\
      \ Dashboard."
  - info:
      name: Square Obtain Token
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/oauth2/token
      body:
        type: json
        data: '{}'
    docs: "Returns an OAuth access token and a refresh token unless the \n`short_lived` parameter is set to `true`, in which\
      \ case the endpoint \nreturns only an access token.\n\nThe `grant_type` parameter specifies the type of OAuth request.\
      \ If \n`grant_type` is `authorization_code`, you must include the authorization \ncode you received when a seller granted\
      \ you authorization. If `grant_type` \nis `refresh_token`, you must provide a valid refresh token. If you're using \n\
      an old version of the Square APIs (prior t"
  - info:
      name: Square Retrieve Token Status
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/oauth2/token/status
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Returns information about an [OAuth access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-an-oauth-access-token)
      or an application’s [personal access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-a-personal-access-token).


      Add the access token to the Authorization header of the request.


      __Important:__ The `Authorization` header you provide to this endpoint must have the following format:


      ```

      Authorization: Bearer ACCESS_TOKEN

      ```


      where `A'
- info:
    name: V1Transactions
    type: folder
  items:
  - info:
      name: Square V1 List Orders
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v1/:location_id/orders
      params:
      - name: location_id
        value: ''
        type: path
        description: The ID of the location to list online store orders for.
      - name: order
        value: ''
        type: query
        description: The order in which payments are listed in the response.
      - name: limit
        value: ''
        type: query
        description: The maximum number of payments to return in a single response. This value cannot exceed 200.
      - name: batch_token
        value: ''
        type: query
        description: 'A pagination cursor to retrieve the next set of results for your

          original query to the endpoint.'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Provides summary information for a merchant's online store orders.
  - info:
      name: Square V1 Retrieve Order
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v1/:location_id/orders/:order_id
      params:
      - name: location_id
        value: ''
        type: path
        description: The ID of the order's associated location.
      - name: order_id
        value: ''
        type: path
        description: The order's Square-issued ID. You obtain this value from Order objects returned by the List Orders endpoint
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Provides comprehensive information for a single online store order, including the order's history.
  - info:
      name: Square V1 Update Order
      type: http
    http:
      method: PUT
      url: https://connect.squareup.com/v1/:location_id/orders/:order_id
      params:
      - name: location_id
        value: ''
        type: path
        description: The ID of the order's associated location.
      - name: order_id
        value: ''
        type: path
        description: The order's Square-issued ID. You obtain this value from Order objects returned by the List Orders endpoint
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Updates the details of an online store order. Every update you perform on an order corresponds to one of three
      actions:'
- info:
    name: ApplePay
    type: folder
  items:
  - info:
      name: Square Register Domain
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/apple-pay/domains
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Activates a domain for use with Apple Pay on the Web and Square. A validation

      is performed on this domain by Apple to ensure that it is properly set up as

      an Apple Pay enabled domain.


      This endpoint provides an easy way for platform developers to bulk activate

      Apple Pay on the Web with Square for merchants using their platform.


      Note: You will need to host a valid domain verification file on your domain to support Apple Pay.  The

      current version of this file is always available at https://app.sq'
- info:
    name: BankAccounts
    type: folder
  items:
  - info:
      name: Square List Bank Accounts
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bank-accounts
      params:
      - name: cursor
        value: ''
        type: query
        description: "The pagination cursor returned by a previous call to this endpoint.\nUse it in the next `ListBankAccounts`\
          \ request to retrieve the next set \nof results.\n\nSee the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination)\
          \ guide for more information."
      - name: limit
        value: ''
        type: query
        description: "Upper limit on the number of bank accounts to return in the response. \nCurrently, 1000 is the largest\
          \ supported limit. You can specify a limit \nof up to 1000 bank accounts. This is also the default limit."
      - name: location_id
        value: ''
        type: query
        description: "Location ID. You can specify this optional filter \nto retrieve only the linked bank accounts belonging\
          \ to a specific location."
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Returns a list of [BankAccount](entity:BankAccount) objects linked to a Square account.
  - info:
      name: Square Get Bank Account by V1 ID
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bank-accounts/by-v1-id/:v1_bank_account_id
      params:
      - name: v1_bank_account_id
        value: ''
        type: path
        description: "Connect V1 ID of the desired `BankAccount`. For more information, see \n[Retrieve a bank account by\
          \ using an ID issued by V1 Bank Accounts API](https://developer.squareup.com/docs/bank-accounts-api#retrieve-a-bank-account-by-using-an-id-issued-by-v1-bank-accounts-api)."
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Returns details of a [BankAccount](entity:BankAccount) identified by V1 bank account ID.
  - info:
      name: Square Get Bank Account
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bank-accounts/:bank_account_id
      params:
      - name: bank_account_id
        value: ''
        type: path
        description: Square-issued ID of the desired `BankAccount`.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Returns details of a [BankAccount](entity:BankAccount)

      linked to a Square account.'
- info:
    name: Bookings
    type: folder
  items:
  - info:
      name: Square List Bookings
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings
      params:
      - name: limit
        value: ''
        type: query
        description: The maximum number of results per page to return in a paged response.
      - name: cursor
        value: ''
        type: query
        description: The pagination cursor from the preceding response to return the next page of the results. Do not set
          this when retrieving the first page of the results.
      - name: customer_id
        value: ''
        type: query
        description: The [customer](entity:Customer) for whom to retrieve bookings. If this is not set, bookings for all customers
          are retrieved.
      - name: team_member_id
        value: ''
        type: query
        description: The team member for whom to retrieve bookings. If this is not set, bookings of all members are retrieved.
      - name: location_id
        value: ''
        type: query
        description: The location for which to retrieve bookings. If this is not set, all locations' bookings are retrieved.
      - name: start_at_min
        value: ''
        type: query
        description: The RFC 3339 timestamp specifying the earliest of the start time. If this is not set, the current time
          is used.
      - name: start_at_max
        value: ''
        type: query
        description: The RFC 3339 timestamp specifying the latest of the start time. If this is not set, the time of 31 days
          after `start_at_min` is used.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Retrieve a collection of bookings.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth
      scope.'
  - info:
      name: Square Create Booking
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Creates a booking.


      The required input must include the following:

      - `Booking.location_id`

      - `Booking.start_at`

      - `Booking.AppointmentSegment.team_member_id`

      - `Booking.AppointmentSegment.service_variation_id`

      - `Booking.AppointmentSegment.service_variation_version`


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For c'
  - info:
      name: Square Search Availability
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/availability/search
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Searches for availabilities for booking.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth
      scope.'
  - info:
      name: Square Bulk Retrieve Bookings
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/bulk-retrieve
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Bulk-Retrieves a list of bookings by booking IDs.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth
      scope.'
  - info:
      name: Square Retrieve Business Booking Profile
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/business-booking-profile
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieves a seller's booking profile.
  - info:
      name: Square List Location Booking Profiles
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/location-booking-profiles
      params:
      - name: limit
        value: ''
        type: query
        description: The maximum number of results to return in a paged response.
      - name: cursor
        value: ''
        type: query
        description: The pagination cursor from the preceding response to return the next page of the results. Do not set
          this when retrieving the first page of the results.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Lists location booking profiles of a seller.
  - info:
      name: Square Retrieve Location Booking Profile
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/location-booking-profiles/:location_id
      params:
      - name: location_id
        value: ''
        type: path
        description: The ID of the location to retrieve the booking profile.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieves a seller's location booking profile.
  - info:
      name: Square List Team Member Booking Profiles
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/team-member-booking-profiles
      params:
      - name: bookable_only
        value: ''
        type: query
        description: Indicates whether to include only bookable team members in the returned result (`true`) or not (`false`).
      - name: limit
        value: ''
        type: query
        description: The maximum number of results to return in a paged response.
      - name: cursor
        value: ''
        type: query
        description: The pagination cursor from the preceding response to return the next page of the results. Do not set
          this when retrieving the first page of the results.
      - name: location_id
        value: ''
        type: query
        description: Indicates whether to include only team members enabled at the given location in the returned result.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Lists booking profiles for team members.
  - info:
      name: Square Bulk Retrieve Team Member Booking Profiles
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/team-member-booking-profiles/bulk-retrieve
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieves one or more team members' booking profiles.
  - info:
      name: Square Retrieve Team Member Booking Profile
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/team-member-booking-profiles/:team_member_id
      params:
      - name: team_member_id
        value: ''
        type: path
        description: The ID of the team member to retrieve.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Retrieves a team member's booking profile.
  - info:
      name: Square Retrieve Booking
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/:booking_id
      params:
      - name: booking_id
        value: ''
        type: path
        description: The ID of the [Booking](entity:Booking) object representing the to-be-retrieved booking.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Retrieves a booking.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth
      scope.'
  - info:
      name: Square Update Booking
      type: http
    http:
      method: PUT
      url: https://connect.squareup.com/v2/bookings/:booking_id
      params:
      - name: booking_id
        value: ''
        type: path
        description: The ID of the [Booking](entity:Booking) object representing the to-be-updated booking.
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Updates a booking.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments
      Plus*

      or *Appointments Premium*.'
  - info:
      name: Square Cancel Booking
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/:booking_id/cancel
      params:
      - name: booking_id
        value: ''
        type: path
        description: The ID of the [Booking](entity:Booking) object representing the to-be-cancelled booking.
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Cancels an existing booking.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments
      Plus*

      or *Appointments Premium*.'
- info:
    name: BookingCustomAttributes
    type: folder
  items:
  - info:
      name: Square List Booking Custom Attribute Definitions
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/custom-attribute-definitions
      params:
      - name: limit
        value: ''
        type: query
        description: 'The maximum number of results to return in a single paged response. This limit is advisory.

          The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100.

          The default value is 20. For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).'
      - name: cursor
        value: ''
        type: query
        description: 'The cursor returned in the paged response from the previous call to this endpoint.

          Provide this cursor to retrieve the next page of results for your original request.

          For more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Get all bookings custom attribute definitions.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth
      scope.'
  - info:
      name: Square Create Booking Custom Attribute Definition
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/custom-attribute-definitions
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Creates a bookings custom attribute definition.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments
      Plus*

      or *Appointments Premium*.'
  - info:
      name: Square Retrieve Booking Custom Attribute Definition
      type: http
    http:
      method: GET
      url: https://connect.squareup.com/v2/bookings/custom-attribute-definitions/:key
      params:
      - name: key
        value: ''
        type: path
        description: 'The key of the custom attribute definition to retrieve. If the requesting application

          is not the definition owner, you must use the qualified key.'
      - name: version
        value: ''
        type: query
        description: 'The current version of the custom attribute definition, which is used for strongly consistent

          reads to guarantee that you receive the most up-to-date data. When included in the request,

          Square returns the specified version or a higher version if one exists. If the specified version

          is higher than the current version, Square returns a `BAD_REQUEST` error.'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Retrieves a bookings custom attribute definition.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth
      scope.'
  - info:
      name: Square Update Booking Custom Attribute Definition
      type: http
    http:
      method: PUT
      url: https://connect.squareup.com/v2/bookings/custom-attribute-definitions/:key
      params:
      - name: key
        value: ''
        type: path
        description: The key of the custom attribute definition to update.
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Updates a bookings custom attribute definition.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments
      Plus*

      or *Appointments Premium*.'
  - info:
      name: Square Delete Booking Custom Attribute Definition
      type: http
    http:
      method: DELETE
      url: https://connect.squareup.com/v2/bookings/custom-attribute-definitions/:key
      params:
      - name: key
        value: ''
        type: path
        description: The key of the custom attribute definition to delete.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Deletes a bookings custom attribute definition.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments
      Plus*

      or *Appointments Premium*.'
  - info:
      name: Square Bulk Delete Booking Custom Attributes
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/custom-attributes/bulk-delete
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Bulk deletes bookings custom attributes.


      To call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.

      To call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth
      scope.


      For calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments
      Plus*

      or *Appointments Premium*.'
  - info:
      name: Square Bulk Upsert Booking Custom Attributes
      type: http
    http:
      method: POST
      url: https://connect.squareup.com/v2/bookings/custom-attributes/bulk-upsert
      body:
        type: json
        data: '{}'
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://connect.squareup.com/oauth2/authorize
        accessTokenUrl: https://connect.squareup.com/oauth2/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: 'Bulk upserts bookings custom attributes.


      To call this endpoin

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