{
  "opencollection": "1.0.0",
  "info": {
    "name": "Square ApplePay BookingCustomAttributes API",
    "version": "2.0"
  },
  "items": [
    {
      "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.\nThe response might contain more or fewer results. The minimum value is 1 and the maximum value is 100.\nThe 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.\nProvide this cursor to retrieve the next page of results for your original request.\nFor 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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.\nTo 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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *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\nis 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\nreads to guarantee that you receive the most up-to-date data. When included in the request,\nSquare returns the specified version or a higher version if one exists. If the specified version\nis 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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.\nTo 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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *Appointments Premium*."
        },
        {
          "info": {
            "name": "Square List Booking Custom Attributes",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://connect.squareup.com/v2/bookings/:booking_id/custom-attributes",
            "params": [
              {
                "name": "booking_id",
                "value": "",
                "type": "path",
                "description": "The ID of the target [booking](entity:Booking)."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "The maximum number of results to return in a single paged response. This limit is advisory.\nThe response might contain more or fewer results. The minimum value is 1 and the maximum value is 100.\nThe 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.\nProvide this cursor to retrieve the next page of results for your original request. For more\ninformation, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination)."
              },
              {
                "name": "with_definitions",
                "value": "",
                "type": "query",
                "description": "Indicates whether to return the [custom attribute definition](entity:CustomAttributeDefinition) in the `definition` field of each\ncustom attribute. Set this parameter to `true` to get the name and description of each custom\nattribute, information about the data type, or other definition details. The default value is `false`."
              }
            ],
            "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 a booking's custom attributes.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth scope."
        },
        {
          "info": {
            "name": "Square Retrieve Booking Custom Attribute",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://connect.squareup.com/v2/bookings/:booking_id/custom-attributes/:key",
            "params": [
              {
                "name": "booking_id",
                "value": "",
                "type": "path",
                "description": "The ID of the target [booking](entity:Booking)."
              },
              {
                "name": "key",
                "value": "",
                "type": "path",
                "description": "The key of the custom attribute to retrieve. This key must match the `key` of a custom\nattribute definition in the Square seller account. If the requesting application is not the\ndefinition owner, you must use the qualified key."
              },
              {
                "name": "with_definition",
                "value": "",
                "type": "query",
                "description": "Indicates whether to return the [custom attribute definition](entity:CustomAttributeDefinition) in the `definition` field of\nthe custom attribute. Set this parameter to `true` to get the name and description of the custom\nattribute, information about the data type, or other definition details. The default value is `false`."
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "The current version of the custom attribute, which is used for strongly consistent reads to\nguarantee that you receive the most up-to-date data. When included in the request, Square\nreturns the specified version or a higher version if one exists. If the specified version is\nhigher 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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_READ` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_READ` and `APPOINTMENTS_READ` for the OAuth scope."
        },
        {
          "info": {
            "name": "Square Upsert Booking Custom Attribute",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://connect.squareup.com/v2/bookings/:booking_id/custom-attributes/:key",
            "params": [
              {
                "name": "booking_id",
                "value": "",
                "type": "path",
                "description": "The ID of the target [booking](entity:Booking)."
              },
              {
                "name": "key",
                "value": "",
                "type": "path",
                "description": "The key of the custom attribute to create or update. This key must match the `key` of a\ncustom attribute definition in the Square seller account. If the requesting application is not\nthe definition owner, you must use the qualified key."
              }
            ],
            "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": "Upserts a bookings custom attribute.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *Appointments Premium*."
        },
        {
          "info": {
            "name": "Square Delete Booking Custom Attribute",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://connect.squareup.com/v2/bookings/:booking_id/custom-attributes/:key",
            "params": [
              {
                "name": "booking_id",
                "value": "",
                "type": "path",
                "description": "The ID of the target [booking](entity:Booking)."
              },
              {
                "name": "key",
                "value": "",
                "type": "path",
                "description": "The key of the custom attribute to delete. This key must match the `key` of a custom\nattribute definition in the Square seller account. If the requesting application is not the\ndefinition owner, you must use the qualified key."
              }
            ],
            "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.\n\nTo call this endpoint with buyer-level permissions, set `APPOINTMENTS_WRITE` for the OAuth scope.\nTo call this endpoint with seller-level permissions, set `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.\n\nFor calls to this endpoint with seller-level permissions to succeed, the seller must have subscribed to *Appointments Plus*\nor *Appointments Premium*."
        }
      ]
    }
  ],
  "bundled": true
}