Files
square-connect-openapi-agent/agent.py
a2a-platform dcf20c131f deploy
2026-06-27 01:02:54 +00:00

436 lines
560 KiB
Python

from __future__ import annotations
import base64
import json
import re
from pathlib import Path
from typing import Any
import httpx
from a2a_pack.deepagents import create_a2a_deep_agent
from langchain_core.messages import BaseMessage
from langchain_core.tools import StructuredTool
from pydantic import BaseModel, Field
from a2a_pack import (
A2AAgent,
ConsumerSetup,
ConsumerSetupField,
ConsumerSetupMissing,
EgressPolicy,
LLMProvisioning,
Pricing,
Resources,
RunContext,
skill,
)
DEFAULT_BASE_URL = "https://connect.squareup.com"
OPERATIONS = json.loads("{\n \"accept_dispute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Accepts the loss on a dispute. Square returns the disputed amount to the cardholder and\\nupdates the dispute state to ACCEPTED.\\n\\nSquare debits the disputed amount from the seller\\u2019s Square account. If the Square account\\ndoes not have sufficient funds, Square debits the associated bank account.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"accept_dispute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute you want to accept.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/accept\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"accept_dispute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"AcceptDispute\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"accumulate_loyalty_points\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds points earned from a purchase to a [loyalty account](entity:LoyaltyAccount).\\n\\n- If you are using the Orders API to manage orders, provide the `order_id`. Square reads the order\\nto compute the points earned from both the base loyalty program and an associated\\n[loyalty promotion](entity:LoyaltyPromotion). For purchases that qualify for multiple accrual\\nrules, Square computes points based on the accrual rule that grants the most points.\\nFor purchases that qualify for multiple promotions, Square computes points based on the most\\nrecently created promotion. A purchase must first qualify for program points to be eligible for promotion points.\\n\\n- If you are not using the Orders API to manage orders, provide `points` with the number of points to add.\\nYou must first perform a client-side computation of the points earned from the loyalty program and\\nloyalty promotion. For spend-based and visit-based programs, you can call [CalculateLoyaltyPoints](api-endpoint:Loyalty-CalculateLoyaltyPoints)\\nto compute the points earned from the base loyalty program. For information about computing points earned from a loyalty promotion, see\\n[Calculating promotion points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions#calculate-promotion-points).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"accumulate_loyalty_points\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [loyalty account](entity:LoyaltyAccount).\",\n \"in\": \"path\",\n \"name\": \"account_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/accounts/{account_id}/accumulate\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/AccumulateLoyaltyPointsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"accumulate_loyalty_points\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"AccumulateLoyaltyPoints\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"add_group_to_customer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a group membership to a customer.\\n\\nThe customer is identified by the `customer_id` value\\nand the customer group is identified by the `group_id` value.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"add_group_to_customer\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer to add to a group.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the customer group to add the customer to.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/groups/{group_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"add_group_to_customer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"AddGroupToCustomer\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"adjust_loyalty_points\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds points to or subtracts points from a buyer's account.\\n\\nUse this endpoint only when you need to manually adjust points. Otherwise, in your application flow, you call\\n[AccumulateLoyaltyPoints](api-endpoint:Loyalty-AccumulateLoyaltyPoints)\\nto add points when a buyer pays for the purchase.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"adjust_loyalty_points\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [loyalty account](entity:LoyaltyAccount).\",\n \"in\": \"path\",\n \"name\": \"account_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/accounts/{account_id}/adjust\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/AdjustLoyaltyPointsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"adjust_loyalty_points\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"AdjustLoyaltyPoints\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"batch_change_inventory\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Applies adjustments and counts to the provided item quantities.\\n\\nOn success: returns the current calculated counts for all objects\\nreferenced in the request.\\nOn failure: returns a list of related errors.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_change_inventory\",\n \"parameters\": [],\n \"path\": \"/v2/inventory/changes/batch-create\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchChangeInventoryRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"batch_change_inventory\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchChangeInventory\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"batch_delete_catalog_objects\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a set of [CatalogItem](entity:CatalogItem)s based on the\\nprovided list of target IDs and returns a set of successfully deleted IDs in\\nthe response. Deletion is a cascading event such that all children of the\\ntargeted object are also deleted. For example, deleting a CatalogItem will\\nalso delete all of its [CatalogItemVariation](entity:CatalogItemVariation)\\nchildren.\\n\\n`BatchDeleteCatalogObjects` succeeds even if only a portion of the targeted\\nIDs can be deleted. The response will only include IDs that were\\nactually deleted.\\n\\nTo ensure consistency, only one delete request is processed at a time per seller account.\\nWhile one (batch or non-batch) delete request is being processed, other (batched and non-batched)\\ndelete requests are rejected with the `429` error code.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_delete_catalog_objects\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/batch-delete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchDeleteCatalogObjectsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"batch_delete_catalog_objects\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchDeleteCatalogObjects\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"batch_retrieve_catalog_objects\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a set of objects based on the provided ID.\\nEach [CatalogItem](entity:CatalogItem) returned in the set includes all of its\\nchild information including: all of its\\n[CatalogItemVariation](entity:CatalogItemVariation) objects, references to\\nits [CatalogModifierList](entity:CatalogModifierList) objects, and the ids of\\nany [CatalogTax](entity:CatalogTax) objects that apply to it.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_retrieve_catalog_objects\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/batch-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchRetrieveCatalogObjectsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"batch_retrieve_catalog_objects\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchRetrieveCatalogObjects\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"batch_retrieve_inventory_changes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns historical physical counts and adjustments based on the\\nprovided filter criteria.\\n\\nResults are paginated and sorted in ascending order according their\\n`occurred_at` timestamp (oldest first).\\n\\nBatchRetrieveInventoryChanges is a catch-all query endpoint for queries\\nthat cannot be handled by other, simpler endpoints.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_retrieve_inventory_changes\",\n \"parameters\": [],\n \"path\": \"/v2/inventory/changes/batch-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchRetrieveInventoryChangesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"batch_retrieve_inventory_changes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchRetrieveInventoryChanges\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"batch_retrieve_inventory_counts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns current counts for the provided\\n[CatalogObject](entity:CatalogObject)s at the requested\\n[Location](entity:Location)s.\\n\\nResults are paginated and sorted in descending order according to their\\n`calculated_at` timestamp (newest first).\\n\\nWhen `updated_after` is specified, only counts that have changed since that\\ntime (based on the server timestamp for the most recent change) are\\nreturned. This allows clients to perform a \\\"sync\\\" operation, for example\\nin response to receiving a Webhook notification.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_retrieve_inventory_counts\",\n \"parameters\": [],\n \"path\": \"/v2/inventory/counts/batch-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchRetrieveInventoryCountsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"batch_retrieve_inventory_counts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchRetrieveInventoryCounts\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"batch_retrieve_orders\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a set of [orders](entity:Order) by their IDs.\\n\\nIf a given order ID does not exist, the ID is ignored instead of generating an error.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_retrieve_orders\",\n \"parameters\": [],\n \"path\": \"/v2/orders/batch-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchRetrieveOrdersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"batch_retrieve_orders\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchRetrieveOrders\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"batch_upsert_catalog_objects\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates up to 10,000 target objects based on the provided\\nlist of objects. The target objects are grouped into batches and each batch is\\ninserted/updated in an all-or-nothing manner. If an object within a batch is\\nmalformed in some way, or violates a database constraint, the entire batch\\ncontaining that item will be disregarded. However, other batches in the same\\nrequest may still succeed. Each batch may contain up to 1,000 objects, and\\nbatches will be processed in order as long as the total object count for the\\nrequest (items, variations, modifier lists, discounts, and taxes) is no more\\nthan 10,000.\\n\\nTo ensure consistency, only one update request is processed at a time per seller account.\\nWhile one (batch or non-batch) update request is being processed, other (batched and non-batched)\\nupdate requests are rejected with the `429` error code.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"batch_upsert_catalog_objects\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/batch-upsert\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchUpsertCatalogObjectsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"batch_upsert_catalog_objects\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BatchUpsertCatalogObjects\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"bulk_create_customers\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates multiple [customer profiles](entity:Customer) for a business.\\n\\nThis endpoint takes a map of individual create requests and returns a map of responses.\\n\\nYou must provide at least one of the following values in each create request:\\n\\n- `given_name`\\n- `family_name`\\n- `company_name`\\n- `email_address`\\n- `phone_number`\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_create_customers\",\n \"parameters\": [],\n \"path\": \"/v2/customers/bulk-create\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkCreateCustomersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_create_customers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkCreateCustomers\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"bulk_create_team_members\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates multiple `TeamMember` objects. The created `TeamMember` objects are returned on successful creates.\\nThis process is non-transactional and processes as much of the request as possible. If one of the creates in\\nthe request cannot be successfully processed, the request is not marked as failed, but the body of the response\\ncontains explicit error information for the failed create.\\n\\nLearn about [Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#bulk-create-team-members).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_create_team_members\",\n \"parameters\": [],\n \"path\": \"/v2/team-members/bulk-create\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkCreateTeamMembersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_create_team_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkCreateTeamMembers\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"bulk_create_vendors\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates one or more [Vendor](entity:Vendor) objects to represent suppliers to a seller.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_create_vendors\",\n \"parameters\": [],\n \"path\": \"/v2/vendors/bulk-create\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkCreateVendorsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_create_vendors\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkCreateVendors\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"bulk_delete_booking_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_delete_booking_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/custom-attributes/bulk-delete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkDeleteBookingCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_delete_booking_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkDeleteBookingCustomAttributes\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"bulk_delete_customers\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes multiple customer profiles.\\n\\nThe endpoint takes a list of customer IDs and returns a map of responses.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_delete_customers\",\n \"parameters\": [],\n \"path\": \"/v2/customers/bulk-delete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkDeleteCustomersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_delete_customers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkDeleteCustomers\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"bulk_delete_location_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes [custom attributes](entity:CustomAttribute) for locations as a bulk operation.\\nTo delete a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_delete_location_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/locations/custom-attributes/bulk-delete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkDeleteLocationCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_delete_location_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkDeleteLocationCustomAttributes\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"bulk_delete_merchant_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes [custom attributes](entity:CustomAttribute) for a merchant as a bulk operation.\\nTo delete a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_delete_merchant_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/merchants/custom-attributes/bulk-delete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkDeleteMerchantCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_delete_merchant_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkDeleteMerchantCustomAttributes\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"bulk_delete_order_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes order [custom attributes](entity:CustomAttribute) as a bulk operation.\\n\\nUse this endpoint to delete one or more custom attributes from one or more orders.\\nA custom attribute is based on a custom attribute definition in a Square seller account. (To create a\\ncustom attribute definition, use the [CreateOrderCustomAttributeDefinition](api-endpoint:OrderCustomAttributes-CreateOrderCustomAttributeDefinition) endpoint.)\\n\\nThis `BulkDeleteOrderCustomAttributes` endpoint accepts a map of 1 to 25 individual delete\\nrequests and returns a map of individual delete responses. Each delete request has a unique ID\\nand provides an order ID and custom attribute. Each delete response is returned with the ID\\nof the corresponding request.\\n\\nTo delete a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_delete_order_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/orders/custom-attributes/bulk-delete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkDeleteOrderCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_delete_order_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkDeleteOrderCustomAttributes\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"bulk_publish_scheduled_shifts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Publishes 1 - 100 scheduled shifts. This endpoint takes a map of individual publish\\nrequests and returns a map of responses. When a scheduled shift is published, Square keeps\\nthe `draft_shift_details` field as is and copies it to the `published_shift_details` field.\\n\\nThe minimum `start_at` and maximum `end_at` timestamps of all shifts in a\\n`BulkPublishScheduledShifts` request must fall within a two-week period.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_publish_scheduled_shifts\",\n \"parameters\": [],\n \"path\": \"/v2/labor/scheduled-shifts/bulk-publish\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkPublishScheduledShiftsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_publish_scheduled_shifts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkPublishScheduledShifts\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"bulk_retrieve_bookings\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Bulk-Retrieves a list of bookings by booking IDs.\\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.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_retrieve_bookings\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/bulk-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkRetrieveBookingsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"bulk_retrieve_bookings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkRetrieveBookings\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"bulk_retrieve_channels\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"BulkRetrieveChannels\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_retrieve_channels\",\n \"parameters\": [],\n \"path\": \"/v2/channels/bulk-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkRetrieveChannelsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CHANNELS_READ\"\n ]\n }\n ],\n \"skill_name\": \"bulk_retrieve_channels\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkRetrieveChannels\",\n \"tags\": [\n \"Channels\"\n ]\n },\n \"bulk_retrieve_customers\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves multiple customer profiles.\\n\\nThis endpoint takes a list of customer IDs and returns a map of responses.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_retrieve_customers\",\n \"parameters\": [],\n \"path\": \"/v2/customers/bulk-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkRetrieveCustomersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"bulk_retrieve_customers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkRetrieveCustomers\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"bulk_retrieve_team_member_booking_profiles\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves one or more team members' booking profiles.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_retrieve_team_member_booking_profiles\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/team-member-booking-profiles/bulk-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkRetrieveTeamMemberBookingProfilesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"bulk_retrieve_team_member_booking_profiles\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkRetrieveTeamMemberBookingProfiles\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"bulk_retrieve_vendors\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves one or more vendors of specified [Vendor](entity:Vendor) IDs.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_retrieve_vendors\",\n \"parameters\": [],\n \"path\": \"/v2/vendors/bulk-retrieve\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkRetrieveVendorsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_READ\"\n ]\n }\n ],\n \"skill_name\": \"bulk_retrieve_vendors\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkRetrieveVendors\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"bulk_swap_plan\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Schedules a plan variation change for all active subscriptions under a given plan\\nvariation. For more information, see [Swap Subscription Plan Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_swap_plan\",\n \"parameters\": [],\n \"path\": \"/v2/subscriptions/bulk-swap-plan\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkSwapPlanRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_WRITE\",\n \"SUBSCRIPTIONS_READ\",\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"bulk_swap_plan\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkSwapPlan\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"bulk_update_customers\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates multiple customer profiles.\\n\\nThis endpoint takes a map of individual update requests and returns a map of responses.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_update_customers\",\n \"parameters\": [],\n \"path\": \"/v2/customers/bulk-update\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpdateCustomersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_update_customers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpdateCustomers\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"bulk_update_team_members\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates multiple `TeamMember` objects. The updated `TeamMember` objects are returned on successful updates.\\nThis process is non-transactional and processes as much of the request as possible. If one of the updates in\\nthe request cannot be successfully processed, the request is not marked as failed, but the body of the response\\ncontains explicit error information for the failed update.\\nLearn about [Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#bulk-update-team-members).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_update_team_members\",\n \"parameters\": [],\n \"path\": \"/v2/team-members/bulk-update\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpdateTeamMembersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_update_team_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpdateTeamMembers\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"bulk_update_vendors\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates one or more of existing [Vendor](entity:Vendor) objects as suppliers to a seller.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"bulk_update_vendors\",\n \"parameters\": [],\n \"path\": \"/v2/vendors/bulk-update\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpdateVendorsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_update_vendors\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpdateVendors\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"bulk_upsert_booking_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_upsert_booking_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/custom-attributes/bulk-upsert\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpsertBookingCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_upsert_booking_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpsertBookingCustomAttributes\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"bulk_upsert_customer_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates [custom attributes](entity:CustomAttribute) for customer profiles as a bulk operation.\\n\\nUse this endpoint to set the value of one or more custom attributes for one or more customer profiles.\\nA custom attribute is based on a custom attribute definition in a Square seller account, which is\\ncreated using the [CreateCustomerCustomAttributeDefinition](api-endpoint:CustomerCustomAttributes-CreateCustomerCustomAttributeDefinition) endpoint.\\n\\nThis `BulkUpsertCustomerCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert\\nrequests and returns a map of individual upsert responses. Each upsert request has a unique ID\\nand provides a customer ID and custom attribute. Each upsert response is returned with the ID\\nof the corresponding request.\\n\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_upsert_customer_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/customers/custom-attributes/bulk-upsert\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpsertCustomerCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_upsert_customer_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpsertCustomerCustomAttributes\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"bulk_upsert_location_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates [custom attributes](entity:CustomAttribute) for locations as a bulk operation.\\nUse this endpoint to set the value of one or more custom attributes for one or more locations.\\nA custom attribute is based on a custom attribute definition in a Square seller account, which is\\ncreated using the [CreateLocationCustomAttributeDefinition](api-endpoint:LocationCustomAttributes-CreateLocationCustomAttributeDefinition) endpoint.\\nThis `BulkUpsertLocationCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert\\nrequests and returns a map of individual upsert responses. Each upsert request has a unique ID\\nand provides a location ID and custom attribute. Each upsert response is returned with the ID\\nof the corresponding request.\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_upsert_location_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/locations/custom-attributes/bulk-upsert\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpsertLocationCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_upsert_location_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpsertLocationCustomAttributes\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"bulk_upsert_merchant_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates [custom attributes](entity:CustomAttribute) for a merchant as a bulk operation.\\nUse this endpoint to set the value of one or more custom attributes for a merchant.\\nA custom attribute is based on a custom attribute definition in a Square seller account, which is\\ncreated using the [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition) endpoint.\\nThis `BulkUpsertMerchantCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert\\nrequests and returns a map of individual upsert responses. Each upsert request has a unique ID\\nand provides a merchant ID and custom attribute. Each upsert response is returned with the ID\\nof the corresponding request.\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_upsert_merchant_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/merchants/custom-attributes/bulk-upsert\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpsertMerchantCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_upsert_merchant_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpsertMerchantCustomAttributes\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"bulk_upsert_order_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates order [custom attributes](entity:CustomAttribute) as a bulk operation.\\n\\nUse this endpoint to delete one or more custom attributes from one or more orders.\\nA custom attribute is based on a custom attribute definition in a Square seller account. (To create a\\ncustom attribute definition, use the [CreateOrderCustomAttributeDefinition](api-endpoint:OrderCustomAttributes-CreateOrderCustomAttributeDefinition) endpoint.)\\n\\nThis `BulkUpsertOrderCustomAttributes` endpoint accepts a map of 1 to 25 individual upsert\\nrequests and returns a map of individual upsert responses. Each upsert request has a unique ID\\nand provides an order ID and custom attribute. Each upsert response is returned with the ID\\nof the corresponding request.\\n\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"bulk_upsert_order_custom_attributes\",\n \"parameters\": [],\n \"path\": \"/v2/orders/custom-attributes/bulk-upsert\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BulkUpsertOrderCustomAttributesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"bulk_upsert_order_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"BulkUpsertOrderCustomAttributes\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"calculate_loyalty_points\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Calculates the number of points a buyer can earn from a purchase. Applications might call this endpoint\\nto display the points to the buyer.\\n\\n- If you are using the Orders API to manage orders, provide the `order_id` and (optional) `loyalty_account_id`.\\nSquare reads the order to compute the points earned from the base loyalty program and an associated\\n[loyalty promotion](entity:LoyaltyPromotion).\\n\\n- If you are not using the Orders API to manage orders, provide `transaction_amount_money` with the\\npurchase amount. Square uses this amount to calculate the points earned from the base loyalty program,\\nbut not points earned from a loyalty promotion. For spend-based and visit-based programs, the `tax_mode`\\nsetting of the accrual rule indicates how taxes should be treated for loyalty points accrual.\\nIf the purchase qualifies for program points, call\\n[ListLoyaltyPromotions](api-endpoint:Loyalty-ListLoyaltyPromotions) and perform a client-side computation\\nto calculate whether the purchase also qualifies for promotion points. For more information, see\\n[Calculating promotion points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions#calculate-promotion-points).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"calculate_loyalty_points\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty program](entity:LoyaltyProgram), which defines the rules for accruing points.\",\n \"in\": \"path\",\n \"name\": \"program_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/programs/{program_id}/calculate\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CalculateLoyaltyPointsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"calculate_loyalty_points\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CalculateLoyaltyPoints\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"calculate_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Enables applications to preview order pricing without creating an order.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"calculate_order\",\n \"parameters\": [],\n \"path\": \"/v2/orders/calculate\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CalculateOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"calculate_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CalculateOrder\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"cancel_booking\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels an existing booking.\\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*.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_booking\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [Booking](entity:Booking) object representing the to-be-cancelled booking.\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}/cancel\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CancelBookingRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_booking\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelBooking\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"cancel_invoice\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"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`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_invoice\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [invoice](entity:Invoice) to cancel.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}/cancel\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CancelInvoiceRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_invoice\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelInvoice\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"cancel_loyalty_promotion\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels a loyalty promotion. Use this endpoint to cancel an `ACTIVE` promotion earlier than the\\nend date, cancel an `ACTIVE` promotion when an end date is not specified, or cancel a `SCHEDULED` promotion.\\nBecause updating a promotion is not supported, you can also use this endpoint to cancel a promotion before\\nyou create a new one.\\n\\nThis endpoint sets the loyalty promotion to the `CANCELED` state\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_loyalty_promotion\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty promotion](entity:LoyaltyPromotion) to cancel. You can cancel a\\npromotion that has an `ACTIVE` or `SCHEDULED` status.\",\n \"in\": \"path\",\n \"name\": \"promotion_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the base [loyalty program](entity:LoyaltyProgram).\",\n \"in\": \"path\",\n \"name\": \"program_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_loyalty_promotion\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelLoyaltyPromotion\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"cancel_payment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels (voids) a payment. You can use this endpoint to cancel a payment with \\nthe APPROVED `status`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_payment\",\n \"parameters\": [\n {\n \"description\": \"The ID of the payment to cancel.\",\n \"in\": \"path\",\n \"name\": \"payment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/payments/{payment_id}/cancel\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_payment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelPayment\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"cancel_payment_by_idempotency_key\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels (voids) a payment identified by the idempotency key that is specified in the\\nrequest.\\n\\nUse this method when the status of a `CreatePayment` request is unknown (for example, after you send a\\n`CreatePayment` request, a network error occurs and you do not get a response). In this case, you can\\ndirect Square to cancel the payment using this endpoint. In the request, you provide the same\\nidempotency key that you provided in your `CreatePayment` request that you want to cancel. After\\ncanceling the payment, you can submit your `CreatePayment` request again.\\n\\nNote that if no payment with the specified idempotency key is found, no action is taken and the endpoint\\nreturns successfully.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_payment_by_idempotency_key\",\n \"parameters\": [],\n \"path\": \"/v2/payments/cancel\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CancelPaymentByIdempotencyKeyRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_payment_by_idempotency_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelPaymentByIdempotencyKey\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"cancel_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Schedules a `CANCEL` action to cancel an active subscription. This \\nsets the `canceled_date` field to the end of the active billing period. After this date, \\nthe subscription status changes from ACTIVE to CANCELED.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_subscription\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to cancel.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/cancel\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelSubscription\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"cancel_terminal_action\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels a Terminal action request if the status of the request permits it.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_terminal_action\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the desired `TerminalAction`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/actions/{action_id}/cancel\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_terminal_action\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelTerminalAction\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"cancel_terminal_checkout\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels a Terminal checkout request if the status of the request permits it.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_terminal_checkout\",\n \"parameters\": [\n {\n \"description\": \"The unique ID for the desired `TerminalCheckout`.\",\n \"in\": \"path\",\n \"name\": \"checkout_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/checkouts/{checkout_id}/cancel\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_terminal_checkout\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelTerminalCheckout\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"cancel_terminal_refund\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels an Interac Terminal refund request by refund request ID if the status of the request permits it.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_terminal_refund\",\n \"parameters\": [\n {\n \"description\": \"The unique ID for the desired `TerminalRefund`.\",\n \"in\": \"path\",\n \"name\": \"terminal_refund_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/refunds/{terminal_refund_id}/cancel\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_terminal_refund\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelTerminalRefund\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"cancel_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels a transfer order in [STARTED](entity:TransferOrderStatus) or \\n[PARTIALLY_RECEIVED](entity:TransferOrderStatus) status. Any unreceived quantities will no\\nlonger be receivable and will be immediately returned to the source [Location](entity:Location)'s inventory.\\n\\nCommon reasons for cancellation:\\n- Items no longer needed at destination\\n- Source location needs the inventory\\n- Order created in error\\n\\nCreates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"cancel_transfer_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transfer order to cancel. Must be in STARTED or PARTIALLY_RECEIVED status.\",\n \"in\": \"path\",\n \"name\": \"transfer_order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/transfer-orders/{transfer_order_id}/cancel\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CancelTransferOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\",\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"cancel_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CancelTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"capture_transaction\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Captures a transaction that was created with the [Charge](api-endpoint:Transactions-Charge)\\nendpoint with a `delay_capture` value of `true`.\\n\\n\\nSee [Delayed capture transactions](https://developer.squareup.com/docs/payments/transactions/overview#delayed-capture)\\nfor more information.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"capture_transaction\",\n \"parameters\": [\n {\n \"description\": \"\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"\",\n \"in\": \"path\",\n \"name\": \"transaction_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/transactions/{transaction_id}/capture\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"capture_transaction\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CaptureTransaction\",\n \"tags\": [\n \"Transactions\"\n ]\n },\n \"catalog_info\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves information about the Square Catalog API, such as batch size\\nlimits that can be used by the `BatchUpsertCatalogObjects` endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"catalog_info\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/info\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"catalog_info\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CatalogInfo\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"change_billing_anchor_date\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Changes the [billing anchor date](https://developer.squareup.com/docs/subscriptions-api/subscription-billing#billing-dates)\\nfor a subscription.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"change_billing_anchor_date\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to update the billing anchor date.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/billing-anchor\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/ChangeBillingAnchorDateRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_WRITE\",\n \"SUBSCRIPTIONS_READ\",\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"change_billing_anchor_date\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ChangeBillingAnchorDate\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"clone_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new order, in the `DRAFT` state, by duplicating an existing order. The newly created order has\\nonly the core fields (such as line items, taxes, and discounts) copied from the original order.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"clone_order\",\n \"parameters\": [],\n \"path\": \"/v2/orders/clone\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CloneOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"clone_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CloneOrder\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"complete_payment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Completes (captures) a payment.\\nBy default, payments are set to complete immediately after they are created.\\n\\nYou can use this endpoint to complete a payment with the APPROVED `status`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"complete_payment\",\n \"parameters\": [\n {\n \"description\": \"The unique ID identifying the payment to be completed.\",\n \"in\": \"path\",\n \"name\": \"payment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/payments/{payment_id}/complete\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CompletePaymentRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"complete_payment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CompletePayment\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"create_bank_account\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Store a bank account on file for a square account\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_bank_account\",\n \"parameters\": [],\n \"path\": \"/v2/bank-accounts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateBankAccountRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"BANK_ACCOUNTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_bank_account\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateBankAccount\",\n \"tags\": [\n \"BankAccounts\"\n ]\n },\n \"create_booking\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a booking.\\n\\nThe required input must include the following:\\n- `Booking.location_id`\\n- `Booking.start_at`\\n- `Booking.AppointmentSegment.team_member_id`\\n- `Booking.AppointmentSegment.service_variation_id`\\n- `Booking.AppointmentSegment.service_variation_version`\\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*.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_booking\",\n \"parameters\": [],\n \"path\": \"/v2/bookings\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateBookingRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_booking\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateBooking\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"create_booking_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_booking_custom_attribute_definition\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/custom-attribute-definitions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateBookingCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_booking_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateBookingCustomAttributeDefinition\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"create_break_type\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new `BreakType`.\\n\\nA `BreakType` is a template for creating `Break` objects.\\nYou must provide the following values in your request to this\\nendpoint:\\n\\n- `location_id`\\n- `break_name`\\n- `expected_duration`\\n- `is_paid`\\n\\nYou can only have three `BreakType` instances per location. If you attempt to add a fourth\\n`BreakType` for a location, an `INVALID_REQUEST_ERROR` \\\"Exceeded limit of 3 breaks per location.\\\"\\nis returned.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_break_type\",\n \"parameters\": [],\n \"path\": \"/v2/labor/break-types\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateBreakTypeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_break_type\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateBreakType\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"create_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a card on file to an existing merchant.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_card\",\n \"parameters\": [],\n \"path\": \"/v2/cards\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateCardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"create_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCard\",\n \"tags\": [\n \"Cards\"\n ]\n },\n \"create_catalog_image\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads an image file to be represented by a [CatalogImage](entity:CatalogImage) object that can be linked to an existing\\n[CatalogObject](entity:CatalogObject) instance. The resulting `CatalogImage` is unattached to any `CatalogObject` if the `object_id`\\nis not specified.\\n\\nThis `CreateCatalogImage` endpoint accepts HTTP multipart/form-data requests with a JSON part and an image file part in\\nJPEG, PJPEG, PNG, or GIF format. The maximum file size is 15MB.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_catalog_image\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/images\",\n \"request_body\": {\n \"properties\": {\n \"image_file\": {\n \"format\": \"binary\",\n \"type\": \"string\"\n },\n \"request\": {\n \"$ref\": \"#/components/schemas/CreateCatalogImageRequest\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_catalog_image\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCatalogImage\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"create_checkout\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Links a `checkoutId` to a `checkout_page_url` that customers are\\ndirected to in order to provide their payment information using a\\npayment processing workflow hosted on connect.squareup.com. \\n\\n\\nNOTE: The Checkout API has been updated with new features. \\nFor more information, see [Checkout API highlights](https://developer.squareup.com/docs/checkout-api#checkout-api-highlights).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_checkout\",\n \"parameters\": [\n {\n \"description\": \"The ID of the business location to associate the checkout with.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/checkouts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateCheckoutRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\",\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_checkout\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCheckout\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"create_customer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new customer for a business.\\n\\nYou must provide at least one of the following values in your request to this\\nendpoint:\\n\\n- `given_name`\\n- `family_name`\\n- `company_name`\\n- `email_address`\\n- `phone_number`\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_customer\",\n \"parameters\": [],\n \"path\": \"/v2/customers\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateCustomerRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_customer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCustomer\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"create_customer_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a card on file to an existing customer.\\n\\nAs with charges, calls to `CreateCustomerCard` are idempotent. Multiple\\ncalls with the same card nonce return the same card record that was created\\nwith the provided nonce during the _first_ call.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_customer_card\",\n \"parameters\": [\n {\n \"description\": \"The Square ID of the customer profile the card is linked to.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/cards\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateCustomerCardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_customer_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCustomerCard\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"create_customer_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a customer-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.\\nUse this endpoint to define a custom attribute that can be associated with customer profiles.\\n\\nA custom attribute definition specifies the `key`, `visibility`, `schema`, and other properties\\nfor a custom attribute. After the definition is created, you can call\\n[UpsertCustomerCustomAttribute](api-endpoint:CustomerCustomAttributes-UpsertCustomerCustomAttribute) or\\n[BulkUpsertCustomerCustomAttributes](api-endpoint:CustomerCustomAttributes-BulkUpsertCustomerCustomAttributes)\\nto set the custom attribute for customer profiles in the seller's Customer Directory.\\n\\nSellers can view all custom attributes in exported customer data, including those set to\\n`VISIBILITY_HIDDEN`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_customer_custom_attribute_definition\",\n \"parameters\": [],\n \"path\": \"/v2/customers/custom-attribute-definitions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateCustomerCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_customer_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCustomerCustomAttributeDefinition\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"create_customer_group\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new customer group for a business.\\n\\nThe request must include the `name` value of the group.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_customer_group\",\n \"parameters\": [],\n \"path\": \"/v2/customers/groups\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateCustomerGroupRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_customer_group\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateCustomerGroup\",\n \"tags\": [\n \"CustomerGroups\"\n ]\n },\n \"create_device_code\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a DeviceCode that can be used to login to a Square Terminal device to enter the connected\\nterminal mode.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_device_code\",\n \"parameters\": [],\n \"path\": \"/v2/devices/codes\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateDeviceCodeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"DEVICE_CREDENTIAL_MANAGEMENT\"\n ]\n }\n ],\n \"skill_name\": \"create_device_code\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateDeviceCode\",\n \"tags\": [\n \"Devices\"\n ]\n },\n \"create_dispute_evidence_file\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads a file to use as evidence in a dispute challenge. The endpoint accepts HTTP\\nmultipart/form-data file uploads in HEIC, HEIF, JPEG, PDF, PNG, and TIFF formats.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_dispute_evidence_file\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute for which you want to upload evidence.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/evidence-files\",\n \"request_body\": {\n \"properties\": {\n \"image_file\": {\n \"format\": \"binary\",\n \"type\": \"string\"\n },\n \"request\": {\n \"$ref\": \"#/components/schemas/CreateDisputeEvidenceFileRequest\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_dispute_evidence_file\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateDisputeEvidenceFile\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"create_dispute_evidence_text\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads text to use as evidence for a dispute challenge.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_dispute_evidence_text\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute for which you want to upload evidence.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/evidence-text\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateDisputeEvidenceTextRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_dispute_evidence_text\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateDisputeEvidenceText\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"create_gift_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a digital gift card or registers a physical (plastic) gift card. The resulting gift card\\nhas a `PENDING` state. To activate a gift card so that it can be redeemed for purchases, call\\n[CreateGiftCardActivity](api-endpoint:GiftCardActivities-CreateGiftCardActivity) and create an `ACTIVATE`\\nactivity with the initial balance. Alternatively, you can use [RefundPayment](api-endpoint:Refunds-RefundPayment)\\nto refund a payment to the new gift card.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_gift_card\",\n \"parameters\": [],\n \"path\": \"/v2/gift-cards\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateGiftCardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_gift_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateGiftCard\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"create_gift_card_activity\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a gift card activity to manage the balance or state of a [gift card](entity:GiftCard).\\nFor example, create an `ACTIVATE` activity to activate a gift card with an initial balance before first use.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_gift_card_activity\",\n \"parameters\": [],\n \"path\": \"/v2/gift-cards/activities\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateGiftCardActivityRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_gift_card_activity\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateGiftCardActivity\",\n \"tags\": [\n \"GiftCardActivities\"\n ]\n },\n \"create_invoice\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"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\\u2019s card on file).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_invoice\",\n \"parameters\": [],\n \"path\": \"/v2/invoices\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateInvoiceRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_invoice\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateInvoice\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"create_invoice_attachment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads a file and attaches it to an invoice. This endpoint accepts HTTP multipart/form-data file uploads\\nwith a JSON `request` part and a `file` part. The `file` part must be a `readable stream` that contains a file\\nin a supported format: GIF, JPEG, PNG, TIFF, BMP, or PDF.\\n\\nInvoices can have up to 10 attachments with a total file size of 25 MB. Attachments can be added only to invoices\\nin the `DRAFT`, `SCHEDULED`, `UNPAID`, or `PARTIALLY_PAID` state.\\n\\n__NOTE:__ When testing in the Sandbox environment, the total file size is limited to 1 KB.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_invoice_attachment\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [invoice](entity:Invoice) to attach the file to.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}/attachments\",\n \"request_body\": {\n \"properties\": {\n \"image_file\": {\n \"format\": \"binary\",\n \"type\": \"string\"\n },\n \"request\": {\n \"$ref\": \"#/components/schemas/CreateInvoiceAttachmentRequest\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_invoice_attachment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateInvoiceAttachment\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"create_job\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a job in a seller account. A job defines a title and tip eligibility. Note that\\ncompensation is defined in a [job assignment](entity:JobAssignment) in a team member's wage setting.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_job\",\n \"parameters\": [],\n \"path\": \"/v2/team-members/jobs\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateJobRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_job\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateJob\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"create_location\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a [location](https://developer.squareup.com/docs/locations-api).\\nCreating new locations allows for separate configuration of receipt layouts, item prices,\\nand sales reports. Developers can use locations to separate sales activity through applications\\nthat integrate with Square from sales activity elsewhere in a seller's account.\\nLocations created programmatically with the Locations API last forever and\\nare visible to the seller for their own management. Therefore, ensure that\\neach location has a sensible and unique name.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_location\",\n \"parameters\": [],\n \"path\": \"/v2/locations\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateLocationRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_location\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateLocation\",\n \"tags\": [\n \"Locations\"\n ]\n },\n \"create_location_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.\\nUse this endpoint to define a custom attribute that can be associated with locations.\\nA custom attribute definition specifies the `key`, `visibility`, `schema`, and other properties\\nfor a custom attribute. After the definition is created, you can call\\n[UpsertLocationCustomAttribute](api-endpoint:LocationCustomAttributes-UpsertLocationCustomAttribute) or\\n[BulkUpsertLocationCustomAttributes](api-endpoint:LocationCustomAttributes-BulkUpsertLocationCustomAttributes)\\nto set the custom attribute for locations.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_location_custom_attribute_definition\",\n \"parameters\": [],\n \"path\": \"/v2/locations/custom-attribute-definitions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateLocationCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_location_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateLocationCustomAttributeDefinition\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"create_loyalty_account\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a loyalty account. To create a loyalty account, you must provide the `program_id` and a `mapping` with the `phone_number` of the buyer.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_loyalty_account\",\n \"parameters\": [],\n \"path\": \"/v2/loyalty/accounts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateLoyaltyAccountRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_loyalty_account\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateLoyaltyAccount\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"create_loyalty_promotion\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a loyalty promotion for a [loyalty program](entity:LoyaltyProgram). A loyalty promotion\\nenables buyers to earn points in addition to those earned from the base loyalty program.\\n\\nThis endpoint sets the loyalty promotion to the `ACTIVE` or `SCHEDULED` status, depending on the\\n`available_time` setting. A loyalty program can have a maximum of 10 loyalty promotions with an\\n`ACTIVE` or `SCHEDULED` status.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_loyalty_promotion\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty program](entity:LoyaltyProgram) to associate with the promotion.\\nTo get the program ID, call [RetrieveLoyaltyProgram](api-endpoint:Loyalty-RetrieveLoyaltyProgram)\\nusing the `main` keyword.\",\n \"in\": \"path\",\n \"name\": \"program_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/programs/{program_id}/promotions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateLoyaltyPromotionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_loyalty_promotion\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateLoyaltyPromotion\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"create_loyalty_reward\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a loyalty reward. In the process, the endpoint does following:\\n\\n- Uses the `reward_tier_id` in the request to determine the number of points\\nto lock for this reward.\\n- If the request includes `order_id`, it adds the reward and related discount to the order.\\n\\nAfter a reward is created, the points are locked and\\nnot available for the buyer to redeem another reward.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_loyalty_reward\",\n \"parameters\": [],\n \"path\": \"/v2/loyalty/rewards\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateLoyaltyRewardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_loyalty_reward\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateLoyaltyReward\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"create_merchant_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.\\nUse this endpoint to define a custom attribute that can be associated with a merchant connecting to your application.\\nA custom attribute definition specifies the `key`, `visibility`, `schema`, and other properties\\nfor a custom attribute. After the definition is created, you can call\\n[UpsertMerchantCustomAttribute](api-endpoint:MerchantCustomAttributes-UpsertMerchantCustomAttribute) or\\n[BulkUpsertMerchantCustomAttributes](api-endpoint:MerchantCustomAttributes-BulkUpsertMerchantCustomAttributes)\\nto set the custom attribute for a merchant.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_merchant_custom_attribute_definition\",\n \"parameters\": [],\n \"path\": \"/v2/merchants/custom-attribute-definitions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateMerchantCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_merchant_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateMerchantCustomAttributeDefinition\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"create_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new [order](entity:Order) that can include information about products for\\npurchase and settings to apply to the purchase.\\n\\nTo pay for a created order, see\\n[Pay for Orders](https://developer.squareup.com/docs/orders-api/pay-for-orders).\\n\\nYou can modify open orders using the [UpdateOrder](api-endpoint:Orders-UpdateOrder) endpoint.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_order\",\n \"parameters\": [],\n \"path\": \"/v2/orders\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateOrder\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"create_order_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates an order-related custom attribute definition. Use this endpoint to\\ndefine a custom attribute that can be associated with orders.\\n\\nAfter creating a custom attribute definition, you can set the custom attribute for orders\\nin the Square seller account.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_order_custom_attribute_definition\",\n \"parameters\": [],\n \"path\": \"/v2/orders/custom-attribute-definitions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateOrderCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_order_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateOrderCustomAttributeDefinition\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"create_payment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a payment using the provided source. You can use this endpoint \\nto charge a card (credit/debit card or \\nSquare gift card) or record a payment that the seller received outside of Square \\n(cash payment from a buyer or a payment that an external entity \\nprocessed on behalf of the seller).\\n\\nThe endpoint creates a \\n`Payment` object and returns it in the response.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_payment\",\n \"parameters\": [],\n \"path\": \"/v2/payments\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreatePaymentRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_payment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreatePayment\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"create_payment_link\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a Square-hosted checkout page. Applications can share the resulting payment link with their buyer to pay for goods and services.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_payment_link\",\n \"parameters\": [],\n \"path\": \"/v2/online-checkout/payment-links\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreatePaymentLinkRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\",\n \"ORDERS_READ\",\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_payment_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreatePaymentLink\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"create_scheduled_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a scheduled shift by providing draft shift details such as job ID,\\nteam member assignment, and start and end times.\\n\\nThe following `draft_shift_details` fields are required:\\n- `location_id`\\n- `job_id`\\n- `start_at`\\n- `end_at`\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_scheduled_shift\",\n \"parameters\": [],\n \"path\": \"/v2/labor/scheduled-shifts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateScheduledShiftRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_scheduled_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateScheduledShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"create_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new `Shift`.\\n\\nA `Shift` represents a complete workday for a single team member.\\nYou must provide the following values in your request to this\\nendpoint:\\n\\n- `location_id`\\n- `team_member_id`\\n- `start_at`\\n\\nAn attempt to create a new `Shift` can result in a `BAD_REQUEST` error when:\\n- The `status` of the new `Shift` is `OPEN` and the team member has another\\nshift with an `OPEN` status.\\n- The `start_at` date is in the future.\\n- The `start_at` or `end_at` date overlaps another shift for the same team member.\\n- The `Break` instances are set in the request and a break `start_at`\\nis before the `Shift.start_at`, a break `end_at` is after\\nthe `Shift.end_at`, or both.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_shift\",\n \"parameters\": [],\n \"path\": \"/v2/labor/shifts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateShiftRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"create_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Enrolls a customer in a subscription.\\n\\nIf you provide a card on file in the request, Square charges the card for\\nthe subscription. Otherwise, Square sends an invoice to the customer's email\\naddress. The subscription starts immediately, unless the request includes\\nthe optional `start_date`. Each individual subscription is associated with a particular location.\\n\\nFor more information, see [Create a subscription](https://developer.squareup.com/docs/subscriptions-api/manage-subscriptions#create-a-subscription).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_subscription\",\n \"parameters\": [],\n \"path\": \"/v2/subscriptions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\",\n \"PAYMENTS_WRITE\",\n \"SUBSCRIPTIONS_WRITE\",\n \"ITEMS_READ\",\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateSubscription\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"create_team_member\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a single `TeamMember` object. The `TeamMember` object is returned on successful creates.\\nYou must provide the following values in your request to this endpoint:\\n- `given_name`\\n- `family_name`\\n\\nLearn about [Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#createteammember).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_team_member\",\n \"parameters\": [],\n \"path\": \"/v2/team-members\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateTeamMemberRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_team_member\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateTeamMember\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"create_terminal_action\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a Terminal action request and sends it to the specified device.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_terminal_action\",\n \"parameters\": [],\n \"path\": \"/v2/terminals/actions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateTerminalActionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_terminal_action\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateTerminalAction\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"create_terminal_checkout\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a Terminal checkout request and sends it to the specified device to take a payment\\nfor the requested amount.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_terminal_checkout\",\n \"parameters\": [],\n \"path\": \"/v2/terminals/checkouts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateTerminalCheckoutRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_terminal_checkout\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateTerminalCheckout\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"create_terminal_refund\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a request to refund an Interac payment completed on a Square Terminal. Refunds for Interac payments on a Square Terminal are supported only for Interac debit cards in Canada. Other refunds for Terminal payments should use the Refunds API. For more information, see [Refunds API](api:Refunds).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_terminal_refund\",\n \"parameters\": [],\n \"path\": \"/v2/terminals/refunds\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateTerminalRefundRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_terminal_refund\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateTerminalRefund\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"create_timecard\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new `Timecard`.\\n\\nA `Timecard` represents a complete workday for a single team member.\\nYou must provide the following values in your request to this\\nendpoint:\\n\\n- `location_id`\\n- `team_member_id`\\n- `start_at`\\n\\nAn attempt to create a new `Timecard` can result in a `BAD_REQUEST` error when:\\n- The `status` of the new `Timecard` is `OPEN` and the team member has another\\ntimecard with an `OPEN` status.\\n- The `start_at` date is in the future.\\n- The `start_at` or `end_at` date overlaps another timecard for the same team member.\\n- The `Break` instances are set in the request and a break `start_at`\\nis before the `Timecard.start_at`, a break `end_at` is after\\nthe `Timecard.end_at`, or both.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_timecard\",\n \"parameters\": [],\n \"path\": \"/v2/labor/timecards\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateTimecardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_timecard\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateTimecard\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"create_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new transfer order in [DRAFT](entity:TransferOrderStatus) status. A transfer order represents the intent \\nto move [CatalogItemVariation](entity:CatalogItemVariation)s from one [Location](entity:Location) to another. \\nThe source and destination locations must be different and must belong to your Square account.\\n\\nIn [DRAFT](entity:TransferOrderStatus) status, you can:\\n- Add or remove items\\n- Modify quantities\\n- Update shipping information\\n- Delete the entire order via [DeleteTransferOrder](api-endpoint:TransferOrders-DeleteTransferOrder)\\n\\nThe request requires source_location_id and destination_location_id.\\nInventory levels are not affected until the order is started via \\n[StartTransferOrder](api-endpoint:TransferOrders-StartTransferOrder).\\n\\nCommon integration points:\\n- Sync with warehouse management systems\\n- Automate regular stock transfers\\n- Initialize transfers from inventory optimization systems\\n\\nCreates a [transfer_order.created](webhook:transfer_order.created) webhook event.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_transfer_order\",\n \"parameters\": [],\n \"path\": \"/v2/transfer-orders\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateTransferOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\",\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"create_vendor\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a single [Vendor](entity:Vendor) object to represent a supplier to a seller.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_vendor\",\n \"parameters\": [],\n \"path\": \"/v2/vendors/create\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateVendorRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"create_vendor\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateVendor\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"create_webhook_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a webhook subscription.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"create_webhook_subscription\",\n \"parameters\": [],\n \"path\": \"/v2/webhooks/subscriptions\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/CreateWebhookSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"create_webhook_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"CreateWebhookSubscription\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"delete_booking_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_booking_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [booking](entity:Booking).\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_booking_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteBookingCustomAttribute\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"delete_booking_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_booking_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to delete.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_booking_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteBookingCustomAttributeDefinition\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"delete_break_type\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes an existing `BreakType`.\\n\\nA `BreakType` can be deleted even if it is referenced from a `Shift`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_break_type\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `BreakType` being deleted.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/break-types/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_break_type\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteBreakType\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"delete_catalog_object\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a single [CatalogObject](entity:CatalogObject) based on the\\nprovided ID and returns the set of successfully deleted IDs in the response.\\nDeletion is a cascading event such that all children of the targeted object\\nare also deleted. For example, deleting a [CatalogItem](entity:CatalogItem)\\nwill also delete all of its\\n[CatalogItemVariation](entity:CatalogItemVariation) children.\\n\\nTo ensure consistency, only one delete request is processed at a time per seller account.\\nWhile one (batch or non-batch) delete request is being processed, other (batched and non-batched)\\ndelete requests are rejected with the `429` error code.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_catalog_object\",\n \"parameters\": [\n {\n \"description\": \"The ID of the catalog object to be deleted. When an object is deleted, other\\nobjects in the graph that depend on that object will be deleted as well (for example, deleting a\\ncatalog item will delete its catalog item variations).\",\n \"in\": \"path\",\n \"name\": \"object_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/catalog/object/{object_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_catalog_object\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteCatalogObject\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"delete_customer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a customer profile from a business.\\n\\nTo delete a customer profile that was created by merging existing profiles, you must use the ID of the newly created profile.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_customer\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer to delete.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The current version of the customer profile.\\n\\nAs a best practice, you should include this parameter to enable [optimistic concurrency](https://developer.squareup.com/docs/build-basics/common-api-patterns/optimistic-concurrency) control. For more information, see [Delete a customer profile](https://developer.squareup.com/docs/customers-api/use-the-api/keep-records#delete-customer-profile).\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_customer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteCustomer\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"delete_customer_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a card on file from a customer.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_customer_card\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer that the card on file belongs to.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the card on file to delete.\",\n \"in\": \"path\",\n \"name\": \"card_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/cards/{card_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_customer_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteCustomerCard\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"delete_customer_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a [custom attribute](entity:CustomAttribute) associated with a customer profile.\\n\\nTo delete a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_customer_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [customer profile](entity:Customer).\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_customer_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteCustomerCustomAttribute\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"delete_customer_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a customer-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\n\\nDeleting a custom attribute definition also deletes the corresponding custom attribute from\\nall customer profiles in the seller's Customer Directory.\\n\\nOnly the definition owner can delete a custom attribute definition.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_customer_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to delete.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_customer_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteCustomerCustomAttributeDefinition\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"delete_customer_group\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a customer group as identified by the `group_id` value.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_customer_group\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer group to delete.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/groups/{group_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_customer_group\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteCustomerGroup\",\n \"tags\": [\n \"CustomerGroups\"\n ]\n },\n \"delete_dispute_evidence\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes specified evidence from a dispute.\\nSquare does not send the bank any evidence that is removed.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_dispute_evidence\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute from which you want to remove evidence.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the evidence you want to remove.\",\n \"in\": \"path\",\n \"name\": \"evidence_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/evidence/{evidence_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_dispute_evidence\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteDisputeEvidence\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"delete_invoice\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"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).\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_invoice\",\n \"parameters\": [\n {\n \"description\": \"The ID of the invoice to delete.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_invoice\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteInvoice\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"delete_invoice_attachment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes an attachment from an invoice and permanently deletes the file. Attachments can be removed only\\nfrom invoices in the `DRAFT`, `SCHEDULED`, `UNPAID`, or `PARTIALLY_PAID` state.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_invoice_attachment\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [invoice](entity:Invoice) to delete the attachment from.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the [attachment](entity:InvoiceAttachment) to delete.\",\n \"in\": \"path\",\n \"name\": \"attachment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}/attachments/{attachment_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_invoice_attachment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteInvoiceAttachment\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"delete_location_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a [custom attribute](entity:CustomAttribute) associated with a location.\\nTo delete a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_location_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [location](entity:Location).\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_location_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteLocationCustomAttribute\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"delete_location_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\nDeleting a custom attribute definition also deletes the corresponding custom attribute from\\nall locations.\\nOnly the definition owner can delete a custom attribute definition.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_location_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to delete.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_location_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteLocationCustomAttributeDefinition\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"delete_loyalty_reward\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a loyalty reward by doing the following:\\n\\n- Returns the loyalty points back to the loyalty account.\\n- If an order ID was specified when the reward was created\\n(see [CreateLoyaltyReward](api-endpoint:Loyalty-CreateLoyaltyReward)),\\nit updates the order by removing the reward and related\\ndiscounts.\\n\\nYou cannot delete a reward that has reached the terminal state (REDEEMED).\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_loyalty_reward\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty reward](entity:LoyaltyReward) to delete.\",\n \"in\": \"path\",\n \"name\": \"reward_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/rewards/{reward_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_loyalty_reward\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteLoyaltyReward\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"delete_merchant_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a [custom attribute](entity:CustomAttribute) associated with a merchant.\\nTo delete a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_merchant_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [merchant](entity:Merchant).\",\n \"in\": \"path\",\n \"name\": \"merchant_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/merchants/{merchant_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_merchant_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteMerchantCustomAttribute\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"delete_merchant_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\nDeleting a custom attribute definition also deletes the corresponding custom attribute from\\nthe merchant.\\nOnly the definition owner can delete a custom attribute definition.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_merchant_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to delete.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/merchants/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_merchant_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteMerchantCustomAttributeDefinition\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"delete_order_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a [custom attribute](entity:CustomAttribute) associated with a customer profile.\\n\\nTo delete a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_order_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [order](entity:Order).\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the custom attribute to delete. This key must match the key of an\\nexisting custom attribute definition.\",\n \"in\": \"path\",\n \"name\": \"custom_attribute_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_order_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteOrderCustomAttribute\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"delete_order_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes an order-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\n\\nOnly the definition owner can delete a custom attribute definition.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_order_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to delete.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_order_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteOrderCustomAttributeDefinition\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"delete_payment_link\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a payment link.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_payment_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of the payment link to delete.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/online-checkout/payment-links/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\",\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_payment_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeletePaymentLink\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"delete_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a `Shift`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_shift\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `Shift` being deleted.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/shifts/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"delete_snippet\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes your snippet from a Square Online site.\\n\\nYou can call [ListSites](api-endpoint:Sites-ListSites) to get the IDs of the sites that belong to a seller.\\n\\n\\n__Note:__ Square Online APIs are publicly available as part of an early access program. For more information, see [Early access program for Square Online APIs](https://developer.squareup.com/docs/online-api#early-access-program-for-square-online-apis).\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_snippet\",\n \"parameters\": [\n {\n \"description\": \"The ID of the site that contains the snippet.\",\n \"in\": \"path\",\n \"name\": \"site_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/sites/{site_id}/snippet\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ONLINE_STORE_SNIPPETS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_snippet\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteSnippet\",\n \"tags\": [\n \"Snippets\"\n ]\n },\n \"delete_subscription_action\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a scheduled action for a subscription.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_subscription_action\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription the targeted action is to act upon.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the targeted action to be deleted.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/actions/{action_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_subscription_action\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteSubscriptionAction\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"delete_timecard\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a `Timecard`.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_timecard\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `Timecard` being deleted.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/timecards/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_timecard\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteTimecard\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"delete_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a transfer order in [DRAFT](entity:TransferOrderStatus) status.\\nOnly draft orders can be deleted. Once an order is started via \\n[StartTransferOrder](api-endpoint:TransferOrders-StartTransferOrder), it can no longer be deleted.\\n\\nCreates a [transfer_order.deleted](webhook:transfer_order.deleted) webhook event.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_transfer_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transfer order to delete\",\n \"in\": \"path\",\n \"name\": \"transfer_order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Version for optimistic concurrency\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/transfer-orders/{transfer_order_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"delete_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"delete_webhook_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deletes a webhook subscription.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"delete_webhook_subscription\",\n \"parameters\": [\n {\n \"description\": \"[REQUIRED] The ID of the [Subscription](entity:WebhookSubscription) to delete.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/subscriptions/{subscription_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"delete_webhook_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeleteWebhookSubscription\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"deprecated_batch_change_inventory\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deprecated version of [BatchChangeInventory](api-endpoint:Inventory-BatchChangeInventory) after the endpoint URL\\nis updated to conform to the standard convention.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"deprecated_batch_change_inventory\",\n \"parameters\": [],\n \"path\": \"/v2/inventory/batch-change\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchChangeInventoryRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"deprecated_batch_change_inventory\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeprecatedBatchChangeInventory\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"deprecated_batch_retrieve_inventory_changes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deprecated version of [BatchRetrieveInventoryChanges](api-endpoint:Inventory-BatchRetrieveInventoryChanges) after the endpoint URL\\nis updated to conform to the standard convention.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"deprecated_batch_retrieve_inventory_changes\",\n \"parameters\": [],\n \"path\": \"/v2/inventory/batch-retrieve-changes\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchRetrieveInventoryChangesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"deprecated_batch_retrieve_inventory_changes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeprecatedBatchRetrieveInventoryChanges\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"deprecated_batch_retrieve_inventory_counts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deprecated version of [BatchRetrieveInventoryCounts](api-endpoint:Inventory-BatchRetrieveInventoryCounts) after the endpoint URL\\nis updated to conform to the standard convention.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"deprecated_batch_retrieve_inventory_counts\",\n \"parameters\": [],\n \"path\": \"/v2/inventory/batch-retrieve-counts\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/BatchRetrieveInventoryCountsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"deprecated_batch_retrieve_inventory_counts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeprecatedBatchRetrieveInventoryCounts\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"deprecated_retrieve_inventory_adjustment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deprecated version of [RetrieveInventoryAdjustment](api-endpoint:Inventory-RetrieveInventoryAdjustment) after the endpoint URL\\nis updated to conform to the standard convention.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"deprecated_retrieve_inventory_adjustment\",\n \"parameters\": [\n {\n \"description\": \"ID of the [InventoryAdjustment](entity:InventoryAdjustment) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"adjustment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/adjustment/{adjustment_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"deprecated_retrieve_inventory_adjustment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeprecatedRetrieveInventoryAdjustment\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"deprecated_retrieve_inventory_physical_count\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Deprecated version of [RetrieveInventoryPhysicalCount](api-endpoint:Inventory-RetrieveInventoryPhysicalCount) after the endpoint URL\\nis updated to conform to the standard convention.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"deprecated_retrieve_inventory_physical_count\",\n \"parameters\": [\n {\n \"description\": \"ID of the\\n[InventoryPhysicalCount](entity:InventoryPhysicalCount) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"physical_count_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/physical-count/{physical_count_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"deprecated_retrieve_inventory_physical_count\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DeprecatedRetrieveInventoryPhysicalCount\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"disable_bank_account\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Disable a bank account.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"disable_bank_account\",\n \"parameters\": [\n {\n \"description\": \"The ID of the bank account to disable.\",\n \"in\": \"path\",\n \"name\": \"bank_account_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bank-accounts/{bank_account_id}/disable\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"BANK_ACCOUNTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"disable_bank_account\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DisableBankAccount\",\n \"tags\": [\n \"BankAccounts\"\n ]\n },\n \"disable_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Disables the card, preventing any further updates or charges.\\nDisabling an already disabled card is allowed but has no effect.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"disable_card\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the desired Card.\",\n \"in\": \"path\",\n \"name\": \"card_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cards/{card_id}/disable\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"disable_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DisableCard\",\n \"tags\": [\n \"Cards\"\n ]\n },\n \"disable_events\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Disables events to prevent them from being searchable.\\nAll events are disabled by default. You must enable events to make them searchable.\\nDisabling events for a specific time period prevents them from being searchable, even if you re-enable them later.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"disable_events\",\n \"parameters\": [],\n \"path\": \"/v2/events/disable\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"disable_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DisableEvents\",\n \"tags\": [\n \"Events\"\n ]\n },\n \"dismiss_terminal_action\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Dismisses a Terminal action request if the status and type of the request permits it.\\n\\nSee [Link and Dismiss Actions](https://developer.squareup.com/docs/terminal-api/advanced-features/custom-workflows/link-and-dismiss-actions) for more details.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"dismiss_terminal_action\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the `TerminalAction` associated with the action to be dismissed.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/actions/{action_id}/dismiss\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"dismiss_terminal_action\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DismissTerminalAction\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"dismiss_terminal_checkout\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Dismisses a Terminal checkout request if the status and type of the request permits it.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"dismiss_terminal_checkout\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the `TerminalCheckout` associated with the checkout to be dismissed.\",\n \"in\": \"path\",\n \"name\": \"checkout_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/checkouts/{checkout_id}/dismiss\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"dismiss_terminal_checkout\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DismissTerminalCheckout\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"dismiss_terminal_refund\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Dismisses a Terminal refund request if the status and type of the request permits it.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"dismiss_terminal_refund\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the `TerminalRefund` associated with the refund to be dismissed.\",\n \"in\": \"path\",\n \"name\": \"terminal_refund_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/refunds/{terminal_refund_id}/dismiss\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"dismiss_terminal_refund\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"DismissTerminalRefund\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"enable_events\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Enables events to make them searchable. Only events that occur while in the enabled state are searchable.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"enable_events\",\n \"parameters\": [],\n \"path\": \"/v2/events/enable\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"enable_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"EnableEvents\",\n \"tags\": [\n \"Events\"\n ]\n },\n \"get_bank_account\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve details of a [BankAccount](entity:BankAccount) bank account linked to a Square account.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_bank_account\",\n \"parameters\": [\n {\n \"description\": \"Square-issued ID of the desired `BankAccount`.\",\n \"in\": \"path\",\n \"name\": \"bank_account_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bank-accounts/{bank_account_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"BANK_ACCOUNTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_bank_account\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetBankAccount\",\n \"tags\": [\n \"BankAccounts\"\n ]\n },\n \"get_bank_account_by_v1_id\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns details of a [BankAccount](entity:BankAccount) identified by V1 bank account ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_bank_account_by_v1_id\",\n \"parameters\": [\n {\n \"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).\",\n \"in\": \"path\",\n \"name\": \"v1_bank_account_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bank-accounts/by-v1-id/{v1_bank_account_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"BANK_ACCOUNTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_bank_account_by_v1_id\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetBankAccountByV1Id\",\n \"tags\": [\n \"BankAccounts\"\n ]\n },\n \"get_break_type\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a single `BreakType` specified by `id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_break_type\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `BreakType` being retrieved.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/break-types/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_break_type\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetBreakType\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"get_device\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves Device with the associated `device_id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_device\",\n \"parameters\": [\n {\n \"description\": \"The unique ID for the desired `Device`.\",\n \"in\": \"path\",\n \"name\": \"device_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/devices/{device_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DEVICES_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_device\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetDevice\",\n \"tags\": [\n \"Devices\"\n ]\n },\n \"get_device_code\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves DeviceCode with the associated ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_device_code\",\n \"parameters\": [\n {\n \"description\": \"The unique identifier for the device code.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/devices/codes/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DEVICE_CREDENTIAL_MANAGEMENT\"\n ]\n }\n ],\n \"skill_name\": \"get_device_code\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetDeviceCode\",\n \"tags\": [\n \"Devices\"\n ]\n },\n \"get_employee_wage\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a single `EmployeeWage` specified by `id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_employee_wage\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `EmployeeWage` being retrieved.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/employee-wages/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_employee_wage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetEmployeeWage\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"get_invoice\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves an invoice by invoice ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_invoice\",\n \"parameters\": [\n {\n \"description\": \"The ID of the invoice to retrieve.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVOICES_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_invoice\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetInvoice\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"get_payment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves details for a specific payment.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_payment\",\n \"parameters\": [\n {\n \"description\": \"A unique ID for the desired payment.\",\n \"in\": \"path\",\n \"name\": \"payment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/payments/{payment_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_payment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetPayment\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"get_payment_refund\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific refund using the `refund_id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_payment_refund\",\n \"parameters\": [\n {\n \"description\": \"The unique ID for the desired `PaymentRefund`.\",\n \"in\": \"path\",\n \"name\": \"refund_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/refunds/{refund_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_payment_refund\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetPaymentRefund\",\n \"tags\": [\n \"Refunds\"\n ]\n },\n \"get_payout\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves details of a specific payout identified by a payout ID.\\nTo call this endpoint, set `PAYOUTS_READ` for the OAuth scope.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_payout\",\n \"parameters\": [\n {\n \"description\": \"The ID of the payout to retrieve the information for.\",\n \"in\": \"path\",\n \"name\": \"payout_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/payouts/{payout_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"get_payout\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetPayout\",\n \"tags\": [\n \"Payouts\"\n ]\n },\n \"get_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a single `Shift` specified by `id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_shift\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `Shift` being retrieved.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/shifts/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"get_team_member_wage\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a single `TeamMemberWage` specified by `id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_team_member_wage\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `TeamMemberWage` being retrieved.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/team-member-wages/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_team_member_wage\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetTeamMemberWage\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"get_terminal_action\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a Terminal action request by `action_id`. Terminal action requests are available for 30 days.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_terminal_action\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the desired `TerminalAction`.\",\n \"in\": \"path\",\n \"name\": \"action_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/actions/{action_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_terminal_action\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetTerminalAction\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"get_terminal_checkout\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a Terminal checkout request by `checkout_id`. Terminal checkout requests are available for 30 days.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_terminal_checkout\",\n \"parameters\": [\n {\n \"description\": \"The unique ID for the desired `TerminalCheckout`.\",\n \"in\": \"path\",\n \"name\": \"checkout_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/checkouts/{checkout_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_terminal_checkout\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetTerminalCheckout\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"get_terminal_refund\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves an Interac Terminal refund object by ID. Terminal refund objects are available for 30 days.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"get_terminal_refund\",\n \"parameters\": [\n {\n \"description\": \"The unique ID for the desired `TerminalRefund`.\",\n \"in\": \"path\",\n \"name\": \"terminal_refund_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/terminals/refunds/{terminal_refund_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"get_terminal_refund\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"GetTerminalRefund\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"link_customer_to_gift_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Links a customer to a gift card, which is also referred to as adding a card on file.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"link_customer_to_gift_card\",\n \"parameters\": [\n {\n \"description\": \"The ID of the gift card to be linked.\",\n \"in\": \"path\",\n \"name\": \"gift_card_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/gift-cards/{gift_card_id}/link-customer\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/LinkCustomerToGiftCardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"link_customer_to_gift_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"LinkCustomerToGiftCard\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"list_bank_accounts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of [BankAccount](entity:BankAccount) objects linked to a Square account.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_bank_accounts\",\n \"parameters\": [\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Location ID. You can specify this optional filter\\nto retrieve only the linked bank accounts belonging to a specific location.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Customer ID. You can specify this optional filter\\nto retrieve only the linked bank accounts belonging to a specific customer.\",\n \"in\": \"query\",\n \"name\": \"customer_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bank-accounts\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"BANK_ACCOUNTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_bank_accounts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListBankAccounts\",\n \"tags\": [\n \"BankAccounts\"\n ]\n },\n \"list_booking_custom_attribute_definitions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_booking_custom_attribute_definitions\",\n \"parameters\": [\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/custom-attribute-definitions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_booking_custom_attribute_definitions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListBookingCustomAttributeDefinitions\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"list_booking_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_booking_custom_attributes\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [booking](entity:Booking).\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definitions\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}/custom-attributes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_booking_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListBookingCustomAttributes\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"list_bookings\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieve a collection of bookings.\\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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_bookings\",\n \"parameters\": [\n {\n \"description\": \"The maximum number of results per page to return in a paged response.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The [customer](entity:Customer) for whom to retrieve bookings. If this is not set, bookings for all customers are retrieved.\",\n \"in\": \"query\",\n \"name\": \"customer_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The team member for whom to retrieve bookings. If this is not set, bookings of all members are retrieved.\",\n \"in\": \"query\",\n \"name\": \"team_member_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The location for which to retrieve bookings. If this is not set, all locations' bookings are retrieved.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The RFC 3339 timestamp specifying the earliest of the start time. If this is not set, the current time is used.\",\n \"in\": \"query\",\n \"name\": \"start_at_min\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"start_at_max\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_bookings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListBookings\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"list_break_types\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of `BreakType` instances for a business.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_break_types\",\n \"parameters\": [\n {\n \"description\": \"Filter the returned `BreakType` results to only those that are associated with the\\nspecified location.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of `BreakType` results to return per page. The number can range between 1\\nand 200. The default is 200.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pointer to the next page of `BreakType` results to fetch.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/break-types\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_break_types\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListBreakTypes\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"list_cards\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of cards owned by the account making the request.\\nA max of 25 cards will be returned.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_cards\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this to retrieve the next set of results for your original query.\\n\\nSee [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limit results to cards associated with the customer supplied.\\nBy default, all cards owned by the merchant are returned.\",\n \"in\": \"query\",\n \"name\": \"customer_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Includes disabled cards.\\nBy default, all enabled cards owned by the merchant are returned.\",\n \"in\": \"query\",\n \"name\": \"include_disabled\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Limit results to cards associated with the reference_id supplied.\",\n \"in\": \"query\",\n \"name\": \"reference_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Sorts the returned list by when the card was created with the specified order.\\nThis field defaults to ASC.\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n }\n ],\n \"path\": \"/v2/cards\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"list_cards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCards\",\n \"tags\": [\n \"Cards\"\n ]\n },\n \"list_cash_drawer_shift_events\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides a paginated list of events for a single cash drawer shift.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_cash_drawer_shift_events\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to list cash drawer shifts for.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The shift ID.\",\n \"in\": \"path\",\n \"name\": \"shift_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Number of resources to be returned in a page of results (200 by\\ndefault, 1000 max).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Opaque cursor for fetching the next page of results.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cash-drawers/shifts/{shift_id}/events\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CASH_DRAWER_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_cash_drawer_shift_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCashDrawerShiftEvents\",\n \"tags\": [\n \"CashDrawers\"\n ]\n },\n \"list_cash_drawer_shifts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides the details for all of the cash drawer shifts for a location\\nin a date range.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_cash_drawer_shifts\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to query for a list of cash drawer shifts.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which cash drawer shifts are listed in the response,\\nbased on their opened_at field. Default value: ASC\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"The inclusive start time of the query on opened_at, in ISO 8601 format.\",\n \"in\": \"query\",\n \"name\": \"begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The exclusive end date of the query on opened_at, in ISO 8601 format.\",\n \"in\": \"query\",\n \"name\": \"end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Number of cash drawer shift events in a page of results (200 by\\ndefault, 1000 max).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Opaque cursor for fetching the next page of results.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cash-drawers/shifts\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CASH_DRAWER_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_cash_drawer_shifts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCashDrawerShifts\",\n \"tags\": [\n \"CashDrawers\"\n ]\n },\n \"list_catalog\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of all [CatalogObject](entity:CatalogObject)s of the specified types in the catalog.\\n\\nThe `types` parameter is specified as a comma-separated list of the [CatalogObjectType](entity:CatalogObjectType) values,\\nfor example, \\\"`ITEM`, `ITEM_VARIATION`, `MODIFIER`, `MODIFIER_LIST`, `CATEGORY`, `DISCOUNT`, `TAX`, `IMAGE`\\\".\\n\\n__Important:__ ListCatalog does not return deleted catalog items. To retrieve\\ndeleted catalog items, use [SearchCatalogObjects](api-endpoint:Catalog-SearchCatalogObjects)\\nand set the `include_deleted_objects` attribute value to `true`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_catalog\",\n \"parameters\": [\n {\n \"description\": \"The pagination cursor returned in the previous response. Leave unset for an initial request.\\nThe page size is currently set to be 100.\\nSee [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"An optional case-insensitive, comma-separated list of object types to retrieve.\\n\\nThe valid values are defined in the [CatalogObjectType](entity:CatalogObjectType) enum, for example,\\n`ITEM`, `ITEM_VARIATION`, `CATEGORY`, `DISCOUNT`, `TAX`,\\n`MODIFIER`, `MODIFIER_LIST`, `IMAGE`, etc.\\n\\nIf this is unspecified, the operation returns objects of all the top level types at the version\\nof the Square API used to make the request. Object types that are nested onto other object types\\nare not included in the defaults.\\n\\nAt the current API version the default object types are:\\nITEM, CATEGORY, TAX, DISCOUNT, MODIFIER_LIST, \\nPRICING_RULE, PRODUCT_SET, TIME_PERIOD, MEASUREMENT_UNIT,\\nSUBSCRIPTION_PLAN, ITEM_OPTION, CUSTOM_ATTRIBUTE_DEFINITION, QUICK_AMOUNT_SETTINGS.\",\n \"in\": \"query\",\n \"name\": \"types\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The specific version of the catalog objects to be included in the response.\\nThis allows you to retrieve historical versions of objects. The specified version value is matched against\\nthe [CatalogObject](entity:CatalogObject)s' `version` attribute. If not included, results will be from the\\ncurrent version of the catalog.\",\n \"in\": \"query\",\n \"name\": \"catalog_version\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/catalog/list\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_catalog\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCatalog\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"list_channels\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"ListChannels\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_channels\",\n \"parameters\": [\n {\n \"description\": \"Type of reference associated to channel\",\n \"in\": \"query\",\n \"name\": \"reference_type\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ReferenceType\"\n }\n },\n {\n \"description\": \"id of reference associated to channel\",\n \"in\": \"query\",\n \"name\": \"reference_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Status of channel\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ChannelStatus\"\n }\n },\n {\n \"description\": \"Cursor to fetch the next result\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Maximum number of results to return.\\nWhen not provided the returned results will be cap at 100 channels.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/channels\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CHANNELS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_channels\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListChannels\",\n \"tags\": [\n \"Channels\"\n ]\n },\n \"list_customer_custom_attribute_definitions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the customer-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.\\n\\nWhen all response pages are retrieved, the results include all custom attribute definitions\\nthat are visible to the requesting application, including those that are created by other\\napplications and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that\\nseller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_customer_custom_attribute_definitions\",\n \"parameters\": [\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/custom-attribute-definitions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_customer_custom_attribute_definitions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCustomerCustomAttributeDefinitions\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"list_customer_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the [custom attributes](entity:CustomAttribute) associated with a customer profile.\\n\\nYou can use the `with_definitions` query parameter to also retrieve custom attribute definitions\\nin the same call.\\n\\nWhen all response pages are retrieved, the results include all custom attributes that are\\nvisible to the requesting application, including those that are owned by other applications\\nand set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_customer_custom_attributes\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [customer profile](entity:Customer).\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definitions\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/custom-attributes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_customer_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCustomerCustomAttributes\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"list_customer_groups\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the list of customer groups of a business.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_customer_groups\",\n \"parameters\": [\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to return in a single page. This limit is advisory. The response might contain more or fewer results.\\nIf the limit is less than 1 or greater than 50, Square returns a `400 VALUE_TOO_LOW` or `400 VALUE_TOO_HIGH` error. The default value is 50.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/customers/groups\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_customer_groups\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCustomerGroups\",\n \"tags\": [\n \"CustomerGroups\"\n ]\n },\n \"list_customer_segments\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the list of customer segments of a business.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_customer_segments\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by previous calls to `ListCustomerSegments`.\\nThis cursor is used to retrieve the next set of query results.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to return in a single page. This limit is advisory. The response might contain more or fewer results.\\nIf the specified limit is less than 1 or greater than 50, Square returns a `400 VALUE_TOO_LOW` or `400 VALUE_TOO_HIGH` error. The default value is 50.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/customers/segments\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_customer_segments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCustomerSegments\",\n \"tags\": [\n \"CustomerSegments\"\n ]\n },\n \"list_customers\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists customer profiles associated with a Square account.\\n\\nUnder normal operating conditions, newly created or updated customer profiles become available\\nfor the listing operation in well under 30 seconds. Occasionally, propagation of the new or updated\\nprofiles can take closer to one minute or longer, especially during network incidents and outages.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_customers\",\n \"parameters\": [\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to return in a single page. This limit is advisory. The response might contain more or fewer results.\\nIf the specified limit is less than 1 or greater than 100, Square returns a `400 VALUE_TOO_LOW` or `400 VALUE_TOO_HIGH` error. The default value is 100.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Indicates how customers should be sorted.\\n\\nThe default value is `DEFAULT`.\",\n \"in\": \"query\",\n \"name\": \"sort_field\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/CustomerSortField\"\n }\n },\n {\n \"description\": \"Indicates whether customers should be sorted in ascending (`ASC`) or\\ndescending (`DESC`) order.\\n\\nThe default value is `ASC`.\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"Indicates whether to return the total count of customers in the `count` field of the response.\\n\\nThe default value is `false`.\",\n \"in\": \"query\",\n \"name\": \"count\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/customers\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_customers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListCustomers\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"list_device_codes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all DeviceCodes associated with the merchant.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_device_codes\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this to retrieve the next set of results for your original query.\\n\\nSee [Paginating results](https://developer.squareup.com/docs/working-with-apis/pagination) for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If specified, only returns DeviceCodes of the specified location.\\nReturns DeviceCodes of all locations if empty.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If specified, only returns DeviceCodes targeting the specified product type.\\nReturns DeviceCodes of all product types if empty.\",\n \"in\": \"query\",\n \"name\": \"product_type\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ProductType\"\n }\n },\n {\n \"description\": \"If specified, returns DeviceCodes with the specified statuses.\\nReturns DeviceCodes of status `PAIRED` and `UNPAIRED` if empty.\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/DeviceCodeStatus\"\n }\n }\n ],\n \"path\": \"/v2/devices/codes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DEVICE_CREDENTIAL_MANAGEMENT\"\n ]\n }\n ],\n \"skill_name\": \"list_device_codes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListDeviceCodes\",\n \"tags\": [\n \"Devices\"\n ]\n },\n \"list_devices\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"List devices associated with the merchant. Currently, only Terminal API\\ndevices are supported.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_devices\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nSee [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which results are listed.\\n- `ASC` - Oldest to newest.\\n- `DESC` - Newest to oldest (default).\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"The number of results to return in a single page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"If present, only returns devices at the target location.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/devices\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DEVICES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_devices\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListDevices\",\n \"tags\": [\n \"Devices\"\n ]\n },\n \"list_dispute_evidence\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of evidence associated with a dispute.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_dispute_evidence\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/evidence\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_dispute_evidence\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListDisputeEvidence\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"list_disputes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of disputes associated with a particular account.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_disputes\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The dispute states used to filter the result. If not specified, the endpoint returns all disputes.\",\n \"in\": \"query\",\n \"name\": \"states\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/DisputeState\"\n }\n },\n {\n \"description\": \"The ID of the location for which to return a list of disputes.\\nIf not specified, the endpoint returns disputes associated with all locations.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_disputes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListDisputes\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"list_employee_wages\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of `EmployeeWage` instances for a business.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_employee_wages\",\n \"parameters\": [\n {\n \"description\": \"Filter the returned wages to only those that are associated with the specified employee.\",\n \"in\": \"query\",\n \"name\": \"employee_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of `EmployeeWage` results to return per page. The number can range between\\n1 and 200. The default is 200.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pointer to the next page of `EmployeeWage` results to fetch.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/employee-wages\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_employee_wages\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListEmployeeWages\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"list_employees\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"ListEmployees\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_employees\",\n \"parameters\": [\n {\n \"description\": \"\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Specifies the EmployeeStatus to filter the employee by.\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/EmployeeStatus\"\n }\n },\n {\n \"description\": \"The number of employees to be returned on each page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The token required to retrieve the specified page of results.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/employees\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_employees\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListEmployees\",\n \"tags\": [\n \"Employees\"\n ]\n },\n \"list_event_types\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all event types that you can subscribe to as webhooks or query using the Events API.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_event_types\",\n \"parameters\": [\n {\n \"description\": \"The API version for which to list event types. Setting this field overrides the default version used by the application.\",\n \"in\": \"query\",\n \"name\": \"api_version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/events/types\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"list_event_types\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListEventTypes\",\n \"tags\": [\n \"Events\"\n ]\n },\n \"list_gift_card_activities\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists gift card activities. By default, you get gift card activities for all\\ngift cards in the seller's account. You can optionally specify query parameters to\\nfilter the list. For example, you can get a list of gift card activities for a gift card,\\nfor all gift cards in a specific region, or for activities within a time window.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_gift_card_activities\",\n \"parameters\": [\n {\n \"description\": \"If a gift card ID is provided, the endpoint returns activities related \\nto the specified gift card. Otherwise, the endpoint returns all gift card activities for \\nthe seller.\",\n \"in\": \"query\",\n \"name\": \"gift_card_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If a [type](entity:GiftCardActivityType) is provided, the endpoint returns gift card activities of the specified type. \\nOtherwise, the endpoint returns all types of gift card activities.\",\n \"in\": \"query\",\n \"name\": \"type\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If a location ID is provided, the endpoint returns gift card activities for the specified location. \\nOtherwise, the endpoint returns gift card activities for all locations.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The timestamp for the beginning of the reporting period, in RFC 3339 format.\\nThis start time is inclusive. The default value is the current time minus one year.\",\n \"in\": \"query\",\n \"name\": \"begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The timestamp for the end of the reporting period, in RFC 3339 format.\\nThis end time is inclusive. The default value is the current time.\",\n \"in\": \"query\",\n \"name\": \"end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If a limit is provided, the endpoint returns the specified number \\nof results (or fewer) per page. The maximum value is 100. The default value is 50.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nIf a cursor is not provided, the endpoint returns the first page of the results.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which the endpoint returns the activities, based on `created_at`.\\n- `ASC` - Oldest to newest.\\n- `DESC` - Newest to oldest (default).\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/gift-cards/activities\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_gift_card_activities\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListGiftCardActivities\",\n \"tags\": [\n \"GiftCardActivities\"\n ]\n },\n \"list_gift_cards\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all gift cards. You can specify optional filters to retrieve \\na subset of the gift cards. Results are sorted by `created_at` in ascending order.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_gift_cards\",\n \"parameters\": [\n {\n \"description\": \"If a [type](entity:GiftCardType) is provided, the endpoint returns gift cards of the specified type.\\nOtherwise, the endpoint returns gift cards of all types.\",\n \"in\": \"query\",\n \"name\": \"type\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If a [state](entity:GiftCardStatus) is provided, the endpoint returns the gift cards in the specified state.\\nOtherwise, the endpoint returns the gift cards of all states.\",\n \"in\": \"query\",\n \"name\": \"state\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If a limit is provided, the endpoint returns only the specified number of results per page.\\nThe maximum value is 200. The default value is 30.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nIf a cursor is not provided, the endpoint returns the first page of the results. \\nFor more information, see [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If a customer ID is provided, the endpoint returns only the gift cards linked to the specified customer.\",\n \"in\": \"query\",\n \"name\": \"customer_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/gift-cards\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_gift_cards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListGiftCards\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"list_invoices\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_invoices\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location for which to list invoices.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/invoices\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVOICES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_invoices\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListInvoices\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"list_jobs\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists jobs in a seller account. Results are sorted by title in ascending order.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_jobs\",\n \"parameters\": [\n {\n \"description\": \"The pagination cursor returned by the previous call to this endpoint. Provide this\\ncursor to retrieve the next page of results for your original request. For more information,\\nsee [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/jobs\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_jobs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListJobs\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"list_location_booking_profiles\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists location booking profiles of a seller.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_location_booking_profiles\",\n \"parameters\": [\n {\n \"description\": \"The maximum number of results to return in a paged response.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/location-booking-profiles\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_location_booking_profiles\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListLocationBookingProfiles\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"list_location_custom_attribute_definitions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the location-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.\\nWhen all response pages are retrieved, the results include all custom attribute definitions\\nthat are visible to the requesting application, including those that are created by other\\napplications and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_location_custom_attribute_definitions\",\n \"parameters\": [\n {\n \"description\": \"Filters the `CustomAttributeDefinition` results by their `visibility` values.\",\n \"in\": \"query\",\n \"name\": \"visibility_filter\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/VisibilityFilter\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/custom-attribute-definitions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_location_custom_attribute_definitions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListLocationCustomAttributeDefinitions\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"list_location_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the [custom attributes](entity:CustomAttribute) associated with a location.\\nYou can use the `with_definitions` query parameter to also retrieve custom attribute definitions\\nin the same call.\\nWhen all response pages are retrieved, the results include all custom attributes that are\\nvisible to the requesting application, including those that are owned by other applications\\nand set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_location_custom_attributes\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [location](entity:Location).\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters the `CustomAttributeDefinition` results by their `visibility` values.\",\n \"in\": \"query\",\n \"name\": \"visibility_filter\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/VisibilityFilter\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definitions\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/custom-attributes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_location_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListLocationCustomAttributes\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"list_locations\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides details about all of the seller's [locations](https://developer.squareup.com/docs/locations-api),\\nincluding those with an inactive status. Locations are listed alphabetically by `name`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_locations\",\n \"parameters\": [],\n \"path\": \"/v2/locations\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_locations\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListLocations\",\n \"tags\": [\n \"Locations\"\n ]\n },\n \"list_loyalty_programs\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of loyalty programs in the seller's account.\\nLoyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only one loyalty program, which is created and managed from the Seller Dashboard. For more information, see [Loyalty Program Overview](https://developer.squareup.com/docs/loyalty/overview).\\n\\n\\nReplaced with [RetrieveLoyaltyProgram](api-endpoint:Loyalty-RetrieveLoyaltyProgram) when used with the keyword `main`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_loyalty_programs\",\n \"parameters\": [],\n \"path\": \"/v2/loyalty/programs\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_loyalty_programs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListLoyaltyPrograms\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"list_loyalty_promotions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the loyalty promotions associated with a [loyalty program](entity:LoyaltyProgram).\\nResults are sorted by the `created_at` date in descending order (newest to oldest).\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_loyalty_promotions\",\n \"parameters\": [\n {\n \"description\": \"The ID of the base [loyalty program](entity:LoyaltyProgram). To get the program ID,\\ncall [RetrieveLoyaltyProgram](api-endpoint:Loyalty-RetrieveLoyaltyProgram) using the `main` keyword.\",\n \"in\": \"path\",\n \"name\": \"program_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The status to filter the results by. If a status is provided, only loyalty promotions\\nwith the specified status are returned. Otherwise, all loyalty promotions associated with\\nthe loyalty program are returned.\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/LoyaltyPromotionStatus\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to return in a single paged response.\\nThe minimum value is 1 and the maximum value is 30. The default value is 30.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/programs/{program_id}/promotions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_loyalty_promotions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListLoyaltyPromotions\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"list_merchant_custom_attribute_definitions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the merchant-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.\\nWhen all response pages are retrieved, the results include all custom attribute definitions\\nthat are visible to the requesting application, including those that are created by other\\napplications and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_merchant_custom_attribute_definitions\",\n \"parameters\": [\n {\n \"description\": \"Filters the `CustomAttributeDefinition` results by their `visibility` values.\",\n \"in\": \"query\",\n \"name\": \"visibility_filter\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/VisibilityFilter\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/merchants/custom-attribute-definitions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_merchant_custom_attribute_definitions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListMerchantCustomAttributeDefinitions\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"list_merchant_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the [custom attributes](entity:CustomAttribute) associated with a merchant.\\nYou can use the `with_definitions` query parameter to also retrieve custom attribute definitions\\nin the same call.\\nWhen all response pages are retrieved, the results include all custom attributes that are\\nvisible to the requesting application, including those that are owned by other applications\\nand set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_merchant_custom_attributes\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [merchant](entity:Merchant).\",\n \"in\": \"path\",\n \"name\": \"merchant_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Filters the `CustomAttributeDefinition` results by their `visibility` values.\",\n \"in\": \"query\",\n \"name\": \"visibility_filter\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/VisibilityFilter\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definitions\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/merchants/{merchant_id}/custom-attributes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_merchant_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListMerchantCustomAttributes\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"list_merchants\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides details about the merchant associated with a given access token.\\n\\nThe access token used to connect your application to a Square seller is associated\\nwith a single merchant. That means that `ListMerchants` returns a list\\nwith a single `Merchant` object. You can specify your personal access token\\nto get your own merchant information or specify an OAuth token to get the\\ninformation for the merchant that granted your application access.\\n\\nIf you know the merchant ID, you can also use the [RetrieveMerchant](api-endpoint:Merchants-RetrieveMerchant)\\nendpoint to retrieve the merchant information.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_merchants\",\n \"parameters\": [\n {\n \"description\": \"The cursor generated by the previous response.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/merchants\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_merchants\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListMerchants\",\n \"tags\": [\n \"Merchants\"\n ]\n },\n \"list_order_custom_attribute_definitions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the order-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.\\n\\nWhen all response pages are retrieved, the results include all custom attribute definitions\\nthat are visible to the requesting application, including those that are created by other\\napplications and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that\\nseller-defined custom attributes (also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_order_custom_attribute_definitions\",\n \"parameters\": [\n {\n \"description\": \"Requests that all of the custom attributes be returned, or only those that are read-only or read-write.\",\n \"in\": \"query\",\n \"name\": \"visibility_filter\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/VisibilityFilter\"\n }\n },\n {\n \"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/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/orders/custom-attribute-definitions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_order_custom_attribute_definitions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListOrderCustomAttributeDefinitions\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"list_order_custom_attributes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the [custom attributes](entity:CustomAttribute) associated with an order.\\n\\nYou can use the `with_definitions` query parameter to also retrieve custom attribute definitions\\nin the same call.\\n\\nWhen all response pages are retrieved, the results include all custom attributes that are\\nvisible to the requesting application, including those that are owned by other applications\\nand set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_order_custom_attributes\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [order](entity:Order).\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Requests that all of the custom attributes be returned, or only those that are read-only or read-write.\",\n \"in\": \"query\",\n \"name\": \"visibility_filter\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/VisibilityFilter\"\n }\n },\n {\n \"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/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination).\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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 attribute, \\ninformation about the data type, or other definition details. The default value is `false`.\",\n \"in\": \"query\",\n \"name\": \"with_definitions\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}/custom-attributes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_order_custom_attributes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListOrderCustomAttributes\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"list_payment_links\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all payment links.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_payment_links\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nIf a cursor is not provided, the endpoint returns the first page of the results.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A limit on the number of results to return per page. The limit is advisory and\\nthe implementation might return more or less results. If the supplied limit is negative, zero, or\\ngreater than the maximum limit of 1000, it is ignored.\\n\\nDefault value: `100`\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/online-checkout/payment-links\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_payment_links\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListPaymentLinks\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"list_payment_refunds\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of refunds for the account making the request.\\n\\nResults are eventually consistent, and new refunds or changes to refunds might take several\\nseconds to appear.\\n\\nThe maximum results per page is 100.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_payment_refunds\",\n \"parameters\": [\n {\n \"description\": \"Indicates the start of the time range to retrieve each `PaymentRefund` for, in RFC 3339 \\nformat. The range is determined using the `created_at` field for each `PaymentRefund`. \\n\\nDefault: The current time minus one year.\",\n \"in\": \"query\",\n \"name\": \"begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates the end of the time range to retrieve each `PaymentRefund` for, in RFC 3339 \\nformat. The range is determined using the `created_at` field for each `PaymentRefund`.\\n\\nDefault: The current time.\",\n \"in\": \"query\",\n \"name\": \"end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which results are listed by `PaymentRefund.created_at`:\\n- `ASC` - Oldest to newest.\\n- `DESC` - Newest to oldest (default).\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limit results to the location supplied. By default, results are returned\\nfor all locations associated with the seller.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If provided, only refunds with the given status are returned.\\nFor a list of refund status values, see [PaymentRefund](entity:PaymentRefund).\\n\\nDefault: If omitted, refunds are returned regardless of their status.\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If provided, only returns refunds whose payments have the indicated source type.\\nCurrent values include `CARD`, `BANK_ACCOUNT`, `WALLET`, `CASH`, and `EXTERNAL`.\\nFor information about these payment source types, see\\n[Take Payments](https://developer.squareup.com/docs/payments-api/take-payments).\\n\\nDefault: If omitted, refunds are returned regardless of the source type.\",\n \"in\": \"query\",\n \"name\": \"source_type\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to be returned in a single page.\\n\\nIt is possible to receive fewer results than the specified limit on a given page.\\n\\nIf the supplied value is greater than 100, no more than 100 results are returned.\\n\\nDefault: 100\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Indicates the start of the time range to retrieve each `PaymentRefund` for, in RFC 3339\\nformat. The range is determined using the `updated_at` field for each `PaymentRefund`.\\n\\nDefault: If omitted, the time range starts at `begin_time`.\",\n \"in\": \"query\",\n \"name\": \"updated_at_begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates the end of the time range to retrieve each `PaymentRefund` for, in RFC 3339\\nformat. The range is determined using the `updated_at` field for each `PaymentRefund`.\\n\\nDefault: The current time.\",\n \"in\": \"query\",\n \"name\": \"updated_at_end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The field used to sort results by. The default is `CREATED_AT`.\",\n \"in\": \"query\",\n \"name\": \"sort_field\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ListPaymentRefundsRequestSortField\"\n }\n }\n ],\n \"path\": \"/v2/refunds\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_payment_refunds\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListPaymentRefunds\",\n \"tags\": [\n \"Refunds\"\n ]\n },\n \"list_payments\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of payments taken by the account making the request.\\n\\nResults are eventually consistent, and new payments or changes to payments might take several\\nseconds to appear.\\n\\nThe maximum results per page is 100.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_payments\",\n \"parameters\": [\n {\n \"description\": \"Indicates the start of the time range to retrieve payments for, in RFC 3339 format.\\nThe range is determined using the `created_at` field for each Payment.\\nInclusive. Default: The current time minus one year.\",\n \"in\": \"query\",\n \"name\": \"begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates the end of the time range to retrieve payments for, in RFC 3339 format. The\\nrange is determined using the `created_at` field for each Payment.\\n\\nDefault: The current time.\",\n \"in\": \"query\",\n \"name\": \"end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which results are listed by `ListPaymentsRequest.sort_field`:\\n- `ASC` - Oldest to newest.\\n- `DESC` - Newest to oldest (default).\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Limit results to the location supplied. By default, results are returned\\nfor the default (main) location associated with the seller.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The exact amount in the `total_money` for a payment.\",\n \"in\": \"query\",\n \"name\": \"total\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"The last four digits of a payment card.\",\n \"in\": \"query\",\n \"name\": \"last_4\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The brand of the payment card (for example, VISA).\",\n \"in\": \"query\",\n \"name\": \"card_brand\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to be returned in a single page.\\nIt is possible to receive fewer results than the specified limit on a given page.\\n\\nThe default value of 100 is also the maximum allowed value. If the provided value is \\ngreater than 100, it is ignored and the default value is used instead.\\n\\nDefault: `100`\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Whether the payment was taken offline or not.\",\n \"in\": \"query\",\n \"name\": \"is_offline_payment\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Indicates the start of the time range for which to retrieve offline payments, in RFC 3339\\nformat for timestamps. The range is determined using the\\n`offline_payment_details.client_created_at` field for each Payment. If set, payments without a\\nvalue set in `offline_payment_details.client_created_at` will not be returned.\\n\\nDefault: The current time.\",\n \"in\": \"query\",\n \"name\": \"offline_begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates the end of the time range for which to retrieve offline payments, in RFC 3339\\nformat for timestamps. The range is determined using the\\n`offline_payment_details.client_created_at` field for each Payment. If set, payments without a\\nvalue set in `offline_payment_details.client_created_at` will not be returned.\\n\\nDefault: The current time.\",\n \"in\": \"query\",\n \"name\": \"offline_end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates the start of the time range to retrieve payments for, in RFC 3339 format. The\\nrange is determined using the `updated_at` field for each Payment.\",\n \"in\": \"query\",\n \"name\": \"updated_at_begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates the end of the time range to retrieve payments for, in RFC 3339 format. The\\nrange is determined using the `updated_at` field for each Payment.\",\n \"in\": \"query\",\n \"name\": \"updated_at_end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The field used to sort results by. The default is `CREATED_AT`.\",\n \"in\": \"query\",\n \"name\": \"sort_field\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/ListPaymentsRequestSortField\"\n }\n }\n ],\n \"path\": \"/v2/payments\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_payments\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListPayments\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"list_payout_entries\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of all payout entries for a specific payout.\\nTo call this endpoint, set `PAYOUTS_READ` for the OAuth scope.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_payout_entries\",\n \"parameters\": [\n {\n \"description\": \"The ID of the payout to retrieve the information for.\",\n \"in\": \"path\",\n \"name\": \"payout_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which payout entries are listed.\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\\nIf request parameters change between requests, subsequent results may contain duplicates or missing records.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to be returned in a single page.\\nIt is possible to receive fewer results than the specified limit on a given page.\\nThe default value of 100 is also the maximum allowed value. If the provided value is\\ngreater than 100, it is ignored and the default value is used instead.\\nDefault: `100`\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/payouts/{payout_id}/payout-entries\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"list_payout_entries\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListPayoutEntries\",\n \"tags\": [\n \"Payouts\"\n ]\n },\n \"list_payouts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a list of all payouts for the default location.\\nYou can filter payouts by location ID, status, time range, and order them in ascending or descending order.\\nTo call this endpoint, set `PAYOUTS_READ` for the OAuth scope.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_payouts\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location for which to list the payouts.\\nBy default, payouts are returned for the default (main) location associated with the seller.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If provided, only payouts with the given status are returned.\",\n \"in\": \"query\",\n \"name\": \"status\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/PayoutStatus\"\n }\n },\n {\n \"description\": \"The timestamp for the beginning of the payout creation time, in RFC 3339 format.\\nInclusive. Default: The current time minus one year.\",\n \"in\": \"query\",\n \"name\": \"begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The timestamp for the end of the payout creation time, in RFC 3339 format.\\nDefault: The current time.\",\n \"in\": \"query\",\n \"name\": \"end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which payouts are listed.\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this cursor to retrieve the next set of results for the original query.\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\\nIf request parameters change between requests, subsequent results may contain duplicates or missing records.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of results to be returned in a single page.\\nIt is possible to receive fewer results than the specified limit on a given page.\\nThe default value of 100 is also the maximum allowed value. If the provided value is\\ngreater than 100, it is ignored and the default value is used instead.\\nDefault: `100`\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/payouts\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"list_payouts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListPayouts\",\n \"tags\": [\n \"Payouts\"\n ]\n },\n \"list_sites\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists the Square Online sites that belong to a seller. Sites are listed in descending order by the `created_at` date.\\n\\n\\n__Note:__ Square Online APIs are publicly available as part of an early access program. For more information, see [Early access program for Square Online APIs](https://developer.squareup.com/docs/online-api#early-access-program-for-square-online-apis).\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_sites\",\n \"parameters\": [],\n \"path\": \"/v2/sites\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ONLINE_STORE_SITE_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_sites\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListSites\",\n \"tags\": [\n \"Sites\"\n ]\n },\n \"list_subscription_events\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all [events](https://developer.squareup.com/docs/subscriptions-api/actions-events) for a specific subscription.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_subscription_events\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to retrieve the events for.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"When the total number of resulting subscription events exceeds the limit of a paged response, \\nspecify the cursor returned from a preceding response here to fetch the next set of results.\\nIf the cursor is unset, the response contains the last page of the results.\\n\\nFor more information, see [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The upper limit on the number of subscription events to return\\nin a paged response.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/events\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_subscription_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListSubscriptionEvents\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"list_team_member_booking_profiles\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists booking profiles for team members.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_team_member_booking_profiles\",\n \"parameters\": [\n {\n \"description\": \"Indicates whether to include only bookable team members in the returned result (`true`) or not (`false`).\",\n \"in\": \"query\",\n \"name\": \"bookable_only\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"The maximum number of results to return in a paged response.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Indicates whether to include only team members enabled at the given location in the returned result.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/team-member-booking-profiles\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_team_member_booking_profiles\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListTeamMemberBookingProfiles\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"list_team_member_wages\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of `TeamMemberWage` instances for a business.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_team_member_wages\",\n \"parameters\": [\n {\n \"description\": \"Filter the returned wages to only those that are associated with the\\nspecified team member.\",\n \"in\": \"query\",\n \"name\": \"team_member_id\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The maximum number of `TeamMemberWage` results to return per page. The number can range between\\n1 and 200. The default is 200.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pointer to the next page of `EmployeeWage` results to fetch.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/team-member-wages\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_team_member_wages\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListTeamMemberWages\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"list_transactions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists transactions for a particular location.\\n\\nTransactions include payment information from sales and exchanges and refund\\ninformation from returns and exchanges.\\n\\nMax results per [page](https://developer.squareup.com/docs/working-with-apis/pagination): 50\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_transactions\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to list transactions for.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The beginning of the requested reporting period, in RFC 3339 format.\\n\\nSee [Date ranges](https://developer.squareup.com/docs/build-basics/working-with-dates) for details on date inclusivity/exclusivity.\\n\\nDefault value: The current time minus one year.\",\n \"in\": \"query\",\n \"name\": \"begin_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The end of the requested reporting period, in RFC 3339 format.\\n\\nSee [Date ranges](https://developer.squareup.com/docs/build-basics/working-with-dates) for details on date inclusivity/exclusivity.\\n\\nDefault value: The current time.\",\n \"in\": \"query\",\n \"name\": \"end_time\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which results are listed in the response (`ASC` for\\noldest first, `DESC` for newest first).\\n\\nDefault value: `DESC`\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this to retrieve the next set of results for your original query.\\n\\nSee [Paginating results](https://developer.squareup.com/docs/working-with-apis/pagination) for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/transactions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_transactions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListTransactions\",\n \"tags\": [\n \"Transactions\"\n ]\n },\n \"list_webhook_event_types\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all webhook event types that can be subscribed to.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_webhook_event_types\",\n \"parameters\": [\n {\n \"description\": \"The API version for which to list event types. Setting this field overrides the default version used by the application.\",\n \"in\": \"query\",\n \"name\": \"api_version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/event-types\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"list_webhook_event_types\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListWebhookEventTypes\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"list_webhook_subscriptions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Lists all webhook subscriptions owned by your application.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_webhook_subscriptions\",\n \"parameters\": [\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this 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).\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"Includes disabled [Subscription](entity:WebhookSubscription)s.\\nBy default, all enabled [Subscription](entity:WebhookSubscription)s are returned.\",\n \"in\": \"query\",\n \"name\": \"include_disabled\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Sorts the returned list by when the [Subscription](entity:WebhookSubscription) was created with the specified order.\\nThis field defaults to ASC.\",\n \"in\": \"query\",\n \"name\": \"sort_order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"The maximum number of results to be returned in a single page.\\nIt is possible to receive fewer results than the specified limit on a given page.\\nThe default value of 100 is also the maximum allowed value.\\n\\nDefault: 100\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/subscriptions\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"list_webhook_subscriptions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListWebhookSubscriptions\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"list_workweek_configs\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a list of `WorkweekConfig` instances for a business.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"list_workweek_configs\",\n \"parameters\": [\n {\n \"description\": \"The maximum number of `WorkweekConfigs` results to return per page.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pointer to the next page of `WorkweekConfig` results to fetch.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/workweek-configs\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"list_workweek_configs\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ListWorkweekConfigs\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"obtain_token\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns an OAuth access token and refresh token using the `authorization_code`\\nor `refresh_token` grant type.\\n\\nWhen `grant_type` is `authorization_code`:\\n- With the [code flow](https://developer.squareup.com/docs/oauth-api/overview#code-flow),\\nprovide `code`, `client_id`, and `client_secret`.\\n- With the [PKCE flow](https://developer.squareup.com/docs/oauth-api/overview#pkce-flow),\\nprovide `code`, `client_id`, and `code_verifier`. \\n\\nWhen `grant_type` is `refresh_token`:\\n- With the code flow, provide `refresh_token`, `client_id`, and `client_secret`.\\nThe response returns the same refresh token provided in the request.\\n- With the PKCE flow, provide `refresh_token` and `client_id`. The response returns\\na new refresh token.\\n\\nYou can use the `scopes` parameter to limit the set of permissions authorized by the\\naccess token. You can use the `short_lived` parameter to create an access token that\\nexpires in 24 hours.\\n\\n__Important:__ OAuth tokens should be encrypted and stored on a secure server.\\nApplication clients should never interact directly with OAuth tokens.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"obtain_token\",\n \"parameters\": [],\n \"path\": \"/oauth2/token\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/ObtainTokenRequest\"\n },\n \"security\": [],\n \"skill_name\": \"obtain_token\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ObtainToken\",\n \"tags\": [\n \"OAuth\"\n ]\n },\n \"pause_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Schedules a `PAUSE` action to pause an active subscription.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"pause_subscription\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to pause.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/pause\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PauseSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\",\n \"PAYMENTS_WRITE\",\n \"SUBSCRIPTIONS_WRITE\",\n \"ITEMS_READ\",\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"pause_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"PauseSubscription\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"pay_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Pay for an [order](entity:Order) using one or more approved [payments](entity:Payment)\\nor settle an order with a total of `0`.\\n\\nThe total of the `payment_ids` listed in the request must be equal to the order\\ntotal. Orders with a total amount of `0` can be marked as paid by specifying an empty\\narray of `payment_ids` in the request.\\n\\nTo be used with `PayOrder`, a payment must:\\n\\n- Reference the order by specifying the `order_id` when [creating the payment](api-endpoint:Payments-CreatePayment).\\nAny approved payments that reference the same `order_id` not specified in the\\n`payment_ids` is canceled.\\n- Be approved with [delayed capture](https://developer.squareup.com/docs/payments-api/take-payments/card-payments/delayed-capture).\\nUsing a delayed capture payment with `PayOrder` completes the approved payment.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"pay_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the order being paid.\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}/pay\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PayOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\",\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"pay_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"PayOrder\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"publish_invoice\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"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.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"publish_invoice\",\n \"parameters\": [\n {\n \"description\": \"The ID of the invoice to publish.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}/publish\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PublishInvoiceRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"publish_invoice\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"PublishInvoice\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"publish_scheduled_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Publishes a scheduled shift. When a scheduled shift is published, Square keeps the\\n`draft_shift_details` field as is and copies it to the `published_shift_details` field.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"publish_scheduled_shift\",\n \"parameters\": [\n {\n \"description\": \"The ID of the scheduled shift to publish.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/scheduled-shifts/{id}/publish\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/PublishScheduledShiftRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"publish_scheduled_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"PublishScheduledShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"receive_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Records receipt of [CatalogItemVariation](entity:CatalogItemVariation)s for a transfer order.\\nThis endpoint supports partial receiving - you can receive items in multiple batches.\\n\\nFor each line item, you can specify:\\n- Quantity received in good condition (added to destination inventory with [InventoryState](entity:InventoryState) of IN_STOCK)\\n- Quantity damaged during transit/handling (added to destination inventory with [InventoryState](entity:InventoryState) of WASTE)\\n- Quantity canceled (returned to source location's inventory)\\n\\nThe order must be in [STARTED](entity:TransferOrderStatus) or [PARTIALLY_RECEIVED](entity:TransferOrderStatus) status.\\nReceived quantities are added to the destination [Location](entity:Location)'s inventory according to their condition.\\nCanceled quantities are immediately returned to the source [Location](entity:Location)'s inventory.\\n\\nWhen all items are either received, damaged, or canceled, the order moves to\\n[COMPLETED](entity:TransferOrderStatus) status.\\n\\nCreates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"receive_transfer_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transfer order to receive items for\",\n \"in\": \"path\",\n \"name\": \"transfer_order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/transfer-orders/{transfer_order_id}/receive\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/ReceiveTransferOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\",\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"receive_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ReceiveTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"redeem_loyalty_reward\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Redeems a loyalty reward.\\n\\nThe endpoint sets the reward to the `REDEEMED` terminal state.\\n\\nIf you are using your own order processing system (not using the\\nOrders API), you call this endpoint after the buyer paid for the\\npurchase.\\n\\nAfter the reward reaches the terminal state, it cannot be deleted.\\nIn other words, points used for the reward cannot be returned\\nto the account.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"redeem_loyalty_reward\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty reward](entity:LoyaltyReward) to redeem.\",\n \"in\": \"path\",\n \"name\": \"reward_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/rewards/{reward_id}/redeem\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/RedeemLoyaltyRewardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"redeem_loyalty_reward\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RedeemLoyaltyReward\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"refund_payment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Refunds a payment. You can refund the entire payment amount or a\\nportion of it. You can use this endpoint to refund a card payment or record a \\nrefund of a cash or external payment. For more information, see\\n[Refund Payment](https://developer.squareup.com/docs/payments-api/refund-payments).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"refund_payment\",\n \"parameters\": [],\n \"path\": \"/v2/refunds\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/RefundPaymentRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"refund_payment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RefundPayment\",\n \"tags\": [\n \"Refunds\"\n ]\n },\n \"register_domain\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Activates a domain for use with Apple Pay on the Web and Square. A validation\\nis performed on this domain by Apple to ensure that it is properly set up as\\nan Apple Pay enabled domain.\\n\\nThis endpoint provides an easy way for platform developers to bulk activate\\nApple Pay on the Web with Square for merchants using their platform.\\n\\nNote: You will need to host a valid domain verification file on your domain to support Apple Pay. The\\ncurrent version of this file is always available at https://app.squareup.com/digital-wallets/apple-pay/apple-developer-merchantid-domain-association,\\nand should be hosted at `.well_known/apple-developer-merchantid-domain-association` on your\\ndomain. This file is subject to change; we strongly recommend checking for updates regularly and avoiding\\nlong-lived caches that might not keep in sync with the correct file version.\\n\\nTo learn more about the Web Payments SDK and how to add Apple Pay, see [Take an Apple Pay Payment](https://developer.squareup.com/docs/web-payments/apple-pay).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"register_domain\",\n \"parameters\": [],\n \"path\": \"/v2/apple-pay/domains\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/RegisterDomainRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"register_domain\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RegisterDomain\",\n \"tags\": [\n \"ApplePay\"\n ]\n },\n \"remove_group_from_customer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Removes a group membership from a customer.\\n\\nThe customer is identified by the `customer_id` value\\nand the customer group is identified by the `group_id` value.\",\n \"destructive\": true,\n \"method\": \"DELETE\",\n \"operation_id\": \"remove_group_from_customer\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer to remove from the group.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the customer group to remove the customer from.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/groups/{group_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"remove_group_from_customer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RemoveGroupFromCustomer\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"resume_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Schedules a `RESUME` action to resume a paused or a deactivated subscription.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"resume_subscription\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to resume.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/resume\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/ResumeSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\",\n \"PAYMENTS_WRITE\",\n \"SUBSCRIPTIONS_WRITE\",\n \"ITEMS_READ\",\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"resume_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"ResumeSubscription\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"retrieve_booking\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a booking.\\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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_booking\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [Booking](entity:Booking) object representing the to-be-retrieved booking.\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_booking\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveBooking\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"retrieve_booking_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_booking_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [booking](entity:Booking).\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definition\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_booking_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveBookingCustomAttribute\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"retrieve_booking_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_booking_custom_attribute_definition\",\n \"parameters\": [\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/bookings/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_booking_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveBookingCustomAttributeDefinition\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"retrieve_business_booking_profile\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a seller's booking profile.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_business_booking_profile\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/business-booking-profile\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_business_booking_profile\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveBusinessBookingProfile\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"retrieve_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves details for a specific Card.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_card\",\n \"parameters\": [\n {\n \"description\": \"Unique ID for the desired Card.\",\n \"in\": \"path\",\n \"name\": \"card_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cards/{card_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"retrieve_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCard\",\n \"tags\": [\n \"Cards\"\n ]\n },\n \"retrieve_cash_drawer_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides the summary details for a single cash drawer shift. See\\n[ListCashDrawerShiftEvents](api-endpoint:CashDrawers-ListCashDrawerShiftEvents) for a list of cash drawer shift events.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_cash_drawer_shift\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to retrieve cash drawer shifts from.\",\n \"in\": \"query\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The shift ID.\",\n \"in\": \"path\",\n \"name\": \"shift_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/cash-drawers/shifts/{shift_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CASH_DRAWER_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_cash_drawer_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCashDrawerShift\",\n \"tags\": [\n \"CashDrawers\"\n ]\n },\n \"retrieve_catalog_object\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a single [CatalogItem](entity:CatalogItem) as a\\n[CatalogObject](entity:CatalogObject) based on the provided ID. The returned\\nobject includes all of the relevant [CatalogItem](entity:CatalogItem)\\ninformation including: [CatalogItemVariation](entity:CatalogItemVariation)\\nchildren, references to its\\n[CatalogModifierList](entity:CatalogModifierList) objects, and the ids of\\nany [CatalogTax](entity:CatalogTax) objects that apply to it.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_catalog_object\",\n \"parameters\": [\n {\n \"description\": \"The object ID of any type of catalog objects to be retrieved.\",\n \"in\": \"path\",\n \"name\": \"object_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"If `true`, the response will include additional objects that are related to the\\nrequested objects. Related objects are defined as any objects referenced by ID by the results in the `objects` field\\nof the response. These objects are put in the `related_objects` field. Setting this to `true` is\\nhelpful when the objects are needed for immediate display to a user.\\nThis process only goes one level deep. Objects referenced by the related objects will not be included. For example,\\n\\nif the `objects` field of the response contains a CatalogItem, its associated\\nCatalogCategory objects, CatalogTax objects, CatalogImage objects and\\nCatalogModifierLists will be returned in the `related_objects` field of the\\nresponse. If the `objects` field of the response contains a CatalogItemVariation,\\nits parent CatalogItem will be returned in the `related_objects` field of\\nthe response.\\n\\nDefault value: `false`\",\n \"in\": \"query\",\n \"name\": \"include_related_objects\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"description\": \"Requests objects as of a specific version of the catalog. This allows you to retrieve historical\\nversions of objects. The value to retrieve a specific version of an object can be found\\nin the version field of [CatalogObject](entity:CatalogObject)s. If not included, results will\\nbe from the current version of the catalog.\",\n \"in\": \"query\",\n \"name\": \"catalog_version\",\n \"required\": false,\n \"schema\": {\n \"format\": \"int64\",\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"Specifies whether or not to include the `path_to_root` list for each returned category instance. The `path_to_root` list consists\\nof `CategoryPathToRootNode` objects and specifies the path that starts with the immediate parent category of the returned category\\nand ends with its root category. If the returned category is a top-level category, the `path_to_root` list is empty and is not returned\\nin the response payload.\",\n \"in\": \"query\",\n \"name\": \"include_category_path_to_root\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/catalog/object/{object_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_catalog_object\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCatalogObject\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"retrieve_channel\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"RetrieveChannel\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_channel\",\n \"parameters\": [\n {\n \"description\": \"A channel id\",\n \"in\": \"path\",\n \"name\": \"channel_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/channels/{channel_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CHANNELS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_channel\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveChannel\",\n \"tags\": [\n \"Channels\"\n ]\n },\n \"retrieve_customer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns details for a single customer.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_customer\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer to retrieve.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_customer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCustomer\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"retrieve_customer_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a [custom attribute](entity:CustomAttribute) associated with a customer profile.\\n\\nYou can use the `with_definition` query parameter to also retrieve the custom attribute definition\\nin the same call.\\n\\nTo retrieve a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_customer_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [customer profile](entity:Customer).\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definition\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_customer_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCustomerCustomAttribute\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"retrieve_customer_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a customer-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\n\\nTo retrieve a custom attribute definition created by another application, the `visibility`\\nsetting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_customer_custom_attribute_definition\",\n \"parameters\": [\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/customers/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_customer_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCustomerCustomAttributeDefinition\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"retrieve_customer_group\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific customer group as identified by the `group_id` value.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_customer_group\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer group to retrieve.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/groups/{group_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_customer_group\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCustomerGroup\",\n \"tags\": [\n \"CustomerGroups\"\n ]\n },\n \"retrieve_customer_segment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific customer segment as identified by the `segment_id` value.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_customer_segment\",\n \"parameters\": [\n {\n \"description\": \"The Square-issued ID of the customer segment.\",\n \"in\": \"path\",\n \"name\": \"segment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/segments/{segment_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_customer_segment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveCustomerSegment\",\n \"tags\": [\n \"CustomerSegments\"\n ]\n },\n \"retrieve_dispute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns details about a specific dispute.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_dispute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute you want more details about.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_dispute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveDispute\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"retrieve_dispute_evidence\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the metadata for the evidence specified in the request URL path.\\n\\nYou must maintain a copy of any evidence uploaded if you want to reference it later. Evidence cannot be downloaded after you upload it.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_dispute_evidence\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute from which you want to retrieve evidence metadata.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the evidence to retrieve.\",\n \"in\": \"path\",\n \"name\": \"evidence_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/evidence/{evidence_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_dispute_evidence\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveDisputeEvidence\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"retrieve_employee\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"RetrieveEmployee\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_employee\",\n \"parameters\": [\n {\n \"description\": \"UUID for the employee that was requested.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/employees/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_employee\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveEmployee\",\n \"tags\": [\n \"Employees\"\n ]\n },\n \"retrieve_gift_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a gift card using the gift card ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_gift_card\",\n \"parameters\": [\n {\n \"description\": \"The ID of the gift card to retrieve.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/gift-cards/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_gift_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveGiftCard\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"retrieve_gift_card_from_gan\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a gift card using the gift card account number (GAN).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"retrieve_gift_card_from_gan\",\n \"parameters\": [],\n \"path\": \"/v2/gift-cards/from-gan\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/RetrieveGiftCardFromGANRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_gift_card_from_gan\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveGiftCardFromGAN\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"retrieve_gift_card_from_nonce\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a gift card using a secure payment token that represents the gift card.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"retrieve_gift_card_from_nonce\",\n \"parameters\": [],\n \"path\": \"/v2/gift-cards/from-nonce\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/RetrieveGiftCardFromNonceRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_gift_card_from_nonce\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveGiftCardFromNonce\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"retrieve_inventory_adjustment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the [InventoryAdjustment](entity:InventoryAdjustment) object\\nwith the provided `adjustment_id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_inventory_adjustment\",\n \"parameters\": [\n {\n \"description\": \"ID of the [InventoryAdjustment](entity:InventoryAdjustment) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"adjustment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/adjustments/{adjustment_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_inventory_adjustment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveInventoryAdjustment\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"retrieve_inventory_changes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a set of physical counts and inventory adjustments for the\\nprovided [CatalogObject](entity:CatalogObject) at the requested\\n[Location](entity:Location)s.\\n\\nYou can achieve the same result by calling [BatchRetrieveInventoryChanges](api-endpoint:Inventory-BatchRetrieveInventoryChanges)\\nand having the `catalog_object_ids` list contain a single element of the `CatalogObject` ID.\\n\\nResults are paginated and sorted in descending order according to their\\n`occurred_at` timestamp (newest first).\\n\\nThere are no limits on how far back the caller can page. This endpoint can be\\nused to display recent changes for a specific item. For more\\nsophisticated queries, use a batch endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_inventory_changes\",\n \"parameters\": [\n {\n \"description\": \"ID of the [CatalogObject](entity:CatalogObject) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"catalog_object_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The [Location](entity:Location) IDs to look up as a comma-separated\\nlist. An empty list queries all locations.\",\n \"in\": \"query\",\n \"name\": \"location_ids\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this to retrieve the next set of results for the original query.\\n\\nSee the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination) guide for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/{catalog_object_id}/changes\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_inventory_changes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveInventoryChanges\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"retrieve_inventory_count\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the current calculated stock count for a given\\n[CatalogObject](entity:CatalogObject) at a given set of\\n[Location](entity:Location)s. Responses are paginated and unsorted.\\nFor more sophisticated queries, use a batch endpoint.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_inventory_count\",\n \"parameters\": [\n {\n \"description\": \"ID of the [CatalogObject](entity:CatalogObject) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"catalog_object_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The [Location](entity:Location) IDs to look up as a comma-separated\\nlist. An empty list queries all locations.\",\n \"in\": \"query\",\n \"name\": \"location_ids\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A pagination cursor returned by a previous call to this endpoint.\\nProvide this to retrieve the next set of results for the original query.\\n\\nSee the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination) guide for more information.\",\n \"in\": \"query\",\n \"name\": \"cursor\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/{catalog_object_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_inventory_count\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveInventoryCount\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"retrieve_inventory_physical_count\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the [InventoryPhysicalCount](entity:InventoryPhysicalCount)\\nobject with the provided `physical_count_id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_inventory_physical_count\",\n \"parameters\": [\n {\n \"description\": \"ID of the\\n[InventoryPhysicalCount](entity:InventoryPhysicalCount) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"physical_count_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/physical-counts/{physical_count_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_inventory_physical_count\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveInventoryPhysicalCount\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"retrieve_inventory_transfer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns the [InventoryTransfer](entity:InventoryTransfer) object\\nwith the provided `transfer_id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_inventory_transfer\",\n \"parameters\": [\n {\n \"description\": \"ID of the [InventoryTransfer](entity:InventoryTransfer) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"transfer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/inventory/transfers/{transfer_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_inventory_transfer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveInventoryTransfer\",\n \"tags\": [\n \"Inventory\"\n ]\n },\n \"retrieve_job\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specified job.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_job\",\n \"parameters\": [\n {\n \"description\": \"The ID of the job to retrieve.\",\n \"in\": \"path\",\n \"name\": \"job_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/jobs/{job_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_job\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveJob\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"retrieve_location\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves details of a single location. Specify \\\"main\\\"\\nas the location ID to retrieve details of the [main location](https://developer.squareup.com/docs/locations-api#about-the-main-location).\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_location\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to retrieve. Specify the string\\n\\\"main\\\" to return the main location.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_location\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLocation\",\n \"tags\": [\n \"Locations\"\n ]\n },\n \"retrieve_location_booking_profile\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a seller's location booking profile.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_location_booking_profile\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to retrieve the booking profile.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/location-booking-profiles/{location_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_location_booking_profile\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLocationBookingProfile\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"retrieve_location_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a [custom attribute](entity:CustomAttribute) associated with a location.\\nYou can use the `with_definition` query parameter to also retrieve the custom attribute definition\\nin the same call.\\nTo retrieve a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_location_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [location](entity:Location).\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definition\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_location_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLocationCustomAttribute\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"retrieve_location_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\nTo retrieve a custom attribute definition created by another application, the `visibility`\\nsetting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_location_custom_attribute_definition\",\n \"parameters\": [\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/locations/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_location_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLocationCustomAttributeDefinition\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"retrieve_location_settings\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the location-level settings for a Square-hosted checkout page.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_location_settings\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location for which to retrieve settings.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/online-checkout/location-settings/{location_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_location_settings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLocationSettings\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"retrieve_loyalty_account\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a loyalty account.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_loyalty_account\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty account](entity:LoyaltyAccount) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"account_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/accounts/{account_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_loyalty_account\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLoyaltyAccount\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"retrieve_loyalty_program\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the loyalty program in a seller's account, specified by the program ID or the keyword `main`.\\n\\nLoyalty programs define how buyers can earn points and redeem points for rewards. Square sellers can have only one loyalty program, which is created and managed from the Seller Dashboard. For more information, see [Loyalty Program Overview](https://developer.squareup.com/docs/loyalty/overview).\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_loyalty_program\",\n \"parameters\": [\n {\n \"description\": \"The ID of the loyalty program or the keyword `main`. Either value can be used to retrieve the single loyalty program that belongs to the seller.\",\n \"in\": \"path\",\n \"name\": \"program_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/programs/{program_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_loyalty_program\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLoyaltyProgram\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"retrieve_loyalty_promotion\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a loyalty promotion.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_loyalty_promotion\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty promotion](entity:LoyaltyPromotion) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"promotion_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the base [loyalty program](entity:LoyaltyProgram). To get the program ID,\\ncall [RetrieveLoyaltyProgram](api-endpoint:Loyalty-RetrieveLoyaltyProgram) using the `main` keyword.\",\n \"in\": \"path\",\n \"name\": \"program_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/programs/{program_id}/promotions/{promotion_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_loyalty_promotion\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLoyaltyPromotion\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"retrieve_loyalty_reward\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a loyalty reward.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_loyalty_reward\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [loyalty reward](entity:LoyaltyReward) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"reward_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/loyalty/rewards/{reward_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_loyalty_reward\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveLoyaltyReward\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"retrieve_merchant\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the `Merchant` object for the given `merchant_id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_merchant\",\n \"parameters\": [\n {\n \"description\": \"The ID of the merchant to retrieve. If the string \\\"me\\\" is supplied as the ID,\\nthen retrieve the merchant that is currently accessible to this call.\",\n \"in\": \"path\",\n \"name\": \"merchant_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/merchants/{merchant_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_merchant\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveMerchant\",\n \"tags\": [\n \"Merchants\"\n ]\n },\n \"retrieve_merchant_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a [custom attribute](entity:CustomAttribute) associated with a merchant.\\nYou can use the `with_definition` query parameter to also retrieve the custom attribute definition\\nin the same call.\\nTo retrieve a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_merchant_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [merchant](entity:Merchant).\",\n \"in\": \"path\",\n \"name\": \"merchant_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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`.\",\n \"in\": \"query\",\n \"name\": \"with_definition\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/merchants/{merchant_id}/custom-attributes/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_merchant_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveMerchantCustomAttribute\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"retrieve_merchant_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\nTo retrieve a custom attribute definition created by another application, the `visibility`\\nsetting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_merchant_custom_attribute_definition\",\n \"parameters\": [\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/merchants/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_merchant_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveMerchantCustomAttributeDefinition\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"retrieve_merchant_settings\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the merchant-level settings for a Square-hosted checkout page.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_merchant_settings\",\n \"parameters\": [],\n \"path\": \"/v2/online-checkout/merchant-settings\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENT_METHODS_READ\",\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_merchant_settings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveMerchantSettings\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"retrieve_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves an [Order](entity:Order) by ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the order to retrieve.\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveOrder\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"retrieve_order_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a [custom attribute](entity:CustomAttribute) associated with an order.\\n\\nYou can use the `with_definition` query parameter to also retrieve the custom attribute definition\\nin the same call.\\n\\nTo retrieve a custom attribute owned by another application, the `visibility` setting must be\\n`VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\nalso known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_order_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [order](entity:Order).\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the custom attribute to retrieve. This key must match the key of an\\nexisting custom attribute definition.\",\n \"in\": \"path\",\n \"name\": \"custom_attribute_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"To enable [optimistic concurrency](https://developer.squareup.com/docs/build-basics/common-api-patterns/optimistic-concurrency)\\ncontrol, include this optional field and specify the current version of the custom attribute.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"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 attribute, \\ninformation about the data type, or other definition details. The default value is `false`.\",\n \"in\": \"query\",\n \"name\": \"with_definition\",\n \"required\": false,\n \"schema\": {\n \"default\": false,\n \"type\": \"boolean\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_order_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveOrderCustomAttribute\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"retrieve_order_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves an order-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.\\n\\nTo retrieve a custom attribute definition created by another application, the `visibility`\\nsetting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_order_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to retrieve.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"To enable [optimistic concurrency](https://developer.squareup.com/docs/build-basics/common-api-patterns/optimistic-concurrency)\\ncontrol, include this optional field and specify the current version of the custom attribute.\",\n \"in\": \"query\",\n \"name\": \"version\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n }\n ],\n \"path\": \"/v2/orders/custom-attribute-definitions/{key}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_order_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveOrderCustomAttributeDefinition\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"retrieve_payment_link\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a payment link.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_payment_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of link to retrieve.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/online-checkout/payment-links/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_payment_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrievePaymentLink\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"retrieve_scheduled_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a scheduled shift by ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_scheduled_shift\",\n \"parameters\": [\n {\n \"description\": \"The ID of the scheduled shift to retrieve.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/scheduled-shifts/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_scheduled_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveScheduledShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"retrieve_snippet\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves your snippet from a Square Online site. A site can contain snippets from multiple snippet applications, but you can retrieve only the snippet that was added by your application.\\n\\nYou can call [ListSites](api-endpoint:Sites-ListSites) to get the IDs of the sites that belong to a seller.\\n\\n\\n__Note:__ Square Online APIs are publicly available as part of an early access program. For more information, see [Early access program for Square Online APIs](https://developer.squareup.com/docs/online-api#early-access-program-for-square-online-apis).\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_snippet\",\n \"parameters\": [\n {\n \"description\": \"The ID of the site that contains the snippet.\",\n \"in\": \"path\",\n \"name\": \"site_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/sites/{site_id}/snippet\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ONLINE_STORE_SNIPPETS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_snippet\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveSnippet\",\n \"tags\": [\n \"Snippets\"\n ]\n },\n \"retrieve_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific subscription.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_subscription\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to retrieve.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"A query parameter to specify related information to be included in the response. \\n\\nThe supported query parameter values are: \\n\\n- `actions`: to include scheduled actions on the targeted subscription.\",\n \"in\": \"query\",\n \"name\": \"include\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveSubscription\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"retrieve_team_member\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a `TeamMember` object for the given `TeamMember.id`.\\nLearn about [Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#retrieve-a-team-member).\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_team_member\",\n \"parameters\": [\n {\n \"description\": \"The ID of the team member to retrieve.\",\n \"in\": \"path\",\n \"name\": \"team_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/{team_member_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_team_member\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveTeamMember\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"retrieve_team_member_booking_profile\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a team member's booking profile.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_team_member_booking_profile\",\n \"parameters\": [\n {\n \"description\": \"The ID of the team member to retrieve.\",\n \"in\": \"path\",\n \"name\": \"team_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/team-member-booking-profiles/{team_member_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_team_member_booking_profile\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveTeamMemberBookingProfile\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"retrieve_timecard\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a single `Timecard` specified by `id`.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_timecard\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `Timecard` being retrieved.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/timecards/{id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_timecard\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveTimecard\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"retrieve_token_status\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns information about an [OAuth access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-an-oauth-access-token)\\u00a0or an application\\u2019s [personal access token](https://developer.squareup.com/docs/build-basics/access-tokens#get-a-personal-access-token).\\n\\nAdd the access token to the Authorization header of the request.\\n\\n__Important:__ The `Authorization` header you provide to this endpoint must have the following format:\\n\\n```\\nAuthorization: Bearer ACCESS_TOKEN\\n```\\n\\nwhere `ACCESS_TOKEN` is a\\n[valid production authorization credential](https://developer.squareup.com/docs/build-basics/access-tokens).\\n\\nIf the access token is expired or not a valid access token, the endpoint returns an `UNAUTHORIZED` error.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"retrieve_token_status\",\n \"parameters\": [],\n \"path\": \"/oauth2/token/status\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"retrieve_token_status\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveTokenStatus\",\n \"tags\": [\n \"OAuth\"\n ]\n },\n \"retrieve_transaction\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves details for a single transaction.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_transaction\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transaction's associated location.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The ID of the transaction to retrieve.\",\n \"in\": \"path\",\n \"name\": \"transaction_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/transactions/{transaction_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_transaction\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveTransaction\",\n \"tags\": [\n \"Transactions\"\n ]\n },\n \"retrieve_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a specific [TransferOrder](entity:TransferOrder) by ID. Returns the complete\\norder details including:\\n\\n- Basic information (status, dates, notes)\\n- Line items with ordered and received quantities\\n- Source and destination [Location](entity:Location)s\\n- Tracking information (if available)\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_transfer_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transfer order to retrieve\",\n \"in\": \"path\",\n \"name\": \"transfer_order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/transfer-orders/{transfer_order_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"retrieve_vendor\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves the vendor of a specified [Vendor](entity:Vendor) ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_vendor\",\n \"parameters\": [\n {\n \"description\": \"ID of the [Vendor](entity:Vendor) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"vendor_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vendors/{vendor_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_vendor\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveVendor\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"retrieve_wage_setting\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a `WageSetting` object for a team member specified\\nby `TeamMember.id`. For more information, see\\n[Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#retrievewagesetting).\\n\\nSquare recommends using [RetrieveTeamMember](api-endpoint:Team-RetrieveTeamMember) or [SearchTeamMembers](api-endpoint:Team-SearchTeamMembers)\\nto get this information directly from the `TeamMember.wage_setting` field.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_wage_setting\",\n \"parameters\": [\n {\n \"description\": \"The ID of the team member for which to retrieve the wage setting.\",\n \"in\": \"path\",\n \"name\": \"team_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/{team_member_id}/wage-setting\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"retrieve_wage_setting\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveWageSetting\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"retrieve_webhook_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a webhook subscription identified by its ID.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"retrieve_webhook_subscription\",\n \"parameters\": [\n {\n \"description\": \"[REQUIRED] The ID of the [Subscription](entity:WebhookSubscription) to retrieve.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/subscriptions/{subscription_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"retrieve_webhook_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RetrieveWebhookSubscription\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"revoke_token\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"revoke_token\",\n \"parameters\": [],\n \"path\": \"/oauth2/revoke\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/RevokeTokenRequest\"\n },\n \"security\": [\n {\n \"oauth2\": null\n }\n ],\n \"skill_name\": \"revoke_token\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"RevokeToken\",\n \"tags\": [\n \"OAuth\"\n ]\n },\n \"search_availability\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for availabilities for booking.\\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.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_availability\",\n \"parameters\": [],\n \"path\": \"/v2/bookings/availability/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchAvailabilityRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_availability\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchAvailability\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"search_catalog_items\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for catalog items or item variations by matching supported search attribute values, including\\ncustom attribute values, against one or more of the specified query filters.\\n\\nThis (`SearchCatalogItems`) endpoint differs from the [SearchCatalogObjects](api-endpoint:Catalog-SearchCatalogObjects)\\nendpoint in the following aspects:\\n\\n- `SearchCatalogItems` can only search for items or item variations, whereas `SearchCatalogObjects` can search for any type of catalog objects.\\n- `SearchCatalogItems` supports the custom attribute query filters to return items or item variations that contain custom attribute values, where `SearchCatalogObjects` does not.\\n- `SearchCatalogItems` does not support the `include_deleted_objects` filter to search for deleted items or item variations, whereas `SearchCatalogObjects` does.\\n- The both endpoints use different call conventions, including the query filter formats.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_catalog_items\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/search-catalog-items\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchCatalogItemsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_catalog_items\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchCatalogItems\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"search_catalog_objects\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for [CatalogObject](entity:CatalogObject) of any type by matching supported search attribute values,\\nexcluding custom attribute values on items or item variations, against one or more of the specified query filters.\\n\\nThis (`SearchCatalogObjects`) endpoint differs from the [SearchCatalogItems](api-endpoint:Catalog-SearchCatalogItems)\\nendpoint in the following aspects:\\n\\n- `SearchCatalogItems` can only search for items or item variations, whereas `SearchCatalogObjects` can search for any type of catalog objects.\\n- `SearchCatalogItems` supports the custom attribute query filters to return items or item variations that contain custom attribute values, where `SearchCatalogObjects` does not.\\n- `SearchCatalogItems` does not support the `include_deleted_objects` filter to search for deleted items or item variations, whereas `SearchCatalogObjects` does.\\n- The both endpoints have different call conventions, including the query filter formats.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_catalog_objects\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchCatalogObjectsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_catalog_objects\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchCatalogObjects\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"search_customers\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches the customer profiles associated with a Square account using one or more supported query filters.\\n\\nCalling `SearchCustomers` without any explicit query filter returns all\\ncustomer profiles ordered alphabetically based on `given_name` and\\n`family_name`.\\n\\nUnder normal operating conditions, newly created or updated customer profiles become available\\nfor the search operation in well under 30 seconds. Occasionally, propagation of the new or updated\\nprofiles can take closer to one minute or longer, especially during network incidents and outages.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_customers\",\n \"parameters\": [],\n \"path\": \"/v2/customers/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchCustomersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_customers\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchCustomers\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"search_events\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Search for Square API events that occur within a 28-day timeframe.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_events\",\n \"parameters\": [],\n \"path\": \"/v2/events\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchEventsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"search_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchEvents\",\n \"tags\": [\n \"Events\"\n ]\n },\n \"search_invoices\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"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.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_invoices\",\n \"parameters\": [],\n \"path\": \"/v2/invoices/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchInvoicesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVOICES_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_invoices\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchInvoices\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"search_loyalty_accounts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for loyalty accounts in a loyalty program.\\n\\nYou can search for a loyalty account using the phone number or customer ID associated with the account. To return all loyalty accounts, specify an empty `query` object or omit it entirely.\\n\\nSearch results are sorted by `created_at` in ascending order.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_loyalty_accounts\",\n \"parameters\": [],\n \"path\": \"/v2/loyalty/accounts/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchLoyaltyAccountsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_loyalty_accounts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchLoyaltyAccounts\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"search_loyalty_events\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for loyalty events.\\n\\nA Square loyalty program maintains a ledger of events that occur during the lifetime of a\\nbuyer's loyalty account. Each change in the point balance\\n(for example, points earned, points redeemed, and points expired) is\\nrecorded in the ledger. Using this endpoint, you can search the ledger for events.\\n\\nSearch results are sorted by `created_at` in descending order.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_loyalty_events\",\n \"parameters\": [],\n \"path\": \"/v2/loyalty/events/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchLoyaltyEventsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_loyalty_events\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchLoyaltyEvents\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"search_loyalty_rewards\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for loyalty rewards. This endpoint accepts a request with no query filters and returns results for all loyalty accounts.\\nIf you include a `query` object, `loyalty_account_id` is required and `status` is optional.\\n\\nIf you know a reward ID, use the\\n[RetrieveLoyaltyReward](api-endpoint:Loyalty-RetrieveLoyaltyReward) endpoint.\\n\\nSearch results are sorted by `updated_at` in descending order.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_loyalty_rewards\",\n \"parameters\": [],\n \"path\": \"/v2/loyalty/rewards/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchLoyaltyRewardsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"LOYALTY_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_loyalty_rewards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchLoyaltyRewards\",\n \"tags\": [\n \"Loyalty\"\n ]\n },\n \"search_orders\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Search all orders for one or more locations. Orders include all sales,\\nreturns, and exchanges regardless of how or when they entered the Square\\necosystem (such as Point of Sale, Invoices, and Connect APIs).\\n\\n`SearchOrders` requests need to specify which locations to search and define a\\n[SearchOrdersQuery](entity:SearchOrdersQuery) object that controls\\nhow to sort or filter the results. Your `SearchOrdersQuery` can:\\n\\n Set filter criteria.\\n Set the sort order.\\n Determine whether to return results as complete `Order` objects or as\\n[OrderEntry](entity:OrderEntry) objects.\\n\\nNote that details for orders processed with Square Point of Sale while in\\noffline mode might not be transmitted to Square for up to 72 hours. Offline\\norders have a `created_at` value that reflects the time the order was created,\\nnot the time it was subsequently transmitted to Square.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_orders\",\n \"parameters\": [],\n \"path\": \"/v2/orders/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchOrdersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_orders\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchOrders\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"search_scheduled_shifts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of scheduled shifts, with optional filter and sort settings.\\nBy default, results are sorted by `start_at` in ascending order.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_scheduled_shifts\",\n \"parameters\": [],\n \"path\": \"/v2/labor/scheduled-shifts/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchScheduledShiftsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_scheduled_shifts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchScheduledShifts\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"search_shifts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of `Shift` records for a business.\\nThe list to be returned can be filtered by:\\n- Location IDs\\n- Team member IDs\\n- Shift status (`OPEN` or `CLOSED`)\\n- Shift start\\n- Shift end\\n- Workday details\\n\\nThe list can be sorted by:\\n- `START_AT`\\n- `END_AT`\\n- `CREATED_AT`\\n- `UPDATED_AT`\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_shifts\",\n \"parameters\": [],\n \"path\": \"/v2/labor/shifts/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchShiftsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_shifts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchShifts\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"search_subscriptions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for subscriptions.\\n\\nResults are ordered chronologically by subscription creation date. If\\nthe request specifies more than one location ID,\\nthe endpoint orders the result\\nby location ID, and then by creation date within each location. If no locations are given\\nin the query, all locations are searched.\\n\\nYou can also optionally specify `customer_ids` to search by customer.\\nIf left unset, all customers\\nassociated with the specified locations are returned.\\nIf the request specifies customer IDs, the endpoint orders results\\nfirst by location, within location by customer ID, and within\\ncustomer by subscription creation date.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_subscriptions\",\n \"parameters\": [],\n \"path\": \"/v2/subscriptions/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchSubscriptionsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"SUBSCRIPTIONS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_subscriptions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchSubscriptions\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"search_team_members\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of `TeamMember` objects for a business. \\nThe list can be filtered by location IDs, `ACTIVE` or `INACTIVE` status, or whether\\nthe team member is the Square account owner.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_team_members\",\n \"parameters\": [],\n \"path\": \"/v2/team-members/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchTeamMembersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_team_members\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchTeamMembers\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"search_terminal_actions\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a filtered list of Terminal action requests created by the account making the request. Terminal action requests are available for 30 days.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_terminal_actions\",\n \"parameters\": [],\n \"path\": \"/v2/terminals/actions/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchTerminalActionsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_terminal_actions\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchTerminalActions\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"search_terminal_checkouts\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a filtered list of Terminal checkout requests created by the application making the request. Only Terminal checkout requests created for the merchant scoped to the OAuth token are returned. Terminal checkout requests are available for 30 days.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_terminal_checkouts\",\n \"parameters\": [],\n \"path\": \"/v2/terminals/checkouts/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchTerminalCheckoutsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_terminal_checkouts\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchTerminalCheckouts\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"search_terminal_refunds\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Retrieves a filtered list of Interac Terminal refund requests created by the seller making the request. Terminal refund requests are available for 30 days.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_terminal_refunds\",\n \"parameters\": [],\n \"path\": \"/v2/terminals/refunds/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchTerminalRefundsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_terminal_refunds\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchTerminalRefunds\",\n \"tags\": [\n \"Terminal\"\n ]\n },\n \"search_timecards\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Returns a paginated list of `Timecard` records for a business.\\nThe list to be returned can be filtered by:\\n- Location IDs\\n- Team member IDs\\n- Timecard status (`OPEN` or `CLOSED`)\\n- Timecard start\\n- Timecard end\\n- Workday details\\n\\nThe list can be sorted by:\\n- `START_AT`\\n- `END_AT`\\n- `CREATED_AT`\\n- `UPDATED_AT`\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_timecards\",\n \"parameters\": [],\n \"path\": \"/v2/labor/timecards/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchTimecardsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_timecards\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchTimecards\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"search_transfer_orders\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for transfer orders using filters. Returns a paginated list of matching\\n[TransferOrder](entity:TransferOrder)s sorted by creation date.\\n\\nCommon search scenarios:\\n- Find orders for a source [Location](entity:Location)\\n- Find orders for a destination [Location](entity:Location)\\n- Find orders in a particular [TransferOrderStatus](entity:TransferOrderStatus)\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_transfer_orders\",\n \"parameters\": [],\n \"path\": \"/v2/transfer-orders/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchTransferOrdersRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_transfer_orders\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchTransferOrders\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"search_vendors\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Searches for vendors using a filter against supported [Vendor](entity:Vendor) properties and a supported sorter.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"search_vendors\",\n \"parameters\": [],\n \"path\": \"/v2/vendors/search\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SearchVendorsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_READ\"\n ]\n }\n ],\n \"skill_name\": \"search_vendors\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SearchVendors\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"start_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Changes a [DRAFT](entity:TransferOrderStatus) transfer order to [STARTED](entity:TransferOrderStatus) status.\\nThis decrements inventory at the source [Location](entity:Location) and marks it as in-transit.\\n\\nThe order must be in [DRAFT](entity:TransferOrderStatus) status and have all required fields populated.\\nOnce started, the order can no longer be deleted, but it can be canceled via \\n[CancelTransferOrder](api-endpoint:TransferOrders-CancelTransferOrder).\\n\\nCreates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"start_transfer_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transfer order to start. Must be in DRAFT status.\",\n \"in\": \"path\",\n \"name\": \"transfer_order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/transfer-orders/{transfer_order_id}/start\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/StartTransferOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\",\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"start_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"StartTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"submit_evidence\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Submits evidence to the cardholder's bank.\\n\\nThe evidence submitted by this endpoint includes evidence uploaded\\nusing the [CreateDisputeEvidenceFile](api-endpoint:Disputes-CreateDisputeEvidenceFile) and\\n[CreateDisputeEvidenceText](api-endpoint:Disputes-CreateDisputeEvidenceText) endpoints and\\nevidence automatically provided by Square, when available. Evidence cannot be removed from\\na dispute after submission.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"submit_evidence\",\n \"parameters\": [\n {\n \"description\": \"The ID of the dispute for which you want to submit evidence.\",\n \"in\": \"path\",\n \"name\": \"dispute_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/disputes/{dispute_id}/submit-evidence\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"DISPUTES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"submit_evidence\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SubmitEvidence\",\n \"tags\": [\n \"Disputes\"\n ]\n },\n \"swap_plan\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Schedules a `SWAP_PLAN` action to swap a subscription plan variation in an existing subscription. \\nFor more information, see [Swap Subscription Plan Variations](https://developer.squareup.com/docs/subscriptions-api/swap-plan-variations).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"swap_plan\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to swap the subscription plan for.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}/swap-plan\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/SwapPlanRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\",\n \"PAYMENTS_WRITE\",\n \"SUBSCRIPTIONS_WRITE\",\n \"ITEMS_READ\",\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"swap_plan\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"SwapPlan\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"test_webhook_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Tests a webhook subscription by sending a test event to the notification URL.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"test_webhook_subscription\",\n \"parameters\": [\n {\n \"description\": \"[REQUIRED] The ID of the [Subscription](entity:WebhookSubscription) to test.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/subscriptions/{subscription_id}/test\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/TestWebhookSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"test_webhook_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"TestWebhookSubscription\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"unlink_customer_from_gift_card\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Unlinks a customer from a gift card, which is also referred to as removing a card on file.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"unlink_customer_from_gift_card\",\n \"parameters\": [\n {\n \"description\": \"The ID of the gift card to be unlinked.\",\n \"in\": \"path\",\n \"name\": \"gift_card_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/gift-cards/{gift_card_id}/unlink-customer\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UnlinkCustomerFromGiftCardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"GIFTCARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"unlink_customer_from_gift_card\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UnlinkCustomerFromGiftCard\",\n \"tags\": [\n \"GiftCards\"\n ]\n },\n \"update_booking\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a booking.\\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*.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_booking\",\n \"parameters\": [\n {\n \"description\": \"The ID of the [Booking](entity:Booking) object representing the to-be-updated booking.\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateBookingRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_booking\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateBooking\",\n \"tags\": [\n \"Bookings\"\n ]\n },\n \"update_booking_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_booking_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to update.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/custom-attribute-definitions/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateBookingCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_booking_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateBookingCustomAttributeDefinition\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"update_break_type\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing `BreakType`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_break_type\",\n \"parameters\": [\n {\n \"description\": \" The UUID for the `BreakType` being updated.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/break-types/{id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateBreakTypeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_WRITE\",\n \"TIMECARDS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"update_break_type\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateBreakType\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"update_catalog_image\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Uploads a new image file to replace the existing one in the specified [CatalogImage](entity:CatalogImage) object.\\n\\nThis `UpdateCatalogImage` endpoint accepts HTTP multipart/form-data requests with a JSON part and an image file part in\\nJPEG, PJPEG, PNG, or GIF format. The maximum file size is 15MB.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_catalog_image\",\n \"parameters\": [\n {\n \"description\": \"The ID of the `CatalogImage` object to update the encapsulated image file.\",\n \"in\": \"path\",\n \"name\": \"image_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/catalog/images/{image_id}\",\n \"request_body\": {\n \"properties\": {\n \"image_file\": {\n \"format\": \"binary\",\n \"type\": \"string\"\n },\n \"request\": {\n \"$ref\": \"#/components/schemas/UpdateCatalogImageRequest\"\n }\n },\n \"type\": \"object\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_catalog_image\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateCatalogImage\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"update_customer\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a customer profile. This endpoint supports sparse updates, so only new or changed fields are required in the request.\\nTo add or update a field, specify the new value. To remove a field, specify `null`.\\n\\nTo update a customer profile that was created by merging existing profiles, you must use the ID of the newly created profile.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_customer\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer to update.\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateCustomerRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_customer\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateCustomer\",\n \"tags\": [\n \"Customers\"\n ]\n },\n \"update_customer_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a customer-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.\\n\\nUse this endpoint to update the following fields: `name`, `description`, `visibility`, or the\\n`schema` for a `Selection` data type.\\n\\nOnly the definition owner can update a custom attribute definition. Note that sellers can view\\nall custom attributes in exported customer data, including those set to `VISIBILITY_HIDDEN`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_customer_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to update.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/custom-attribute-definitions/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateCustomerCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_customer_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateCustomerCustomAttributeDefinition\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"update_customer_group\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a customer group as identified by the `group_id` value.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_customer_group\",\n \"parameters\": [\n {\n \"description\": \"The ID of the customer group to update.\",\n \"in\": \"path\",\n \"name\": \"group_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/groups/{group_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateCustomerGroupRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_customer_group\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateCustomerGroup\",\n \"tags\": [\n \"CustomerGroups\"\n ]\n },\n \"update_invoice\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an invoice. This endpoint supports sparse updates, so you only need\\nto specify the fields you want to change along with the required `version` field.\\nSome restrictions apply to updating invoices. For example, you cannot change the\\n`order_id` or `location_id` field.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_invoice\",\n \"parameters\": [\n {\n \"description\": \"The ID of the invoice to update.\",\n \"in\": \"path\",\n \"name\": \"invoice_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/invoices/{invoice_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateInvoiceRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_invoice\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateInvoice\",\n \"tags\": [\n \"Invoices\"\n ]\n },\n \"update_item_modifier_lists\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the [CatalogModifierList](entity:CatalogModifierList) objects\\nthat apply to the targeted [CatalogItem](entity:CatalogItem) without having\\nto perform an upsert on the entire item.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"update_item_modifier_lists\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/update-item-modifier-lists\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateItemModifierListsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_item_modifier_lists\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateItemModifierLists\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"update_item_taxes\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the [CatalogTax](entity:CatalogTax) objects that apply to the\\ntargeted [CatalogItem](entity:CatalogItem) without having to perform an\\nupsert on the entire item.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"update_item_taxes\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/update-item-taxes\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateItemTaxesRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_item_taxes\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateItemTaxes\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"update_job\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the title or tip eligibility of a job. Changes to the title propagate to all\\n`JobAssignment`, `Shift`, and `TeamMemberWage` objects that reference the job ID. Changes to\\ntip eligibility propagate to all `TeamMemberWage` objects that reference the job ID.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_job\",\n \"parameters\": [\n {\n \"description\": \"The ID of the job to update.\",\n \"in\": \"path\",\n \"name\": \"job_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/jobs/{job_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateJobRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_job\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateJob\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"update_location\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a [location](https://developer.squareup.com/docs/locations-api).\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_location\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to update.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateLocationRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_location\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateLocation\",\n \"tags\": [\n \"Locations\"\n ]\n },\n \"update_location_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.\\nUse this endpoint to update the following fields: `name`, `description`, `visibility`, or the\\n`schema` for a `Selection` data type.\\nOnly the definition owner can update a custom attribute definition.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_location_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to update.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/custom-attribute-definitions/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateLocationCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_location_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateLocationCustomAttributeDefinition\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"update_location_settings\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the location-level settings for a Square-hosted checkout page.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_location_settings\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location for which to retrieve settings.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/online-checkout/location-settings/{location_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateLocationSettingsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\",\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"update_location_settings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateLocationSettings\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"update_merchant_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a merchant-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.\\nUse this endpoint to update the following fields: `name`, `description`, `visibility`, or the\\n`schema` for a `Selection` data type.\\nOnly the definition owner can update a custom attribute definition.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_merchant_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to update.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/merchants/custom-attribute-definitions/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateMerchantCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_merchant_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateMerchantCustomAttributeDefinition\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"update_merchant_settings\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the merchant-level settings for a Square-hosted checkout page.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_merchant_settings\",\n \"parameters\": [],\n \"path\": \"/v2/online-checkout/merchant-settings\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateMerchantSettingsRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\",\n \"PAYMENT_METHODS_READ\",\n \"MERCHANT_PROFILE_READ\"\n ]\n }\n ],\n \"skill_name\": \"update_merchant_settings\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateMerchantSettings\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"update_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an open [order](entity:Order) by adding, replacing, or deleting\\nfields. Orders with a `COMPLETED` or `CANCELED` state cannot be updated.\\n\\nAn `UpdateOrder` request requires the following:\\n\\n- The `order_id` in the endpoint path, identifying the order to update.\\n- The latest `version` of the order to update.\\n- The [sparse order](https://developer.squareup.com/docs/orders-api/manage-orders/update-orders#sparse-order-objects)\\ncontaining only the fields to update and the version to which the update is\\nbeing applied.\\n- If deleting fields, the [dot notation paths](https://developer.squareup.com/docs/orders-api/manage-orders/update-orders#identifying-fields-to-delete)\\nidentifying the fields to clear.\\n\\nTo pay for an order, see\\n[Pay for Orders](https://developer.squareup.com/docs/orders-api/pay-for-orders).\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the order to update.\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateOrder\",\n \"tags\": [\n \"Orders\"\n ]\n },\n \"update_order_custom_attribute_definition\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an order-related custom attribute definition for a Square seller account.\\n\\nOnly the definition owner can update a custom attribute definition. Note that sellers can view all custom attributes in exported customer data, including those set to `VISIBILITY_HIDDEN`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_order_custom_attribute_definition\",\n \"parameters\": [\n {\n \"description\": \"The key of the custom attribute definition to update.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/custom-attribute-definitions/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateOrderCustomAttributeDefinitionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_order_custom_attribute_definition\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateOrderCustomAttributeDefinition\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"update_payment\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a payment with the APPROVED status.\\nYou can update the `amount_money` and `tip_money` using this endpoint.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_payment\",\n \"parameters\": [\n {\n \"description\": \"The ID of the payment to update.\",\n \"in\": \"path\",\n \"name\": \"payment_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/payments/{payment_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdatePaymentRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_payment\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdatePayment\",\n \"tags\": [\n \"Payments\"\n ]\n },\n \"update_payment_link\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a payment link. You can update the `payment_link` fields such as\\n`description`, `checkout_options`, and `pre_populated_data`.\\nYou cannot update other fields such as the `order_id`, `version`, `URL`, or `timestamp` field.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_payment_link\",\n \"parameters\": [\n {\n \"description\": \"The ID of the payment link to update.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/online-checkout/payment-links/{id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdatePaymentLinkRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\",\n \"ORDERS_READ\",\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_payment_link\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdatePaymentLink\",\n \"tags\": [\n \"Checkout\"\n ]\n },\n \"update_scheduled_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the draft shift details for a scheduled shift. This endpoint supports\\nsparse updates, so only new, changed, or removed fields are required in the request.\\nYou must publish the shift to make updates public.\\n\\nYou can make the following updates to `draft_shift_details`:\\n- Change the `location_id`, `job_id`, `start_at`, and `end_at` fields.\\n- Add, change, or clear the `team_member_id` and `notes` fields. To clear these fields,\\nset the value to null.\\n- Change the `is_deleted` field. To delete a scheduled shift, set `is_deleted` to true\\nand then publish the shift.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_scheduled_shift\",\n \"parameters\": [\n {\n \"description\": \"The ID of the scheduled shift to update.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/scheduled-shifts/{id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateScheduledShiftRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_scheduled_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateScheduledShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"update_shift\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing `Shift`.\\n\\nWhen adding a `Break` to a `Shift`, any earlier `Break` instances in the `Shift` have\\nthe `end_at` property set to a valid RFC-3339 datetime string.\\n\\nWhen closing a `Shift`, all `Break` instances in the `Shift` must be complete with `end_at`\\nset on each `Break`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_shift\",\n \"parameters\": [\n {\n \"description\": \"The ID of the object being updated.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/shifts/{id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateShiftRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\",\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"update_shift\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateShift\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"update_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a subscription by modifying or clearing `subscription` field values.\\nTo clear a field, set its value to `null`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_subscription\",\n \"parameters\": [\n {\n \"description\": \"The ID of the subscription to update.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/subscriptions/{subscription_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_READ\",\n \"PAYMENTS_WRITE\",\n \"SUBSCRIPTIONS_WRITE\",\n \"ITEMS_READ\",\n \"ORDERS_WRITE\",\n \"INVOICES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateSubscription\",\n \"tags\": [\n \"Subscriptions\"\n ]\n },\n \"update_team_member\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a single `TeamMember` object. The `TeamMember` object is returned on successful updates.\\nLearn about [Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#update-a-team-member).\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_team_member\",\n \"parameters\": [\n {\n \"description\": \"The ID of the team member to update.\",\n \"in\": \"path\",\n \"name\": \"team_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/{team_member_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateTeamMemberRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_team_member\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateTeamMember\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"update_timecard\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing `Timecard`.\\n\\nWhen adding a `Break` to a `Timecard`, any earlier `Break` instances in the `Timecard` have\\nthe `end_at` property set to a valid RFC-3339 datetime string.\\n\\nWhen closing a `Timecard`, all `Break` instances in the `Timecard` must be complete with `end_at`\\nset on each `Break`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_timecard\",\n \"parameters\": [\n {\n \"description\": \"The ID of the object being updated.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/timecards/{id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateTimecardRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_WRITE\",\n \"TIMECARDS_READ\"\n ]\n }\n ],\n \"skill_name\": \"update_timecard\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateTimecard\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"update_transfer_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing transfer order. This endpoint supports sparse updates,\\nallowing you to modify specific fields without affecting others.\\n\\nCreates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_transfer_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the transfer order to update\",\n \"in\": \"path\",\n \"name\": \"transfer_order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/transfer-orders/{transfer_order_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateTransferOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"INVENTORY_READ\",\n \"INVENTORY_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_transfer_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateTransferOrder\",\n \"tags\": [\n \"TransferOrder\"\n ]\n },\n \"update_vendor\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates an existing [Vendor](entity:Vendor) object as a supplier to a seller.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_vendor\",\n \"parameters\": [\n {\n \"description\": \"Path parameter `vendor_id`.\",\n \"in\": \"path\",\n \"name\": \"vendor_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/vendors/{vendor_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateVendorRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"VENDOR_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_vendor\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateVendor\",\n \"tags\": [\n \"Vendors\"\n ]\n },\n \"update_wage_setting\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates a `WageSetting` object. The object is created if a\\n`WageSetting` with the specified `team_member_id` doesn't exist. Otherwise,\\nit fully replaces the `WageSetting` object for the team member.\\nThe `WageSetting` is returned on a successful update. For more information, see\\n[Troubleshooting the Team API](https://developer.squareup.com/docs/team/troubleshooting#create-or-update-a-wage-setting).\\n\\nSquare recommends using [CreateTeamMember](api-endpoint:Team-CreateTeamMember) or [UpdateTeamMember](api-endpoint:Team-UpdateTeamMember)\\nto manage the `TeamMember.wage_setting` field directly.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_wage_setting\",\n \"parameters\": [\n {\n \"description\": \"The ID of the team member for which to update the `WageSetting` object.\",\n \"in\": \"path\",\n \"name\": \"team_member_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/team-members/{team_member_id}/wage-setting\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateWageSettingRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"EMPLOYEES_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"update_wage_setting\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateWageSetting\",\n \"tags\": [\n \"Team\"\n ]\n },\n \"update_webhook_subscription\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a webhook subscription.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_webhook_subscription\",\n \"parameters\": [\n {\n \"description\": \"[REQUIRED] The ID of the [Subscription](entity:WebhookSubscription) to update.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/subscriptions/{subscription_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateWebhookSubscriptionRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"update_webhook_subscription\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateWebhookSubscription\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"update_webhook_subscription_signature_key\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a webhook subscription by replacing the existing signature key with a new one.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"update_webhook_subscription_signature_key\",\n \"parameters\": [\n {\n \"description\": \"[REQUIRED] The ID of the [Subscription](entity:WebhookSubscription) to update.\",\n \"in\": \"path\",\n \"name\": \"subscription_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/webhooks/subscriptions/{subscription_id}/signature-key\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateWebhookSubscriptionSignatureKeyRequest\"\n },\n \"security\": [\n {\n \"oauth2\": []\n }\n ],\n \"skill_name\": \"update_webhook_subscription_signature_key\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateWebhookSubscriptionSignatureKey\",\n \"tags\": [\n \"WebhookSubscriptions\"\n ]\n },\n \"update_workweek_config\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates a `WorkweekConfig`.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"update_workweek_config\",\n \"parameters\": [\n {\n \"description\": \"The UUID for the `WorkweekConfig` object being updated.\",\n \"in\": \"path\",\n \"name\": \"id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/labor/workweek-configs/{id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpdateWorkweekConfigRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"TIMECARDS_SETTINGS_WRITE\",\n \"TIMECARDS_SETTINGS_READ\"\n ]\n }\n ],\n \"skill_name\": \"update_workweek_config\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpdateWorkweekConfig\",\n \"tags\": [\n \"Labor\"\n ]\n },\n \"upsert_booking_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"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*.\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"upsert_booking_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [booking](entity:Booking).\",\n \"in\": \"path\",\n \"name\": \"booking_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/bookings/{booking_id}/custom-attributes/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertBookingCustomAttributeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"APPOINTMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_booking_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertBookingCustomAttribute\",\n \"tags\": [\n \"BookingCustomAttributes\"\n ]\n },\n \"upsert_catalog_object\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates a new or updates the specified [CatalogObject](entity:CatalogObject).\\n\\nTo ensure consistency, only one update request is processed at a time per seller account.\\nWhile one (batch or non-batch) update request is being processed, other (batched and non-batched)\\nupdate requests are rejected with the `429` error code.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"upsert_catalog_object\",\n \"parameters\": [],\n \"path\": \"/v2/catalog/object\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertCatalogObjectRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ITEMS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_catalog_object\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertCatalogObject\",\n \"tags\": [\n \"Catalog\"\n ]\n },\n \"upsert_customer_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates a [custom attribute](entity:CustomAttribute) for a customer profile.\\n\\nUse this endpoint to set the value of a custom attribute for a specified customer profile.\\nA custom attribute is based on a custom attribute definition in a Square seller account, which\\nis created using the [CreateCustomerCustomAttributeDefinition](api-endpoint:CustomerCustomAttributes-CreateCustomerCustomAttributeDefinition) endpoint.\\n\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"upsert_customer_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [customer profile](entity:Customer).\",\n \"in\": \"path\",\n \"name\": \"customer_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/customers/{customer_id}/custom-attributes/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertCustomerCustomAttributeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"CUSTOMERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_customer_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertCustomerCustomAttribute\",\n \"tags\": [\n \"CustomerCustomAttributes\"\n ]\n },\n \"upsert_location_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates a [custom attribute](entity:CustomAttribute) for a location.\\nUse this endpoint to set the value of a custom attribute for a specified location.\\nA custom attribute is based on a custom attribute definition in a Square seller account, which\\nis created using the [CreateLocationCustomAttributeDefinition](api-endpoint:LocationCustomAttributes-CreateLocationCustomAttributeDefinition) endpoint.\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"upsert_location_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [location](entity:Location).\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/custom-attributes/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertLocationCustomAttributeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_location_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertLocationCustomAttribute\",\n \"tags\": [\n \"LocationCustomAttributes\"\n ]\n },\n \"upsert_merchant_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates a [custom attribute](entity:CustomAttribute) for a merchant.\\nUse this endpoint to set the value of a custom attribute for a specified merchant.\\nA custom attribute is based on a custom attribute definition in a Square seller account, which\\nis created using the [CreateMerchantCustomAttributeDefinition](api-endpoint:MerchantCustomAttributes-CreateMerchantCustomAttributeDefinition) endpoint.\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"upsert_merchant_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [merchant](entity:Merchant).\",\n \"in\": \"path\",\n \"name\": \"merchant_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"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.\",\n \"in\": \"path\",\n \"name\": \"key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/merchants/{merchant_id}/custom-attributes/{key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertMerchantCustomAttributeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"MERCHANT_PROFILE_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_merchant_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertMerchantCustomAttribute\",\n \"tags\": [\n \"MerchantCustomAttributes\"\n ]\n },\n \"upsert_order_custom_attribute\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Creates or updates a [custom attribute](entity:CustomAttribute) for an order.\\n\\nUse this endpoint to set the value of a custom attribute for a specific order.\\nA custom attribute is based on a custom attribute definition in a Square seller account. (To create a\\ncustom attribute definition, use the [CreateOrderCustomAttributeDefinition](api-endpoint:OrderCustomAttributes-CreateOrderCustomAttributeDefinition) endpoint.)\\n\\nTo create or update a custom attribute owned by another application, the `visibility` setting\\nmust be `VISIBILITY_READ_WRITE_VALUES`. Note that seller-defined custom attributes\\n(also known as custom fields) are always set to `VISIBILITY_READ_WRITE_VALUES`.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"upsert_order_custom_attribute\",\n \"parameters\": [\n {\n \"description\": \"The ID of the target [order](entity:Order).\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The key of the custom attribute to create or update. This key must match the key \\nof an existing custom attribute definition.\",\n \"in\": \"path\",\n \"name\": \"custom_attribute_key\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertOrderCustomAttributeRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_order_custom_attribute\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertOrderCustomAttribute\",\n \"tags\": [\n \"OrderCustomAttributes\"\n ]\n },\n \"upsert_snippet\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Adds a snippet to a Square Online site or updates the existing snippet on the site. \\nThe snippet code is appended to the end of the `head` element on every page of the site, except checkout pages. A snippet application can add one snippet to a given site. \\n\\nYou can call [ListSites](api-endpoint:Sites-ListSites) to get the IDs of the sites that belong to a seller.\\n\\n\\n__Note:__ Square Online APIs are publicly available as part of an early access program. For more information, see [Early access program for Square Online APIs](https://developer.squareup.com/docs/online-api#early-access-program-for-square-online-apis).\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"upsert_snippet\",\n \"parameters\": [\n {\n \"description\": \"The ID of the site where you want to add or update the snippet.\",\n \"in\": \"path\",\n \"name\": \"site_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/sites/{site_id}/snippet\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/UpsertSnippetRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ONLINE_STORE_SNIPPETS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"upsert_snippet\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"UpsertSnippet\",\n \"tags\": [\n \"Snippets\"\n ]\n },\n \"v1_list_orders\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides summary information for a merchant's online store orders.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"v1_list_orders\",\n \"parameters\": [\n {\n \"description\": \"The ID of the location to list online store orders for.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order in which payments are listed in the response.\",\n \"in\": \"query\",\n \"name\": \"order\",\n \"required\": false,\n \"schema\": {\n \"$ref\": \"#/components/schemas/SortOrder\"\n }\n },\n {\n \"description\": \"The maximum number of payments to return in a single response. This value cannot exceed 200.\",\n \"in\": \"query\",\n \"name\": \"limit\",\n \"required\": false,\n \"schema\": {\n \"type\": \"integer\"\n }\n },\n {\n \"description\": \"A pagination cursor to retrieve the next set of results for your\\noriginal query to the endpoint.\",\n \"in\": \"query\",\n \"name\": \"batch_token\",\n \"required\": false,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v1/{location_id}/orders\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"v1_list_orders\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"V1ListOrders\",\n \"tags\": [\n \"V1Transactions\"\n ]\n },\n \"v1_retrieve_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Provides comprehensive information for a single online store order, including the order's history.\",\n \"destructive\": false,\n \"method\": \"GET\",\n \"operation_id\": \"v1_retrieve_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the order's associated location.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order's Square-issued ID. You obtain this value from Order objects returned by the List Orders endpoint\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v1/{location_id}/orders/{order_id}\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_READ\"\n ]\n }\n ],\n \"skill_name\": \"v1_retrieve_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"V1RetrieveOrder\",\n \"tags\": [\n \"V1Transactions\"\n ]\n },\n \"v1_update_order\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Updates the details of an online store order. Every update you perform on an order corresponds to one of three actions:\",\n \"destructive\": true,\n \"method\": \"PUT\",\n \"operation_id\": \"v1_update_order\",\n \"parameters\": [\n {\n \"description\": \"The ID of the order's associated location.\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"The order's Square-issued ID. You obtain this value from Order objects returned by the List Orders endpoint\",\n \"in\": \"path\",\n \"name\": \"order_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v1/{location_id}/orders/{order_id}\",\n \"request_body\": {\n \"$ref\": \"#/components/schemas/V1UpdateOrderRequest\"\n },\n \"security\": [\n {\n \"oauth2\": [\n \"ORDERS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"v1_update_order\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"V1UpdateOrder\",\n \"tags\": [\n \"V1Transactions\"\n ]\n },\n \"void_transaction\": {\n \"base_url\": \"https://connect.squareup.com\",\n \"base_url_field\": \"OPENAPI_BASE_URL\",\n \"description\": \"Cancels a transaction that was created with the [Charge](api-endpoint:Transactions-Charge)\\nendpoint with a `delay_capture` value of `true`.\\n\\n\\nSee [Delayed capture transactions](https://developer.squareup.com/docs/payments/transactions/overview#delayed-capture)\\nfor more information.\",\n \"destructive\": true,\n \"method\": \"POST\",\n \"operation_id\": \"void_transaction\",\n \"parameters\": [\n {\n \"description\": \"\",\n \"in\": \"path\",\n \"name\": \"location_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n },\n {\n \"description\": \"\",\n \"in\": \"path\",\n \"name\": \"transaction_id\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\"\n }\n }\n ],\n \"path\": \"/v2/locations/{location_id}/transactions/{transaction_id}/void\",\n \"request_body\": null,\n \"security\": [\n {\n \"oauth2\": [\n \"PAYMENTS_WRITE\"\n ]\n }\n ],\n \"skill_name\": \"void_transaction\",\n \"source_index\": 1,\n \"source_openapi_url\": \"https://raw.githubusercontent.com/square/connect-api-specification/master/api.json\",\n \"source_title\": \"Square\",\n \"summary\": \"VoidTransaction\",\n \"tags\": [\n \"Transactions\"\n ]\n }\n}")
OPERATION_GROUPS = json.loads("[\n {\n \"common_prefix\": \"/oauth2\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /oauth2 for the oauth2 route group.\",\n \"id\": \"oauth2\",\n \"label\": \"oauth2\",\n \"operation_ids\": [\n \"revoke_token\",\n \"obtain_token\",\n \"retrieve_token_status\"\n ],\n \"skill_dir\": \"oauth2\",\n \"skill_name\": \"oauth2-routes\",\n \"skill_path\": \"skills/oauth2/SKILL.md\",\n \"subagent_name\": \"oauth2-api\"\n },\n {\n \"common_prefix\": \"/\",\n \"description\": \"Handle 22 OpenAPI operation(s) for the orders route group.\",\n \"id\": \"orders\",\n \"label\": \"orders\",\n \"operation_ids\": [\n \"v1_list_orders\",\n \"v1_retrieve_order\",\n \"v1_update_order\",\n \"create_order\",\n \"batch_retrieve_orders\",\n \"calculate_order\",\n \"clone_order\",\n \"list_order_custom_attribute_definitions\",\n \"create_order_custom_attribute_definition\",\n \"delete_order_custom_attribute_definition\",\n \"retrieve_order_custom_attribute_definition\",\n \"update_order_custom_attribute_definition\",\n \"bulk_delete_order_custom_attributes\",\n \"bulk_upsert_order_custom_attributes\",\n \"search_orders\",\n \"retrieve_order\",\n \"update_order\",\n \"list_order_custom_attributes\",\n \"delete_order_custom_attribute\",\n \"retrieve_order_custom_attribute\",\n \"upsert_order_custom_attribute\",\n \"pay_order\"\n ],\n \"skill_dir\": \"orders\",\n \"skill_name\": \"orders-routes\",\n \"skill_path\": \"skills/orders/SKILL.md\",\n \"subagent_name\": \"orders-api\"\n },\n {\n \"common_prefix\": \"/v2/apple-pay/domains\",\n \"description\": \"Handle 1 OpenAPI operation(s) under /v2/apple-pay/domains for the apple pay route group.\",\n \"id\": \"apple_pay\",\n \"label\": \"apple pay\",\n \"operation_ids\": [\n \"register_domain\"\n ],\n \"skill_dir\": \"apple-pay\",\n \"skill_name\": \"apple-pay-routes\",\n \"skill_path\": \"skills/apple-pay/SKILL.md\",\n \"subagent_name\": \"apple-pay-api\"\n },\n {\n \"common_prefix\": \"/v2/bank-accounts\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /v2/bank-accounts for the bank accounts route group.\",\n \"id\": \"bank_accounts\",\n \"label\": \"bank accounts\",\n \"operation_ids\": [\n \"list_bank_accounts\",\n \"create_bank_account\",\n \"get_bank_account_by_v1_id\",\n \"get_bank_account\",\n \"disable_bank_account\"\n ],\n \"skill_dir\": \"bank-accounts\",\n \"skill_name\": \"bank-accounts-routes\",\n \"skill_path\": \"skills/bank-accounts/SKILL.md\",\n \"subagent_name\": \"bank-accounts-api\"\n },\n {\n \"common_prefix\": \"/v2/bookings\",\n \"description\": \"Handle 24 OpenAPI operation(s) under /v2/bookings for the bookings route group.\",\n \"id\": \"bookings\",\n \"label\": \"bookings\",\n \"operation_ids\": [\n \"list_bookings\",\n \"create_booking\",\n \"search_availability\",\n \"bulk_retrieve_bookings\",\n \"retrieve_business_booking_profile\",\n \"list_booking_custom_attribute_definitions\",\n \"create_booking_custom_attribute_definition\",\n \"delete_booking_custom_attribute_definition\",\n \"retrieve_booking_custom_attribute_definition\",\n \"update_booking_custom_attribute_definition\",\n \"bulk_delete_booking_custom_attributes\",\n \"bulk_upsert_booking_custom_attributes\",\n \"list_location_booking_profiles\",\n \"retrieve_location_booking_profile\",\n \"list_team_member_booking_profiles\",\n \"bulk_retrieve_team_member_booking_profiles\",\n \"retrieve_team_member_booking_profile\",\n \"retrieve_booking\",\n \"update_booking\",\n \"cancel_booking\",\n \"list_booking_custom_attributes\",\n \"delete_booking_custom_attribute\",\n \"retrieve_booking_custom_attribute\",\n \"upsert_booking_custom_attribute\"\n ],\n \"skill_dir\": \"bookings\",\n \"skill_name\": \"bookings-routes\",\n \"skill_path\": \"skills/bookings/SKILL.md\",\n \"subagent_name\": \"bookings-api\"\n },\n {\n \"common_prefix\": \"/v2/cards\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /v2/cards for the cards route group.\",\n \"id\": \"cards\",\n \"label\": \"cards\",\n \"operation_ids\": [\n \"list_cards\",\n \"create_card\",\n \"retrieve_card\",\n \"disable_card\"\n ],\n \"skill_dir\": \"cards\",\n \"skill_name\": \"cards-routes\",\n \"skill_path\": \"skills/cards/SKILL.md\",\n \"subagent_name\": \"cards-api\"\n },\n {\n \"common_prefix\": \"/v2/cash-drawers/shifts\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /v2/cash-drawers/shifts for the cash drawers route group.\",\n \"id\": \"cash_drawers\",\n \"label\": \"cash drawers\",\n \"operation_ids\": [\n \"list_cash_drawer_shifts\",\n \"retrieve_cash_drawer_shift\",\n \"list_cash_drawer_shift_events\"\n ],\n \"skill_dir\": \"cash-drawers\",\n \"skill_name\": \"cash-drawers-routes\",\n \"skill_path\": \"skills/cash-drawers/SKILL.md\",\n \"subagent_name\": \"cash-drawers-api\"\n },\n {\n \"common_prefix\": \"/v2/catalog\",\n \"description\": \"Handle 14 OpenAPI operation(s) under /v2/catalog for the catalog route group.\",\n \"id\": \"catalog\",\n \"label\": \"catalog\",\n \"operation_ids\": [\n \"batch_delete_catalog_objects\",\n \"batch_retrieve_catalog_objects\",\n \"batch_upsert_catalog_objects\",\n \"create_catalog_image\",\n \"update_catalog_image\",\n \"catalog_info\",\n \"list_catalog\",\n \"upsert_catalog_object\",\n \"delete_catalog_object\",\n \"retrieve_catalog_object\",\n \"search_catalog_objects\",\n \"search_catalog_items\",\n \"update_item_modifier_lists\",\n \"update_item_taxes\"\n ],\n \"skill_dir\": \"catalog\",\n \"skill_name\": \"catalog-routes\",\n \"skill_path\": \"skills/catalog/SKILL.md\",\n \"subagent_name\": \"catalog-api\"\n },\n {\n \"common_prefix\": \"/v2/channels\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /v2/channels for the channels route group.\",\n \"id\": \"channels\",\n \"label\": \"channels\",\n \"operation_ids\": [\n \"list_channels\",\n \"bulk_retrieve_channels\",\n \"retrieve_channel\"\n ],\n \"skill_dir\": \"channels\",\n \"skill_name\": \"channels-routes\",\n \"skill_path\": \"skills/channels/SKILL.md\",\n \"subagent_name\": \"channels-api\"\n },\n {\n \"common_prefix\": \"/v2/customers\",\n \"description\": \"Handle 31 OpenAPI operation(s) under /v2/customers for the customers route group.\",\n \"id\": \"customers\",\n \"label\": \"customers\",\n \"operation_ids\": [\n \"list_customers\",\n \"create_customer\",\n \"bulk_create_customers\",\n \"bulk_delete_customers\",\n \"bulk_retrieve_customers\",\n \"bulk_update_customers\",\n \"list_customer_custom_attribute_definitions\",\n \"create_customer_custom_attribute_definition\",\n \"delete_customer_custom_attribute_definition\",\n \"retrieve_customer_custom_attribute_definition\",\n \"update_customer_custom_attribute_definition\",\n \"bulk_upsert_customer_custom_attributes\",\n \"list_customer_groups\",\n \"create_customer_group\",\n \"delete_customer_group\",\n \"retrieve_customer_group\",\n \"update_customer_group\",\n \"search_customers\",\n \"list_customer_segments\",\n \"retrieve_customer_segment\",\n \"delete_customer\",\n \"retrieve_customer\",\n \"update_customer\",\n \"create_customer_card\",\n \"delete_customer_card\",\n \"list_customer_custom_attributes\",\n \"delete_customer_custom_attribute\",\n \"retrieve_customer_custom_attribute\",\n \"upsert_customer_custom_attribute\",\n \"remove_group_from_customer\",\n \"add_group_to_customer\"\n ],\n \"skill_dir\": \"customers\",\n \"skill_name\": \"customers-routes\",\n \"skill_path\": \"skills/customers/SKILL.md\",\n \"subagent_name\": \"customers-api\"\n },\n {\n \"common_prefix\": \"/v2/devices\",\n \"description\": \"Handle 5 OpenAPI operation(s) under /v2/devices for the devices route group.\",\n \"id\": \"devices\",\n \"label\": \"devices\",\n \"operation_ids\": [\n \"list_devices\",\n \"list_device_codes\",\n \"create_device_code\",\n \"get_device_code\",\n \"get_device\"\n ],\n \"skill_dir\": \"devices\",\n \"skill_name\": \"devices-routes\",\n \"skill_path\": \"skills/devices/SKILL.md\",\n \"subagent_name\": \"devices-api\"\n },\n {\n \"common_prefix\": \"/v2/disputes\",\n \"description\": \"Handle 9 OpenAPI operation(s) under /v2/disputes for the disputes route group.\",\n \"id\": \"disputes\",\n \"label\": \"disputes\",\n \"operation_ids\": [\n \"list_disputes\",\n \"retrieve_dispute\",\n \"accept_dispute\",\n \"list_dispute_evidence\",\n \"create_dispute_evidence_file\",\n \"create_dispute_evidence_text\",\n \"delete_dispute_evidence\",\n \"retrieve_dispute_evidence\",\n \"submit_evidence\"\n ],\n \"skill_dir\": \"disputes\",\n \"skill_name\": \"disputes-routes\",\n \"skill_path\": \"skills/disputes/SKILL.md\",\n \"subagent_name\": \"disputes-api\"\n },\n {\n \"common_prefix\": \"/v2/employees\",\n \"description\": \"Handle 2 OpenAPI operation(s) under /v2/employees for the employees route group.\",\n \"id\": \"employees\",\n \"label\": \"employees\",\n \"operation_ids\": [\n \"list_employees\",\n \"retrieve_employee\"\n ],\n \"skill_dir\": \"employees\",\n \"skill_name\": \"employees-routes\",\n \"skill_path\": \"skills/employees/SKILL.md\",\n \"subagent_name\": \"employees-api\"\n },\n {\n \"common_prefix\": \"/v2/events\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /v2/events for the events route group.\",\n \"id\": \"events\",\n \"label\": \"events\",\n \"operation_ids\": [\n \"search_events\",\n \"disable_events\",\n \"enable_events\",\n \"list_event_types\"\n ],\n \"skill_dir\": \"events\",\n \"skill_name\": \"events-routes\",\n \"skill_path\": \"skills/events/SKILL.md\",\n \"subagent_name\": \"events-api\"\n },\n {\n \"common_prefix\": \"/v2/gift-cards\",\n \"description\": \"Handle 9 OpenAPI operation(s) under /v2/gift-cards for the gift cards route group.\",\n \"id\": \"gift_cards\",\n \"label\": \"gift cards\",\n \"operation_ids\": [\n \"list_gift_cards\",\n \"create_gift_card\",\n \"list_gift_card_activities\",\n \"create_gift_card_activity\",\n \"retrieve_gift_card_from_gan\",\n \"retrieve_gift_card_from_nonce\",\n \"link_customer_to_gift_card\",\n \"unlink_customer_from_gift_card\",\n \"retrieve_gift_card\"\n ],\n \"skill_dir\": \"gift-cards\",\n \"skill_name\": \"gift-cards-routes\",\n \"skill_path\": \"skills/gift-cards/SKILL.md\",\n \"subagent_name\": \"gift-cards-api\"\n },\n {\n \"common_prefix\": \"/v2/inventory\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /v2/inventory for the inventory route group.\",\n \"id\": \"inventory\",\n \"label\": \"inventory\",\n \"operation_ids\": [\n \"deprecated_retrieve_inventory_adjustment\",\n \"retrieve_inventory_adjustment\",\n \"deprecated_batch_change_inventory\",\n \"deprecated_batch_retrieve_inventory_changes\",\n \"deprecated_batch_retrieve_inventory_counts\",\n \"batch_change_inventory\",\n \"batch_retrieve_inventory_changes\",\n \"batch_retrieve_inventory_counts\",\n \"deprecated_retrieve_inventory_physical_count\",\n \"retrieve_inventory_physical_count\",\n \"retrieve_inventory_transfer\",\n \"retrieve_inventory_count\",\n \"retrieve_inventory_changes\"\n ],\n \"skill_dir\": \"inventory\",\n \"skill_name\": \"inventory-routes\",\n \"skill_path\": \"skills/inventory/SKILL.md\",\n \"subagent_name\": \"inventory-api\"\n },\n {\n \"common_prefix\": \"/v2/invoices\",\n \"description\": \"Handle 10 OpenAPI operation(s) under /v2/invoices for the invoices route group.\",\n \"id\": \"invoices\",\n \"label\": \"invoices\",\n \"operation_ids\": [\n \"list_invoices\",\n \"create_invoice\",\n \"search_invoices\",\n \"delete_invoice\",\n \"get_invoice\",\n \"update_invoice\",\n \"create_invoice_attachment\",\n \"delete_invoice_attachment\",\n \"cancel_invoice\",\n \"publish_invoice\"\n ],\n \"skill_dir\": \"invoices\",\n \"skill_name\": \"invoices-routes\",\n \"skill_path\": \"skills/invoices/SKILL.md\",\n \"subagent_name\": \"invoices-api\"\n },\n {\n \"common_prefix\": \"/v2/labor\",\n \"description\": \"Handle 27 OpenAPI operation(s) under /v2/labor for the labor route group.\",\n \"id\": \"labor\",\n \"label\": \"labor\",\n \"operation_ids\": [\n \"list_break_types\",\n \"create_break_type\",\n \"delete_break_type\",\n \"get_break_type\",\n \"update_break_type\",\n \"list_employee_wages\",\n \"get_employee_wage\",\n \"create_scheduled_shift\",\n \"bulk_publish_scheduled_shifts\",\n \"search_scheduled_shifts\",\n \"retrieve_scheduled_shift\",\n \"update_scheduled_shift\",\n \"publish_scheduled_shift\",\n \"create_shift\",\n \"search_shifts\",\n \"delete_shift\",\n \"get_shift\",\n \"update_shift\",\n \"list_team_member_wages\",\n \"get_team_member_wage\",\n \"create_timecard\",\n \"search_timecards\",\n \"delete_timecard\",\n \"retrieve_timecard\",\n \"update_timecard\",\n \"list_workweek_configs\",\n \"update_workweek_config\"\n ],\n \"skill_dir\": \"labor\",\n \"skill_name\": \"labor-routes\",\n \"skill_path\": \"skills/labor/SKILL.md\",\n \"subagent_name\": \"labor-api\"\n },\n {\n \"common_prefix\": \"/v2/locations\",\n \"description\": \"Handle 20 OpenAPI operation(s) under /v2/locations for the locations route group.\",\n \"id\": \"locations\",\n \"label\": \"locations\",\n \"operation_ids\": [\n \"list_locations\",\n \"create_location\",\n \"list_location_custom_attribute_definitions\",\n \"create_location_custom_attribute_definition\",\n \"delete_location_custom_attribute_definition\",\n \"retrieve_location_custom_attribute_definition\",\n \"update_location_custom_attribute_definition\",\n \"bulk_delete_location_custom_attributes\",\n \"bulk_upsert_location_custom_attributes\",\n \"retrieve_location\",\n \"update_location\",\n \"create_checkout\",\n \"list_location_custom_attributes\",\n \"delete_location_custom_attribute\",\n \"retrieve_location_custom_attribute\",\n \"upsert_location_custom_attribute\",\n \"list_transactions\",\n \"retrieve_transaction\",\n \"capture_transaction\",\n \"void_transaction\"\n ],\n \"skill_dir\": \"locations\",\n \"skill_name\": \"locations-routes\",\n \"skill_path\": \"skills/locations/SKILL.md\",\n \"subagent_name\": \"locations-api\"\n },\n {\n \"common_prefix\": \"/v2/loyalty\",\n \"description\": \"Handle 18 OpenAPI operation(s) under /v2/loyalty for the loyalty route group.\",\n \"id\": \"loyalty\",\n \"label\": \"loyalty\",\n \"operation_ids\": [\n \"create_loyalty_account\",\n \"search_loyalty_accounts\",\n \"retrieve_loyalty_account\",\n \"accumulate_loyalty_points\",\n \"adjust_loyalty_points\",\n \"search_loyalty_events\",\n \"list_loyalty_programs\",\n \"retrieve_loyalty_program\",\n \"calculate_loyalty_points\",\n \"list_loyalty_promotions\",\n \"create_loyalty_promotion\",\n \"retrieve_loyalty_promotion\",\n \"cancel_loyalty_promotion\",\n \"create_loyalty_reward\",\n \"search_loyalty_rewards\",\n \"delete_loyalty_reward\",\n \"retrieve_loyalty_reward\",\n \"redeem_loyalty_reward\"\n ],\n \"skill_dir\": \"loyalty\",\n \"skill_name\": \"loyalty-routes\",\n \"skill_path\": \"skills/loyalty/SKILL.md\",\n \"subagent_name\": \"loyalty-api\"\n },\n {\n \"common_prefix\": \"/v2/merchants\",\n \"description\": \"Handle 13 OpenAPI operation(s) under /v2/merchants for the merchants route group.\",\n \"id\": \"merchants\",\n \"label\": \"merchants\",\n \"operation_ids\": [\n \"list_merchants\",\n \"list_merchant_custom_attribute_definitions\",\n \"create_merchant_custom_attribute_definition\",\n \"delete_merchant_custom_attribute_definition\",\n \"retrieve_merchant_custom_attribute_definition\",\n \"update_merchant_custom_attribute_definition\",\n \"bulk_delete_merchant_custom_attributes\",\n \"bulk_upsert_merchant_custom_attributes\",\n \"retrieve_merchant\",\n \"list_merchant_custom_attributes\",\n \"delete_merchant_custom_attribute\",\n \"retrieve_merchant_custom_attribute\",\n \"upsert_merchant_custom_attribute\"\n ],\n \"skill_dir\": \"merchants\",\n \"skill_name\": \"merchants-routes\",\n \"skill_path\": \"skills/merchants/SKILL.md\",\n \"subagent_name\": \"merchants-api\"\n },\n {\n \"common_prefix\": \"/v2/online-checkout\",\n \"description\": \"Handle 9 OpenAPI operation(s) under /v2/online-checkout for the online checkout route group.\",\n \"id\": \"online_checkout\",\n \"label\": \"online checkout\",\n \"operation_ids\": [\n \"retrieve_location_settings\",\n \"update_location_settings\",\n \"retrieve_merchant_settings\",\n \"update_merchant_settings\",\n \"list_payment_links\",\n \"create_payment_link\",\n \"delete_payment_link\",\n \"retrieve_payment_link\",\n \"update_payment_link\"\n ],\n \"skill_dir\": \"online-checkout\",\n \"skill_name\": \"online-checkout-routes\",\n \"skill_path\": \"skills/online-checkout/SKILL.md\",\n \"subagent_name\": \"online-checkout-api\"\n },\n {\n \"common_prefix\": \"/v2/payments\",\n \"description\": \"Handle 7 OpenAPI operation(s) under /v2/payments for the payments route group.\",\n \"id\": \"payments\",\n \"label\": \"payments\",\n \"operation_ids\": [\n \"list_payments\",\n \"create_payment\",\n \"cancel_payment_by_idempotency_key\",\n \"get_payment\",\n \"update_payment\",\n \"cancel_payment\",\n \"complete_payment\"\n ],\n \"skill_dir\": \"payments\",\n \"skill_name\": \"payments-routes\",\n \"skill_path\": \"skills/payments/SKILL.md\",\n \"subagent_name\": \"payments-api\"\n },\n {\n \"common_prefix\": \"/v2/payouts\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /v2/payouts for the payouts route group.\",\n \"id\": \"payouts\",\n \"label\": \"payouts\",\n \"operation_ids\": [\n \"list_payouts\",\n \"get_payout\",\n \"list_payout_entries\"\n ],\n \"skill_dir\": \"payouts\",\n \"skill_name\": \"payouts-routes\",\n \"skill_path\": \"skills/payouts/SKILL.md\",\n \"subagent_name\": \"payouts-api\"\n },\n {\n \"common_prefix\": \"/v2/refunds\",\n \"description\": \"Handle 3 OpenAPI operation(s) under /v2/refunds for the refunds route group.\",\n \"id\": \"refunds\",\n \"label\": \"refunds\",\n \"operation_ids\": [\n \"list_payment_refunds\",\n \"refund_payment\",\n \"get_payment_refund\"\n ],\n \"skill_dir\": \"refunds\",\n \"skill_name\": \"refunds-routes\",\n \"skill_path\": \"skills/refunds/SKILL.md\",\n \"subagent_name\": \"refunds-api\"\n },\n {\n \"common_prefix\": \"/v2/sites\",\n \"description\": \"Handle 4 OpenAPI operation(s) under /v2/sites for the sites route group.\",\n \"id\": \"sites\",\n \"label\": \"sites\",\n \"operation_ids\": [\n \"list_sites\",\n \"delete_snippet\",\n \"retrieve_snippet\",\n \"upsert_snippet\"\n ],\n \"skill_dir\": \"sites\",\n \"skill_name\": \"sites-routes\",\n \"skill_path\": \"skills/sites/SKILL.md\",\n \"subagent_name\": \"sites-api\"\n },\n {\n \"common_prefix\": \"/v2/subscriptions\",\n \"description\": \"Handle 12 OpenAPI operation(s) under /v2/subscriptions for the subscriptions route group.\",\n \"id\": \"subscriptions\",\n \"label\": \"subscriptions\",\n \"operation_ids\": [\n \"create_subscription\",\n \"bulk_swap_plan\",\n \"search_subscriptions\",\n \"retrieve_subscription\",\n \"update_subscription\",\n \"delete_subscription_action\",\n \"change_billing_anchor_date\",\n \"cancel_subscription\",\n \"list_subscription_events\",\n \"pause_subscription\",\n \"resume_subscription\",\n \"swap_plan\"\n ],\n \"skill_dir\": \"subscriptions\",\n \"skill_name\": \"subscriptions-routes\",\n \"skill_path\": \"skills/subscriptions/SKILL.md\",\n \"subagent_name\": \"subscriptions-api\"\n },\n {\n \"common_prefix\": \"/v2/team-members\",\n \"description\": \"Handle 12 OpenAPI operation(s) under /v2/team-members for the team members route group.\",\n \"id\": \"team_members\",\n \"label\": \"team members\",\n \"operation_ids\": [\n \"create_team_member\",\n \"bulk_create_team_members\",\n \"bulk_update_team_members\",\n \"list_jobs\",\n \"create_job\",\n \"retrieve_job\",\n \"update_job\",\n \"search_team_members\",\n \"retrieve_team_member\",\n \"update_team_member\",\n \"retrieve_wage_setting\",\n \"update_wage_setting\"\n ],\n \"skill_dir\": \"team-members\",\n \"skill_name\": \"team-members-routes\",\n \"skill_path\": \"skills/team-members/SKILL.md\",\n \"subagent_name\": \"team-members-api\"\n },\n {\n \"common_prefix\": \"/v2/terminals\",\n \"description\": \"Handle 15 OpenAPI operation(s) under /v2/terminals for the terminals route group.\",\n \"id\": \"terminals\",\n \"label\": \"terminals\",\n \"operation_ids\": [\n \"create_terminal_action\",\n \"search_terminal_actions\",\n \"get_terminal_action\",\n \"cancel_terminal_action\",\n \"dismiss_terminal_action\",\n \"create_terminal_checkout\",\n \"search_terminal_checkouts\",\n \"get_terminal_checkout\",\n \"cancel_terminal_checkout\",\n \"dismiss_terminal_checkout\",\n \"create_terminal_refund\",\n \"search_terminal_refunds\",\n \"get_terminal_refund\",\n \"cancel_terminal_refund\",\n \"dismiss_terminal_refund\"\n ],\n \"skill_dir\": \"terminals\",\n \"skill_name\": \"terminals-routes\",\n \"skill_path\": \"skills/terminals/SKILL.md\",\n \"subagent_name\": \"terminals-api\"\n },\n {\n \"common_prefix\": \"/v2/transfer-orders\",\n \"description\": \"Handle 8 OpenAPI operation(s) under /v2/transfer-orders for the transfer orders route group.\",\n \"id\": \"transfer_orders\",\n \"label\": \"transfer orders\",\n \"operation_ids\": [\n \"create_transfer_order\",\n \"search_transfer_orders\",\n \"delete_transfer_order\",\n \"retrieve_transfer_order\",\n \"update_transfer_order\",\n \"cancel_transfer_order\",\n \"receive_transfer_order\",\n \"start_transfer_order\"\n ],\n \"skill_dir\": \"transfer-orders\",\n \"skill_name\": \"transfer-orders-routes\",\n \"skill_path\": \"skills/transfer-orders/SKILL.md\",\n \"subagent_name\": \"transfer-orders-api\"\n },\n {\n \"common_prefix\": \"/v2/vendors\",\n \"description\": \"Handle 7 OpenAPI operation(s) under /v2/vendors for the vendors route group.\",\n \"id\": \"vendors\",\n \"label\": \"vendors\",\n \"operation_ids\": [\n \"bulk_create_vendors\",\n \"bulk_retrieve_vendors\",\n \"bulk_update_vendors\",\n \"create_vendor\",\n \"search_vendors\",\n \"retrieve_vendor\",\n \"update_vendor\"\n ],\n \"skill_dir\": \"vendors\",\n \"skill_name\": \"vendors-routes\",\n \"skill_path\": \"skills/vendors/SKILL.md\",\n \"subagent_name\": \"vendors-api\"\n },\n {\n \"common_prefix\": \"/v2/webhooks\",\n \"description\": \"Handle 8 OpenAPI operation(s) under /v2/webhooks for the webhooks route group.\",\n \"id\": \"webhooks\",\n \"label\": \"webhooks\",\n \"operation_ids\": [\n \"list_webhook_event_types\",\n \"list_webhook_subscriptions\",\n \"create_webhook_subscription\",\n \"delete_webhook_subscription\",\n \"retrieve_webhook_subscription\",\n \"update_webhook_subscription\",\n \"update_webhook_subscription_signature_key\",\n \"test_webhook_subscription\"\n ],\n \"skill_dir\": \"webhooks\",\n \"skill_name\": \"webhooks-routes\",\n \"skill_path\": \"skills/webhooks/SKILL.md\",\n \"subagent_name\": \"webhooks-api\"\n }\n]")
ROOT_SECURITY = json.loads("[]")
SECURITY_SCHEMES = json.loads("{\n \"oauth2\": {\n \"flows\": {\n \"authorizationCode\": {\n \"authorizationUrl\": \"https://connect.squareup.com/oauth2/authorize\",\n \"scopes\": {\n \"ADDON_CONFIGURATIONS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants write access for third-party Add-ons to read configurations of their Add-ons, for example, when calling `RetrieveConfiguration` endpoint.\",\n \"ADDON_CONFIGURATIONS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access for third-party Add-ons to store configurations of their Add-ons, for example, when calling `CreateConfiguration` endpoint.\",\n \"APPOINTMENTS_ALL_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nGrants read access to all of a seller's booking information, calendar, and business details.\\nThis permission must be accompanied by the `APPOINTMENTS_READ` permission.\",\n \"APPOINTMENTS_ALL_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to all booking details, including double-booking a seller.\\nThis permission must be accompanied by the `APPOINTMENTS_WRITE` permission.\",\n \"APPOINTMENTS_BUSINESS_SETTINGS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to booking business settings. For example, to call the\\nListTeamMemberBookingProfiles endpoint.\",\n \"APPOINTMENTS_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nGrants read access to booking information. For example, to call the\\nRetrieveBooking endpoint.\",\n \"APPOINTMENTS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to booking information. For example, to call the CreateBooking endpoint.\",\n \"BANK_ACCOUNTS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to bank account information associated with the targeted\\nSquare account. For example, to call the Connect v1 ListBankAccounts endpoint.\",\n \"CASH_DRAWER_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to cash drawer shift information. For example, to call the\\nListCashDrawerShifts endpoint.\",\n \"CHANNELS_CREATE\": \"__HTTP Method__: `POST`\\n\\nGrants write access to create channels, for example, when calling the\\n`CreateChannel` endpoint.\",\n \"CHANNELS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to view channels, for example, when calling the\\n`RetrieveChannel` endpoint.\",\n \"CHANNELS_UPDATE\": \"__HTTP Method__: `PUT`\\n\\nGrants write access to update channels, for example, when calling the\\n`UpdateChannel` endpoint.\",\n \"CUSTOMERS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to customer information. For example, to call the\\nListCustomers endpoint.\",\n \"CUSTOMERS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to customer information. For example, to create and update\\ncustomer profiles.\",\n \"DEVICES_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to device information. For example, to\\ncall the `GetDevice` and `ListDevices` endpoints.\",\n \"DEVICE_CREDENTIAL_MANAGEMENT\": \"__HTTP Method__: `POST`, `GET`\\n\\nGrants read/write access to device credentials information. For example, to\\ncall the CreateDeviceCode endpoint.\",\n \"DISCOUNT_CODES_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to Discount Codes API. For example, to call the `RetrieveDiscountCode` and `RetrieveRedemption` endpoints.\",\n \"DISCOUNT_CODES_WRITE\": \"__HTTP Method__: `POST`\\n\\nGrants write access to Discount Codes API.\",\n \"DISPUTES_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to dispute information. For example, to call the RetrieveDispute\\nendpoint.\",\n \"DISPUTES_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to dispute information. For example, to call the SubmitEvidence\\nendpoint.\",\n \"EMPLOYEES_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to employee profile information. For example, to call the\\nConnect v1 Employees API.\",\n \"EMPLOYEES_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to employee profile information. For example, to create\\nand modify employee profiles.\",\n \"GIFTCARDS_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nGrants read access to gift card information. For example, to call the RetrieveGiftCard\\nendpoint.\",\n \"GIFTCARDS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to gift card information. For example, to call the CreateGiftCard\\nendpoint.\",\n \"INVENTORY_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to inventory information. For example, to call the\\nRetrieveInventoryCount endpoint.\",\n \"INVENTORY_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to inventory information. For example, to call the\\nBatchChangeInventory endpoint.\",\n \"INVOICES_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nGrants read access to invoice information. For example, to call the ListInvoices endpoint.\",\n \"INVOICES_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to invoice information. For example, to call the CreateInvoice endpoint.\",\n \"ITEMS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to product catalog information. For example, to obtain objects in a product catalog.\",\n \"ITEMS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to product catalog information. For example, to modify or\\nadd to a product catalog.\",\n \"LOYALTY_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to loyalty information. For example, to call the\\nListLoyaltyPrograms endpoint.\",\n \"LOYALTY_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to loyalty information. For example, to call the\\nCreateLoyaltyAccount endpoint.\",\n \"MERCHANT_PROFILE_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to business and location information. For example, to\\nobtain a location ID for subsequent activity.\",\n \"MERCHANT_PROFILE_WRITE\": \"__HTTP Method__: `POST`, `PUT`\\n\\nGrants write access to business and location information. For example, to create a new location or\\nupdate the business hours at an existing location.\",\n \"ONLINE_STORE_SITE_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nRead access to ECOM online store site details.\",\n \"ONLINE_STORE_SNIPPETS_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nRead access to ECOM online store snippets on published websites.\",\n \"ONLINE_STORE_SNIPPETS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nWrite access to ECOM online store snippets on published websites.\",\n \"ORDERS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to order information. For example, to call the\\nBatchRetrieveOrders endpoint.\",\n \"ORDERS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to order information. For example, to call the\\nCreateCheckout endpoint.\",\n \"PAYMENTS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to transaction and refund information. For example, to call\\nthe RetrieveTransaction endpoint.\",\n \"PAYMENTS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to transaction and refunds information. For example, to\\nprocess payments with the Payments or Checkout API.\",\n \"PAYMENTS_WRITE_ADDITIONAL_RECIPIENTS\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nAllow third party applications to deduct a portion of each transaction amount.\\n__Required__ to use multiparty transaction functionality with the Payments\\nAPI.\",\n \"PAYMENTS_WRITE_IN_PERSON\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to payments and refunds information. For example, to\\nprocess in-person payments.\",\n \"PAYMENTS_WRITE_SHARED_ONFILE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nAllows the developer to process payments on behalf of a seller using a shared on file payment method.\",\n \"PAYOUTS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to payouts and payout entries information. For example,\\nto call the Connect v2 `ListPayouts` endpoint.\",\n \"PAYOUTS_WRITE\": \"__HTTP Method__: `POST`\\n\\nGrants access to schedule a payout.\",\n \"PERMISSION_SETS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to Permission Sets. For example, to\\ncall the `ListPermissionSets` and `RetrievePermissionSet` endpoints.\",\n \"PERMISSION_SETS_WRITE\": \"__HTTP Method__: `PUT`\\n\\nGrants write access to Permission Sets.\",\n \"RESERVATIONS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to reservation information, for example, when calling the\\n`RetrieveReservation` endpoint.\",\n \"RESERVATIONS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to reservation information, for example, when calling the\\n`CreateReservation` endpoint.\",\n \"RESTAURANT_CHECKS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to check information, for example, when calling the\\n`RetrieveCheck` endpoint.\",\n \"SETTLEMENTS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to settlement (deposit) information. For example, to call\\nthe Connect v1 ListSettlements endpoint.\",\n \"SUBSCRIPTIONS_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nGrants read access to subscription information. For example, to call the RetrieveSubscription\\nendpoint.\",\n \"SUBSCRIPTIONS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to subscription information. For example, to call the CreateSubscription\\nendpoint.\",\n \"TIMECARDS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to employee timecard information. For example, to call the\\nConnect v2 SearchShifts endpoint.\",\n \"TIMECARDS_SETTINGS_READ\": \"__HTTP Method__: `GET`\\n\\nGrants read access to employee timecard settings information. For example, to\\ncall the GetBreakType endpoint.\",\n \"TIMECARDS_SETTINGS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to employee timecard settings information. For example, to\\ncall the UpdateBreakType endpoint.\",\n \"TIMECARDS_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to employee shift information. For example, to create\\nand modify employee shifts.\",\n \"VENDOR_READ\": \"__HTTP Method__: `GET`, `POST`\\n\\nGrants read access to vendor information, for example, when calling the\\n`RetrieveVendor` endpoint.\",\n \"VENDOR_WRITE\": \"__HTTP Method__: `POST`, `PUT`, `DELETE`\\n\\nGrants write access to vendor information, for example, when calling the\\n`BulkUpdateVendors` endpoint.\"\n },\n \"tokenUrl\": \"https://connect.squareup.com/oauth2/token\"\n }\n },\n \"type\": \"oauth2\",\n \"x-additional-headers\": [\n {\n \"description\": \"Square Connect API versions\",\n \"name\": \"Square-Version\",\n \"schema\": {\n \"default\": \"2026-05-20\"\n }\n }\n ]\n },\n \"oauth2ClientSecret\": {\n \"in\": \"header\",\n \"name\": \"Authorization\",\n \"type\": \"apiKey\"\n }\n}")
SECURITY_FIELDS = json.loads("{\n \"oauth2\": {\n \"field\": \"OAUTH2\",\n \"kind\": \"oauth2\",\n \"scheme\": \"Bearer\"\n },\n \"oauth2ClientSecret\": {\n \"field\": \"AUTHORIZATION\",\n \"kind\": \"apiKey\",\n \"location\": \"header\",\n \"name\": \"Authorization\"\n }\n}")
PATH_PARAMETER_RE = re.compile(r"{([^}/]+)}")
SOURCE_ROOT = Path(globals().get("__file__", "agent.py")).resolve().parent
SOURCE_SKILLS_DIR = SOURCE_ROOT / "skills"
RUNTIME_SKILLS_DIR = ".deepagents/openapi-skills/"
class OperationInput(BaseModel):
parameters: dict[str, Any] = Field(
default_factory=dict,
description="Path, query, header, and cookie parameters keyed by OpenAPI parameter name.",
)
body: Any | None = Field(default=None, description="JSON request body, when the operation accepts one.")
class SquareConnectOpenapiAgent(A2AAgent):
name = "square-connect-openapi-agent"
description = "Commerce API for payments, orders, catalogs, customers, inventory, and locations."
version = "2.0"
consumer_setup = ConsumerSetup.from_fields(
ConsumerSetupField.config("OPENAPI_BASE_URL", label="API base URL", description="Override the default API server (https://connect.squareup.com).", required=False, input_type="url"),
ConsumerSetupField.secret("OAUTH2", label="oauth2 access token", description="OAuth/OIDC access token.", required=True),
ConsumerSetupField.secret("AUTHORIZATION", label="oauth2ClientSecret API key", description="Sent as header parameter 'Authorization'.", required=False),
)
llm_provisioning = LLMProvisioning.PLATFORM
pricing = Pricing(
price_per_call_usd=0.0,
caller_pays_llm=True,
notes="Uses the caller's saved LLM credential through ctx.llm.",
)
resources = Resources(cpu="200m", memory="512Mi")
egress = EgressPolicy(
allow_hosts=('connect.squareup.com',),
deny_internet_by_default=True,
)
tools_used = ("openapi", "deepagents")
capabilities = {
"openapi_auto_agent": {
"operation_count": len(OPERATIONS),
"default_base_url": DEFAULT_BASE_URL,
"source_openapi_url": 'https://raw.githubusercontent.com/square/connect-api-specification/master/api.json',
"source_openapi_urls": ['https://raw.githubusercontent.com/square/connect-api-specification/master/api.json'],
"server_urls": ['https://connect.squareup.com'],
"regenerable": True,
"security_schemes": list(SECURITY_SCHEMES),
}
}
@skill(
name="auto",
description="Use the OpenAPI service to complete a natural-language goal.",
tags=("openapi", "auto"),
timeout_seconds=900,
)
async def auto(self, ctx: RunContext, goal: str) -> dict[str, Any]:
creds = ctx.llm
if not creds.api_key:
return {
"error": "llm_credentials_missing",
"final": (
"LLM key required. Add an LLM credential in Settings > "
"LLM credentials before running this agent."
),
"messages": [],
}
backend = ctx.workspace_backend()
skills_root = _seed_runtime_skills(backend, ctx)
graph = create_a2a_deep_agent(
ctx,
creds=creds,
backend=backend,
tools=[],
subagents=self._operation_subagents(ctx, skills_root),
system_prompt=self._system_prompt(),
)
result = await graph.ainvoke({"messages": [{"role": "user", "content": goal}]})
messages = result.get("messages", []) if isinstance(result, dict) else []
final = _message_text(messages[-1]) if messages else result
return {
"final": final,
"messages": [_message_to_dict(message) for message in messages[-8:]],
}
def _operation_subagents(self, ctx: RunContext, skills_root: str) -> list[dict[str, Any]]:
subagents: list[dict[str, Any]] = []
for group in OPERATION_GROUPS:
skill_path = (
f"{skills_root}{group['skill_dir']}/"
if skills_root
else ""
)
subagent = {
"name": group["subagent_name"],
"description": group["description"],
"system_prompt": self._subagent_prompt(group),
"tools": self._operation_tools(ctx, set(group["operation_ids"])),
}
if skill_path:
subagent["skills"] = [skill_path]
subagents.append(subagent)
return subagents
def _operation_tools(
self,
ctx: RunContext,
operation_ids: set[str] | None = None,
) -> list[StructuredTool]:
tools: list[StructuredTool] = []
for operation_id, operation in OPERATIONS.items():
if operation_ids is not None and operation_id not in operation_ids:
continue
async def call(
parameters: dict[str, Any] | None = None,
body: Any | None = None,
*,
_operation_id: str = operation_id,
) -> dict[str, Any]:
return await self._request(
ctx,
_operation_id,
parameters=parameters or {},
body=body,
)
tools.append(
StructuredTool.from_function(
coroutine=call,
name=operation["skill_name"],
description=self._tool_description(operation),
args_schema=OperationInput,
)
)
return tools
def _system_prompt(self) -> str:
if OPERATION_GROUPS:
lines = [
"You coordinate route-specific OpenAPI subagents.",
"Delegate API work to the matching subagent with the task tool.",
"Do not invent API responses; ask subagents to call their tools for real results.",
"If a subagent reports missing consumer setup, tell the user which setup field is required.",
"If a subagent reports that the generated OpenAPI agent may be stale, ask whether the user wants to refresh it from the latest OpenAPI spec.",
"",
"Available route groups:",
]
for group in OPERATION_GROUPS:
lines.append(
f"- {group['subagent_name']}: {group['description']}"
)
return "\n".join(lines)
lines = [
"You operate an API through generated OpenAPI tools.",
"Call tools to get real results. Do not invent API responses.",
"For write, update, or delete operations, explain the intended action before calling the tool.",
"If an operation reports missing consumer setup, tell the user which setup field is required.",
"If an operation returns 404, 405, 410, or a schema/validation error that suggests the live API no longer matches these tools, tell the user this generated agent may need to be refreshed from the latest OpenAPI spec and ask whether they want to refresh it.",
"",
"Available operations:",
]
for operation in OPERATIONS.values():
marker = "WRITE" if operation.get("destructive") else "READ"
lines.append(
f"- {operation['skill_name']}: {marker} {operation['method']} {operation['path']}{operation['summary']}"
)
return "\n".join(lines)
def _subagent_prompt(self, group: dict[str, Any]) -> str:
lines = [
"You operate one route group from a generated OpenAPI API.",
"Use the available operation tools to make real API calls. Do not invent API responses.",
"Read the route group's SKILL.md when it applies; it lists every route you cover.",
"For write, update, or delete operations, explain the intended action before calling the tool.",
"If an operation reports missing consumer setup, return the exact setup field name.",
"If an operation returns 404, 405, 410, or a schema/validation error that suggests the live API no longer matches these tools, say the generated agent may need to be refreshed from the latest OpenAPI spec.",
"",
f"Route group: {group['label']}",
f"Common prefix: {group.get('common_prefix') or '/'}",
"Available operation tools:",
]
for operation_id in group["operation_ids"]:
operation = OPERATIONS[operation_id]
marker = "WRITE" if operation.get("destructive") else "READ"
lines.append(
f"- {operation['skill_name']}: {marker} {operation['method']} {operation['path']} - {operation['summary']}"
)
return "\n".join(lines)
def _tool_description(self, operation: dict[str, Any]) -> str:
parts = [
f"{operation['method']} {operation['path']}",
str(operation.get("description") or operation.get("summary") or ""),
]
if operation.get("parameters"):
parts.append(
"Parameters: "
+ ", ".join(
f"{p['name']} in {p['in']}{' required' if p.get('required') else ''}"
for p in operation["parameters"]
)
)
if operation.get("request_body") is not None:
parts.append("Accepts a JSON request body.")
return "\n".join(part for part in parts if part)
async def _request(
self,
ctx: RunContext,
operation_id: str,
*,
parameters: dict[str, Any],
body: Any | None,
) -> dict[str, Any]:
operation = OPERATIONS[operation_id]
default_base_url = str(operation.get("base_url") or DEFAULT_BASE_URL).rstrip("/")
base_url_field = str(operation.get("base_url_field") or "OPENAPI_BASE_URL")
base_url = str(ctx.consumer_config(base_url_field, default_base_url) or default_base_url).rstrip("/")
url, query, headers = self._request_parts(ctx, operation, parameters)
request_kwargs: dict[str, Any] = {
"params": query,
"headers": headers,
}
if body is not None:
if isinstance(body, (bytes, bytearray)):
body = body.decode("utf-8", errors="replace")
if isinstance(body, str):
stripped = body.strip()
if stripped and stripped[0] in "{[":
try:
body = json.loads(stripped)
except ValueError:
pass
request_kwargs["json"] = body
async with httpx.AsyncClient(timeout=60.0, follow_redirects=True) as client:
response = await client.request(
operation["method"],
f"{base_url}{url}",
**request_kwargs,
)
content_type = response.headers.get("content-type", "")
try:
payload: Any = response.json() if "json" in content_type else response.text
except ValueError:
payload = response.text
if response.status_code >= 400:
out = {
"ok": False,
"status_code": response.status_code,
"operation_id": operation_id,
"error": payload,
}
if response.status_code in {404, 405, 410, 422}:
out["stale_openapi_hint"] = (
"This generated OpenAPI agent may be stale. Ask the user "
"whether they want to refresh it from the latest OpenAPI spec."
)
return out
return {
"ok": True,
"status_code": response.status_code,
"operation_id": operation_id,
"result": payload,
}
def _request_parts(
self,
ctx: RunContext,
operation: dict[str, Any],
parameters: dict[str, Any],
) -> tuple[str, dict[str, Any], dict[str, str]]:
path = operation["path"]
query: dict[str, Any] = {}
headers: dict[str, str] = {}
cookies: dict[str, Any] = {}
for param in operation.get("parameters") or []:
name = param["name"]
if name not in parameters:
if param.get("required"):
raise ValueError(f"missing required parameter {name!r}")
continue
value = parameters[name]
location = param["in"]
if location == "path":
path = path.replace("{" + name + "}", str(value))
elif location == "query":
query[name] = value
elif location == "header":
headers[name] = str(value)
elif location == "cookie":
cookies[name] = value
unresolved = PATH_PARAMETER_RE.findall(path)
if unresolved:
missing = ", ".join(sorted(set(unresolved)))
raise ValueError("missing required path parameter(s): " + missing)
if cookies:
headers["cookie"] = "; ".join(f"{key}={value}" for key, value in cookies.items())
auth_headers, auth_query = self._auth_for_operation(ctx, operation)
headers.update(auth_headers)
query.update(auth_query)
return path, query, headers
def _auth_for_operation(self, ctx: RunContext, operation: dict[str, Any]) -> tuple[dict[str, str], dict[str, Any]]:
requirements = operation.get("security")
if requirements is None:
requirements = ROOT_SECURITY
if requirements == []:
return {}, {}
missing: list[str] = []
for requirement in requirements or []:
if not isinstance(requirement, dict) or not requirement:
return {}, {}
headers: dict[str, str] = {}
query: dict[str, Any] = {}
ok = True
for scheme_name in requirement:
mapping = SECURITY_FIELDS.get(scheme_name) or {}
secret_name = mapping.get("field")
value = _consumer_secret_optional(ctx, secret_name) if secret_name else ""
if not value:
ok = False
if secret_name:
missing.append(secret_name)
continue
kind = mapping.get("kind")
if kind == "apiKey":
prefix = mapping.get("prefix") or ""
sent_value = f"{prefix}{value}"
if mapping.get("location") == "query":
query[mapping.get("name") or scheme_name] = sent_value
else:
headers[mapping.get("name") or scheme_name] = sent_value
elif kind in {"http", "oauth2"}:
scheme = mapping.get("scheme") or "Bearer"
if scheme.lower() == "basic":
token = base64.b64encode(value.encode("utf-8")).decode("ascii")
headers["authorization"] = f"Basic {token}"
else:
headers["authorization"] = f"{scheme} {value}"
else:
ok = False
if ok:
return headers, query
if missing:
raise ConsumerSetupMissing(
"operation requires consumer setup secret(s): "
+ ", ".join(sorted(set(missing)))
)
return {}, {}
def _consumer_secret_optional(ctx: RunContext, name: str | None) -> str:
if not name:
return ""
try:
return ctx.consumer_secret(name)
except ConsumerSetupMissing:
return ""
def _runtime_skills_root(ctx: RunContext) -> str:
workspace = getattr(ctx, "_workspace", None)
prefixes = tuple(getattr(workspace, "write_prefixes", ()) or ())
if not prefixes:
outputs_prefix = getattr(workspace, "outputs_prefix", None)
prefixes = (outputs_prefix or "outputs/",)
prefix = str(prefixes[0]).strip("/")
return f"/{prefix}/{RUNTIME_SKILLS_DIR}" if prefix else f"/{RUNTIME_SKILLS_DIR}"
def _seed_runtime_skills(backend: Any, ctx: RunContext) -> str:
if not SOURCE_SKILLS_DIR.exists():
return ""
runtime_root = _runtime_skills_root(ctx)
uploads: list[tuple[str, bytes]] = []
for path in SOURCE_SKILLS_DIR.rglob("*"):
if not path.is_file():
continue
rel = path.relative_to(SOURCE_SKILLS_DIR).as_posix()
uploads.append((runtime_root + rel, path.read_bytes()))
if not uploads:
return ""
backend.upload_files(uploads)
return runtime_root
def _message_text(message: Any) -> Any:
content = getattr(message, "content", message)
return content
def _message_to_dict(message: Any) -> dict[str, Any]:
if isinstance(message, BaseMessage):
return message.model_dump(mode="json")
if hasattr(message, "model_dump"):
return message.model_dump(mode="json")
if isinstance(message, dict):
return message
return {"content": str(message)}
agent = SquareConnectOpenapiAgent()