# Square

Square provides payment processing, POS systems, invoicing, and e-commerce tools, enabling sellers to accept card payments and manage their business

- **Category:** payment processing
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 96
- **Triggers:** 0
- **Slug:** `SQUARE`
- **Version:** 20260307_00

## Tools

### Accept Dispute

**Slug:** `SQUARE_ACCEPT_DISPUTE`

Accept a dispute and acknowledge liability, returning funds to the cardholder. When you accept a dispute, Square debits the disputed amount from your account and updates the dispute state to ACCEPTED. This action is irreversible - once accepted, a dispute cannot be challenged. Only use after reviewing all evidence and determining that challenging the dispute is not viable. Note: Requires DISPUTES_WRITE permission scope.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The Square-generated unique ID of the dispute to accept. Accepting a dispute acknowledges liability and cannot be reversed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Group to Customer

**Slug:** `SQUARE_ADD_GROUP_TO_CUSTOMER`

Tool to add a customer to a customer group. Use when you need to associate a customer with a specific group for targeted marketing, loyalty programs, or customer segmentation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The ID of the customer group to add the customer to. This is the unique Square-generated group identifier. |
| `customer_id` | string | Yes | The ID of the customer to add to a group. This is the unique Square-generated customer identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Calculate Order

**Slug:** `SQUARE_CALCULATE_ORDER`

Tool to preview order pricing without creating an order. Use when you need to calculate the total cost, taxes, discounts, and other pricing details for an order before finalizing it. Particularly useful for integrating rewards, discounts, and complex pricing scenarios.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order` | object | Yes | The order to be calculated. Expects the entire order, not a sparse update. Must include location_id and line_items with pricing information. |
| `proposed_rewards` | array | No | Identifies one or more loyalty reward tiers to apply during the order calculation. These are preview-only; no actual redemptions occur. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel Invoice

**Slug:** `SQUARE_CANCEL_INVOICE`

Cancels a Square invoice, preventing further payments from being collected. Requirements: - Invoice must be in SCHEDULED, UNPAID, or PARTIALLY_PAID state - Cannot cancel invoices in DRAFT state or terminal states (PAID, REFUNDED, CANCELED, FAILED) - Requires INVOICES_WRITE and ORDERS_WRITE OAuth scopes - Version number must match the current invoice version to prevent conflicts After cancellation, the associated order status is set to CANCELED and webhook events are triggered.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | Yes | The current version number of the invoice. This must exactly match the invoice's current version on the server to prevent race conditions. Obtain the version from GET_INVOICE or LIST_INVOICES actions. |
| `invoice_id` | string | Yes | The Square-assigned ID of the invoice to cancel. Obtain this from GET_INVOICE or LIST_INVOICES actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Cancel Payment

**Slug:** `SQUARE_CANCEL_PAYMENT`

Cancels (voids) a payment that is in APPROVED status. This is typically used in delayed capture scenarios where a payment was authorized but not yet captured, allowing you to void the authorization before settlement. Important: Only payments with APPROVED status can be canceled. Attempting to cancel a payment in any other status (COMPLETED, PENDING, CANCELED, FAILED) will result in an error. Once canceled, the payment status changes to CANCELED and the card details status changes to VOIDED. Required permissions: PAYMENTS_WRITE

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `payment_id` | string | Yes | The unique ID of the payment to cancel. The payment must be in APPROVED status. You can obtain payment IDs from the List Payments endpoint or from payment creation responses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Bulk Customers

**Slug:** `SQUARE_CREATE_BULK_CUSTOMERS`

Tool to create multiple customer profiles in a single request. Use when you need to efficiently create up to 100 customers at once. Each customer is identified by a unique idempotency key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customers` | object | Yes | A map containing 1 to 100 individual customer creation requests. Each entry uses an idempotency key as the key and customer data as the value. Each customer must include at least one of: given_name, family_name, company_name, email_address, or phone_number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Card

**Slug:** `SQUARE_CREATE_CARD`

Tool to create a card on file. Use when you need to securely store a customer's card for future payments. Requires a valid nonce or payment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `card` | object | Yes | Details of the card and customer to store on file. |
| `source_id` | string | Yes | Card nonce or payment ID used as the source of card data. |
| `idempotency_key` | string | Yes | Unique key for this CreateCard request (1–45 characters). |
| `verification_token` | string | No | Token from Payments.verifyBuyer() for SCA/3-D Secure verification. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer

**Slug:** `SQUARE_CREATE_CUSTOMER`

Tool to create a new customer profile in Square. Use when you need to add a customer to the Square account. At least one of given_name, family_name, company_name, email_address, or phone_number is required.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | No | A custom note associated with the customer profile. |
| `address` | object | No | Represents a physical postal address. |
| `tax_ids` | object | No | Tax ID information for EU/UK sellers. |
| `birthday` | string | No | The birthday associated with the customer profile. Format: YYYY-MM-DD or MM-DD. Returns as YYYY-MM-DD. |
| `nickname` | string | No | A nickname for the customer profile. |
| `given_name` | string | No | The given name (first name) associated with the customer profile. At least one of given_name, family_name, company_name, email_address, or phone_number is required. |
| `family_name` | string | No | The family name (last name) associated with the customer profile. At least one of given_name, family_name, company_name, email_address, or phone_number is required. |
| `company_name` | string | No | A business name associated with the customer profile. At least one of given_name, family_name, company_name, email_address, or phone_number is required. |
| `phone_number` | string | No | The phone number associated with the customer profile. Should be 9-16 digits, with optional '+' prefix. At least one of given_name, family_name, company_name, email_address, or phone_number is required. |
| `reference_id` | string | No | An optional second ID used to associate the customer profile with an entity in another system. |
| `email_address` | string | No | The email address associated with the customer profile. Must be a valid email format. At least one of given_name, family_name, company_name, email_address, or phone_number is required. |
| `idempotency_key` | string | No | A unique key to ensure idempotent request processing. Recommended for all create operations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer Custom Attribute Definition

**Slug:** `SQUARE_CREATE_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to create a customer-related custom attribute definition. Use when you need to define a new custom attribute that can be applied to customer profiles. Custom attributes allow storing additional structured data on customers beyond the standard fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `idempotency_key` | string | No | Unique key for this request to ensure idempotency. Prevents duplicate definitions from being created if the request is retried. |
| `custom_attribute_definition` | object | Yes | The custom attribute definition to create for customers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Customer Group

**Slug:** `SQUARE_CREATE_CUSTOMER_GROUP`

Tool to create a new customer group for a business. Use when you need to organize customers into groups for targeted marketing or segmentation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group` | object | Yes | The customer group object containing the name and other properties. |
| `idempotency_key` | string | No | A unique identifier for this request to ensure idempotent behavior. If the same idempotency key is reused, Square returns the cached response from the original request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Dispute Evidence File

**Slug:** `SQUARE_CREATE_DISPUTE_EVIDENCE_FILE`

Tool to upload a file as dispute evidence. Use when you need to attach supporting documents (PDF, image, etc.) to an existing dispute. Use after creating or retrieving a dispute.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | The file to upload as dispute evidence (max 5 MB). |
| `dispute_id` | string | Yes | The ID of the dispute to upload evidence for. |
| `content_type` | string | No | Optional MIME type of the uploaded file. Must be one of image/heic, image/heif, image/jpeg, application/pdf, image/png, image/tiff. |
| `evidence_type` | string | No | Optional type of evidence. Allowed values include GENERIC_EVIDENCE, ONLINE_OR_APP_ACCESS_LOG, AUTHORIZATION_DOCUMENTATION, CANCELLATION_OR_REFUND_DOCUMENTATION, CARDHOLDER_COMMUNICATION, CARDHOLDER_INFORMATION, PURCHASE_ACKNOWLEDGEMENT, DUPLICATE_CHARGE_DOCUMENTATION, PRODUCT_OR_SERVICE_DESCRIPTION, RECEIPT, SERVICE_RECEIVED_DOCUMENTATION, PROOF_OF_DELIVERY_DOCUMENTATION, RELATED_TRANSACTION_DOCUMENTATION, REBUTTAL_EXPLANATION, TRACKING_NUMBER. |
| `idempotency_key` | string | Yes | A unique key for this upload to ensure idempotency (max 45 characters). |
| `inline_file_name` | string | No | Optional filename for inline file content. Defaults to the original filename. |
| `inline_file_mimetype` | string | No | Optional MIME type for inline file content. Defaults to the FileUploadable mimetype or application/octet-stream. |
| `inline_file_content_base64` | string | No | Optional base64-encoded file content. When provided, the file will be uploaded from this inline content instead of fetching from FileUploadable storage. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Dispute Evidence Text

**Slug:** `SQUARE_CREATE_DISPUTE_EVIDENCE_TEXT`

Upload text evidence for a dispute challenge. Use this to submit textual information (up to 500 characters) that supports your case in a payment dispute. After uploading all evidence, you must call SubmitEvidence to finalize the dispute challenge. Endpoint: POST /v2/disputes/{dispute_id}/evidence-text

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The ID of the dispute to upload text evidence for. |
| `evidence_text` | string | Yes | The text string to upload as evidence (max 500 characters). |
| `evidence_type` | string | No | Optional type of evidence. If not provided, defaults to GENERIC_EVIDENCE. Allowed values: GENERIC_EVIDENCE, ONLINE_OR_APP_ACCESS_LOG, AUTHORIZATION_DOCUMENTATION, CANCELLATION_OR_REFUND_DOCUMENTATION, CARDHOLDER_COMMUNICATION, CARDHOLDER_INFORMATION, PURCHASE_ACKNOWLEDGEMENT, DUPLICATE_CHARGE_DOCUMENTATION, PRODUCT_OR_SERVICE_DESCRIPTION, RECEIPT, SERVICE_RECEIVED_DOCUMENTATION, PROOF_OF_DELIVERY_DOCUMENTATION, RELATED_TRANSACTION_DOCUMENTATION, REBUTTAL_EXPLANATION, TRACKING_NUMBER. |
| `idempotency_key` | string | Yes | A unique key identifying the request (max 45 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Invoice Attachment

**Slug:** `SQUARE_CREATE_INVOICE_ATTACHMENT`

Upload and attach a file to a Square invoice. Use this action to add supplementary documents (receipts, contracts, supporting documentation) to an existing invoice. Attachments can only be added to invoices in DRAFT, SCHEDULED, UNPAID, or PARTIALLY_PAID state. Square supports up to 10 attachments per invoice with a combined maximum size of 25 MB in production (1 KB in Sandbox). Supported file formats: GIF, JPEG, PNG, TIFF, BMP, PDF. Creating an attachment increments the invoice version and triggers an invoice.updated webhook event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File to upload and attach to the invoice. Supported formats: GIF, JPEG, PNG, TIFF, BMP, or PDF. |
| `invoice_id` | string | Yes | The ID of the invoice to attach the file to. The invoice must be in DRAFT, SCHEDULED, UNPAID, or PARTIALLY_PAID state. |
| `description` | string | No | Description text for the attachment that will be displayed on the invoice. Maximum 128 characters. |
| `idempotency_key` | string | No | A unique string to ensure idempotency for this request. Prevents duplicate attachments if the same request is sent multiple times. Maximum 128 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Location

**Slug:** `SQUARE_CREATE_LOCATION`

Tool to create a new business location in a Square account. Use when you need to add a new physical or mobile location for the merchant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | object | Yes | Details of the location to create. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Location Custom Attribute Definition

**Slug:** `SQUARE_CREATE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to create a location-related custom attribute definition. Use when you need to define new custom attributes for Square location objects to store additional business-specific data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `idempotency_key` | string | No | Unique string ensuring idempotency for safe request retry (maximum 45 characters). |
| `custom_attribute_definition` | object | Yes | The custom attribute definition to create for locations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer

**Slug:** `SQUARE_DELETE_CUSTOMER`

Tool to delete a Square customer profile. Use when you need to permanently remove a customer record from Square.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | No | The current version of the customer profile. As a best practice, you should include this parameter to enable optimistic concurrency control. For more information, see Delete a customer profile documentation. |
| `customer_id` | string | Yes | The ID of the customer to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer Custom Attribute

**Slug:** `SQUARE_DELETE_CUSTOMER_CUSTOM_ATTRIBUTE`

Tool to delete a custom attribute from a customer profile. Use when you need to remove custom data associated with a specific customer. Requires the CUSTOMERS_WRITE OAuth permission scope.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to delete. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key. |
| `customer_id` | string | Yes | The ID of the target customer profile. You can obtain this from listing customers or from a specific customer retrieval. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer Custom Attribute Definition

**Slug:** `SQUARE_DELETE_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to delete a customer-related custom attribute definition. Use when you need to remove a custom attribute definition that is no longer needed. This action requires CUSTOMERS_WRITE permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Customer Group

**Slug:** `SQUARE_DELETE_CUSTOMER_GROUP`

Tool to delete a customer group by its ID. Use when you need to permanently remove a customer group from Square.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The ID of the customer group to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Delete Customers

**Slug:** `SQUARE_DELETE_CUSTOMERS_BULK`

Tool to bulk delete customer profiles from Square. Use when you need to delete multiple customer profiles at once (1-100 customers per request). Each successful deletion returns an empty object; failed deletions include error details. Note that delete events trigger separate webhook notifications per customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_ids` | array | Yes | An array containing the IDs of the customer profiles to delete. Minimum 1 and maximum 100 customer IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Dispute Evidence

**Slug:** `SQUARE_DELETE_DISPUTE_EVIDENCE`

Removes a specific piece of evidence from a dispute. Evidence that is removed will NOT be sent to the bank. This action requires the DISPUTES_WRITE permission scope. Important: You CANNOT remove evidence after it has been submitted to the bank using the SubmitEvidence endpoint. The deletion is permanent and cannot be undone. Use this when: - You need to remove evidence that was uploaded by mistake - You want to replace evidence with a better version (delete old, upload new) - The evidence is no longer relevant to the dispute case Prerequisites: - A valid dispute_id (obtain from list/retrieve disputes) - A valid evidence_id (obtain from list evidence or create evidence response) - The evidence must not have been submitted to the bank yet

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The unique ID of the dispute from which to remove evidence. You can obtain this from listing disputes or from a specific dispute retrieval. |
| `evidence_id` | string | Yes | The unique ID of the evidence item to delete. You can obtain this from the list dispute evidence endpoint or from the response when creating evidence. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Invoice

**Slug:** `SQUARE_DELETE_INVOICE`

Tool to delete a Square invoice (only DRAFT invoices can be deleted).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `version` | integer | No | The version of the invoice to delete. If you do not know the version, retrieve the invoice first via Get Invoice or List Invoices. |
| `invoice_id` | string | Yes | The ID of the invoice to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Invoice Attachment

**Slug:** `SQUARE_DELETE_INVOICE_ATTACHMENT`

Tool to delete an attachment from a Square invoice. Endpoint: DELETE /v2/invoices/{invoice_id}/attachments/{attachment_id}

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The ID of the invoice to delete the attachment from. |
| `attachment_id` | string | Yes | The ID of the attachment to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Location Custom Attribute

**Slug:** `SQUARE_DELETE_LOCATION_CUSTOM_ATTRIBUTE`

Tool to delete a custom attribute from a location. Use when you need to remove custom data associated with a specific business location. Requires the MERCHANT_PROFILE_WRITE OAuth permission scope.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to delete. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key. |
| `location_id` | string | Yes | The ID of the target location. You can obtain this from the List Locations endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Location Custom Attribute Definition

**Slug:** `SQUARE_DELETE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to delete a location-related custom attribute definition. Once deleted, the custom attribute definition cannot be used to add custom attributes to locations. Use when you need to remove obsolete or incorrect custom attribute definitions from your Square account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Locations Custom Attributes (Batch)

**Slug:** `SQUARE_DELETE_LOCATIONS_CUSTOM_ATTRIBUTES_BATCH`

Tool to delete custom attributes from multiple locations in a single batch request. Use when you need to remove custom metadata from multiple business locations efficiently. To delete custom attributes owned by other applications, the attribute's visibility must be set to VISIBILITY_READ_WRITE_VALUES.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | object | Yes | A map of unique identifiers to delete request objects. Each key is a unique identifier for mapping the request to the response. Each value contains location_id and key fields for the custom attribute to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Merchant Custom Attribute

**Slug:** `SQUARE_DELETE_MERCHANT_CUSTOM_ATTRIBUTE`

Tool to delete a custom attribute from a merchant profile. Use when you need to remove custom data associated with a specific merchant. Requires the MERCHANT_PROFILE_WRITE OAuth permission scope.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to delete. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key. |
| `merchant_id` | string | Yes | The ID of the target merchant. You can obtain this from the List Merchants endpoint or from your Square dashboard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Merchant Custom Attribute Definition

**Slug:** `SQUARE_DELETE_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to delete a merchant-related custom attribute definition. Once deleted, the custom attribute definition cannot be used to add custom attributes to merchants. Use when you need to remove obsolete or incorrect custom attribute definitions from your Square account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Merchants Custom Attributes (Batch)

**Slug:** `SQUARE_DELETE_MERCHANTS_CUSTOM_ATTRIBUTES_BATCH`

Tool to delete custom attributes from multiple merchants in a single batch request. Use when you need to remove custom metadata from merchant profiles efficiently. To delete custom attributes owned by other applications, the attribute's visibility must be set to VISIBILITY_READ_WRITE_VALUES.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | object | Yes | A map of unique identifiers to delete request objects. Each key is a unique identifier for mapping the request to the response. Each value contains merchant_id and key fields for the custom attribute to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook Subscription

**Slug:** `SQUARE_DELETE_WEBHOOK_SUBSCRIPTION`

Permanently deletes a webhook subscription by its ID. Once deleted, the subscription will no longer receive event notifications. This action cannot be undone. Note: Webhook subscriptions are application-level resources and require personal access token authentication (not OAuth tokens).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | string | Yes | ID of the webhook subscription to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Business Booking Profile

**Slug:** `SQUARE_GET_BUSINESS_BOOKING_PROFILE`

Tool to retrieve the business booking profile for a Square merchant via GraphQL. Use when you need to check if bookings are enabled, view cancellation policies, or access booking configuration settings. This is an alpha feature.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `merchant_ids` | array | Yes | List of merchant IDs to query booking profiles for. Use the merchant ID from your Square account (e.g., 'MLBN7K732KMAD'). At least one merchant ID is required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current Merchant

**Slug:** `SQUARE_GET_CURRENT_MERCHANT`

Tool to retrieve merchant information associated with the access token using Square's GraphQL API. Use when you need to obtain the merchant ID required for other GraphQL queries, or to get merchant details like business name, status, currency, and main location.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Customer Custom Attribute

**Slug:** `SQUARE_GET_CUSTOMER_CUSTOM_ATTRIBUTE`

Retrieves a custom attribute from a customer profile in Square. Use this when you need to access specific custom data associated with a customer, such as preferences, external IDs, or other merchant-defined information. Requires CUSTOMERS_READ permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to retrieve. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key. |
| `version` | integer | No | The current version of the custom attribute, which is used for strongly consistent reads to guarantee that you receive the most up-to-date data. When included in the request, Square returns the specified version or a higher version if one exists. If the specified version is higher than the current version, Square returns a BAD_REQUEST error. |
| `customer_id` | string | Yes | The ID of the target customer profile. This is the unique Square-assigned ID that identifies the customer. |
| `with_definition` | boolean | No | Indicates whether to return the custom attribute definition in the definition field of the custom attribute. Set this parameter to true to get the name and description of the custom attribute, information about the data type, or other definition details. The default value is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Customer Custom Attribute Definition

**Slug:** `SQUARE_GET_CUSTOMERS_CUSTOM_ATTRIBUTE_DEFINITIONS`

Tool to retrieve a customer-related custom attribute definition from Square. Use when you need to fetch the schema, visibility, or metadata of a specific custom attribute definition by its key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to retrieve. If the requesting application is not the definition owner, you must use the qualified key. |
| `version` | integer | No | The current version of the custom attribute definition, which is used for strongly consistent reads to guarantee that you receive the most up-to-date data. When included in the request, Square returns the specified version or a higher version if one exists. If the specified version is higher than the current version, Square returns a BAD_REQUEST error. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Customers via GraphQL

**Slug:** `SQUARE_GET_CUSTOMERS_GRAPHQL`

Tool to retrieve customer profiles from Square Customer Directory using GraphQL API. Use when you need to fetch customer information including name, contact details, and profile data for a specific merchant. Requires merchant ID filter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of customer records to return in a single request (1-100). If not specified, the API default applies. |
| `merchant_id` | string | Yes | The merchant ID to filter customers. Required to retrieve customers from the Customer Directory. This is the Square location or business identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Dispute Evidence

**Slug:** `SQUARE_GET_DISPUTE_EVIDENCE`

Retrieves detailed information about a specific piece of evidence that was uploaded for a dispute. Use this action to: - Get metadata about evidence (file details, upload time, evidence type) - Verify evidence was uploaded successfully - Review evidence details before submitting a dispute response Note: This returns metadata only, not the actual file content. To upload evidence, use the Create Dispute Evidence File or Create Dispute Evidence Text actions. Endpoint: GET /v2/disputes/{dispute_id}/evidence/{evidence_id}

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The ID of the dispute for which to retrieve evidence. You can obtain dispute IDs by listing disputes or from dispute webhooks. |
| `evidence_id` | string | Yes | The ID of the specific evidence item to retrieve. You can obtain evidence IDs by listing evidence for a dispute or from the response when creating evidence. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoice

**Slug:** `SQUARE_GET_INVOICE`

Retrieves detailed information about a specific Square invoice by its ID. Returns the complete invoice object including payment requests, recipient details, accepted payment methods, custom fields, attachments, and current status. Use this when you need to view or verify invoice details for a known invoice ID. Required permission: INVOICES_READ

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | The Square-assigned ID of the invoice to retrieve. Format: 'inv:0-' followed by an alphanumeric string. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Merchant

**Slug:** `SQUARE_GET_MERCHANT`

Tool to retrieve detailed information about a specific Square merchant by ID. Use when you need to fetch merchant profile data including business name, country, currency, and main location ID. Use 'me' as the merchant_id to retrieve the currently authenticated merchant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `merchant_id` | string | Yes | The ID of the merchant to retrieve. Use 'me' to retrieve the merchant that is currently accessible to this call. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Online Checkout Location Settings

**Slug:** `SQUARE_GET_ONLINE_CHECKOUT_LOCATION_SETTINGS`

Tool to retrieve location-level settings for Square online checkout. Use when you need to get checkout configuration including customer notes, policies, branding, and tipping options for a specific location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The ID of the location for which to retrieve online checkout settings. This is the unique Square-generated identifier for the location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Channels

**Slug:** `SQUARE_LIST_CHANNELS`

Tool to list requested channels from Square. Use when you need to retrieve channel information for a specific reference type, reference ID, or status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return. When not provided the returned results will be capped at 100 channels. |
| `cursor` | string | No | Cursor to fetch the next result. Pagination cursor returned by a previous call to this endpoint. |
| `status` | string | No | Status of channel. Filter channels by their status (e.g., ACTIVE, INACTIVE). |
| `reference_id` | string | No | ID of reference associated to channel. Filter channels by the reference ID. |
| `reference_type` | string | No | Type of reference associated to channel. Filter channels by the reference type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customer Custom Attribute Definitions

**Slug:** `SQUARE_LIST_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITIONS`

Tool to list customer-related custom attribute definitions from Square. Use when you need to discover available custom attributes that can be attached to customer profiles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. For more information, see Pagination. |
| `cursor` | string | No | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see Pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customer Custom Attribute Definitions (GraphQL)

**Slug:** `SQUARE_LIST_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITIONS_GRAPH_QL`

Tool to retrieve customer custom attribute definitions via Square's GraphQL API. Use when you need to discover available custom attributes and their metadata for customer profiles. Alpha feature.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `merchant_ids` | array | Yes | List of merchant IDs to filter custom attribute definitions. Only definitions associated with these merchant IDs will be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customer Custom Attributes

**Slug:** `SQUARE_LIST_CUSTOMER_CUSTOM_ATTRIBUTES`

Tool to list custom attributes for a customer profile. Use when you need to retrieve all custom data associated with a specific customer, including optional definitions that provide metadata about each attribute.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. |
| `cursor` | string | No | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. |
| `customer_id` | string | Yes | The ID of the target customer profile. You can obtain this from listing customers or from a specific customer retrieval. |
| `with_definitions` | boolean | No | Indicates whether to return the custom attribute definition in the definition field of each custom attribute. Set this parameter to true to get the name and description of each custom attribute, information about the data type, or other definition details. The default value is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customer Groups

**Slug:** `SQUARE_LIST_CUSTOMER_GROUPS`

Tool to retrieve the list of customer groups of a business. Use when you need to discover customer group IDs or list all customer groups for segmentation and targeting purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single page. This limit is advisory. The response might contain more or fewer results. If 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. |
| `cursor` | string | No | A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for your original query. For more information, see Pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customers

**Slug:** `SQUARE_LIST_CUSTOMERS`

Tool to retrieve customer profiles associated with a Square account. Use when you need to list customers for CRM, reporting, or customer management purposes. Only returns profiles with public information (given_name, family_name, company_name, email_address, or phone_number).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | boolean | No | Indicates whether to return the total count of customers in the count field of the response. The default value is false. |
| `limit` | integer | No | The maximum number of results to return in a single page (1-100). If 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. |
| `cursor` | string | No | A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for your original query. |
| `sort_field` | string ("DEFAULT" | "CREATED_AT") | No | Enum for customer sort field options. |
| `sort_order` | string ("ASC" | "DESC") | No | Enum for sort order options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Customer Segments

**Slug:** `SQUARE_LIST_CUSTOMER_SEGMENTS`

Tool to retrieve the list of customer segments of a business. Use when you need to discover customer segment IDs for targeting or filtering customer groups in Square.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single page. This limit is advisory. The response might contain more or fewer results. If 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. For more information, see Pagination (https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination). |
| `cursor` | string | No | A pagination cursor returned by previous calls to ListCustomerSegments. This cursor is used to retrieve the next set of query results. For more information, see Pagination (https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Dispute Evidence

**Slug:** `SQUARE_LIST_DISPUTE_EVIDENCE`

Tool to list evidence items associated with a given dispute. Endpoint: GET /v2/disputes/{dispute_id}/evidence

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results. |
| `dispute_id` | string | Yes | ID of the dispute to list evidence for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Invoices

**Slug:** `SQUARE_LIST_INVOICES`

Tool to list invoices for a Square location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of invoices to return (1-200). Defaults to Square's default if unset. |
| `cursor` | string | No | Pagination cursor from a previous ListInvoices call; use to fetch the next page. |
| `location_id` | string | Yes | The Square location ID for which to list invoices. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Location Custom Attribute Definitions

**Slug:** `SQUARE_LIST_LOCATION_CUSTOM_ATTRIBUTE_DEFINITIONS`

Tool to list location-related custom attribute definitions from Square. Use when you need to discover available custom attributes that can be attached to location profiles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. For more information, see Pagination. |
| `cursor` | string | No | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see Pagination. |
| `visibilityFilter` | string | No | Filters the CustomAttributeDefinition results by their visibility values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Locations

**Slug:** `SQUARE_LIST_LOCATIONS`

Tool to retrieve all business locations from a Square account. Use when you need to discover available location IDs for other Square API calls that require location_id parameter (like listing invoices or payments).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Locations Custom Attributes

**Slug:** `SQUARE_LIST_LOCATIONS_CUSTOM_ATTRIBUTES`

Tool to list custom attributes for a specific location in Square. Use when you need to retrieve all custom attribute values associated with a particular location.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. For more information, see Pagination. |
| `cursor` | string | No | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see Pagination. |
| `location_id` | string | Yes | The ID of the target location. This is the unique Square-assigned ID that identifies the location. |
| `with_definitions` | boolean | No | Indicates whether to return the custom attribute definition in the definition field of each custom attribute. Set this parameter to true to get the name and description of each custom attribute, information about the data type, or other definition details. The default value is false. |
| `visibility_filter` | string | No | Filters the CustomAttributeDefinition results by their visibility values. Possible values include VISIBILITY_READ_ONLY, VISIBILITY_READ_WRITE_VALUES, and VISIBILITY_HIDDEN. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Merchant Custom Attribute Definitions

**Slug:** `SQUARE_LIST_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITIONS`

Tool to list merchant-related custom attribute definitions from Square. Use when you need to discover available custom attributes that can be attached to merchant profiles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. For more information, see Pagination. |
| `cursor` | string | No | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see Pagination. |
| `visibility_filter` | string | No | Filters the `CustomAttributeDefinition` results by their `visibility` values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Merchants

**Slug:** `SQUARE_LIST_MERCHANTS`

Tool to retrieve merchant account information associated with the access token. Use when you need to get merchant profile details including business name, country, currency, and main location ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | integer | No | The cursor generated by the previous response. Provide this cursor to retrieve the next set of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Merchants Custom Attributes

**Slug:** `SQUARE_LIST_MERCHANTS_CUSTOM_ATTRIBUTES`

Tool to list custom attributes for a specific merchant in Square. Use when you need to retrieve all custom attribute values associated with a particular merchant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of results to return in a single paged response. This limit is advisory. The response might contain more or fewer results. The minimum value is 1 and the maximum value is 100. The default value is 20. For more information, see Pagination. |
| `cursor` | string | No | The cursor returned in the paged response from the previous call to this endpoint. Provide this cursor to retrieve the next page of results for your original request. For more information, see Pagination. |
| `merchant_id` | string | Yes | The ID of the target merchant. This is the unique Square-assigned ID that identifies the merchant. |
| `with_definitions` | boolean | No | Indicates whether to return the custom attribute definition in the definition field of each custom attribute. Set this parameter to true to get the name and description of each custom attribute, information about the data type, or other definition details. The default value is false. |
| `visibility_filter` | string | No | Filters the CustomAttributeDefinition results by their visibility values. Possible values include VISIBILITY_READ_ONLY, VISIBILITY_READ_WRITE_VALUES, and VISIBILITY_HIDDEN. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Payments

**Slug:** `SQUARE_LIST_PAYMENTS`

Tool to list payments by location and time range to enable reconciliation and net sales reporting from Square POS. Use when you need to retrieve payment records for reporting, analytics, or reconciliation purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of payments to return per page (1-100). Defaults to 100. |
| `total` | integer | No | Filter by exact amount in the smallest currency unit (e.g., cents for USD) in total_money for a payment. |
| `cursor` | string | No | Pagination cursor returned by a previous call to this endpoint. Use to fetch the next page of results. |
| `last_4` | string | No | Filter by the last four digits of a payment card. |
| `end_time` | string | No | Indicates the end of the time range to retrieve payments for, in RFC 3339 format (e.g., '2024-12-31T23:59:59Z'). Defaults to current time if not provided. |
| `begin_time` | string | No | Indicates the start of the time range to retrieve payments for, in RFC 3339 format (e.g., '2024-01-01T00:00:00Z'). Defaults to one year prior to current time if not provided. |
| `card_brand` | string | No | Filter by brand of the payment card (e.g., 'VISA', 'MASTERCARD', 'AMEX'). |
| `sort_field` | string | No | Field to use for sorting results (e.g., 'CREATED_AT'). Defaults to CREATED_AT. |
| `sort_order` | string | No | Sort direction for results: 'ASC' (oldest first) or 'DESC' (newest first). Defaults to DESC. |
| `location_id` | string | No | Limit results to the location supplied. If not provided, defaults to the main location. |
| `offline_end_time` | string | No | End of the time range for offline payments, in RFC 3339 format. |
| `is_offline_payment` | boolean | No | Whether the payment was taken offline or not. |
| `offline_begin_time` | string | No | Start of the time range for offline payments, in RFC 3339 format. |
| `updated_at_end_time` | string | No | End of the time range to retrieve payments for based on updated_at field, in RFC 3339 format. |
| `updated_at_begin_time` | string | No | Start of the time range to retrieve payments for based on updated_at field, in RFC 3339 format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhook Event Types

**Slug:** `SQUARE_LIST_WEBHOOK_EVENT_TYPES`

Tool to list available webhook event types. Use when you need to discover event types before creating or updating a webhook subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api_version` | string | No | Overrides the application default API version (YYYY-MM-DD) for listing event types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhook Subscriptions

**Slug:** `SQUARE_LIST_WEBHOOK_SUBSCRIPTIONS`

List all webhook subscriptions owned by your application. Returns webhook subscriptions with their event types, notification URLs, and status. Supports filtering by enabled/disabled status, sorting by creation date, and pagination for large result sets. Note: Webhook subscriptions are application-level resources and require personal access token authentication (not OAuth tokens).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of subscriptions to return (1-100). Defaults to Square's default if unset. |
| `cursor` | string | No | Pagination cursor from a previous call; use to fetch the next page. |
| `sort_order` | string | No | Sort order by creation time. Allowed values: 'ASC' or 'DESC'. |
| `include_disabled` | boolean | No | If true, include disabled subscriptions in the response. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Group From Customer

**Slug:** `SQUARE_REMOVE_GROUP_FROM_CUSTOMER`

Removes a customer from a customer group. Use this when you need to disassociate a customer from a specific group. Once removed, the customer will no longer be part of the group and won't receive group-specific benefits or targeting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The ID of the customer group to remove the customer from. |
| `customer_id` | string | Yes | The ID of the customer to remove from the group. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Bulk Customers

**Slug:** `SQUARE_RETRIEVE_BULK_CUSTOMERS`

Tool to retrieve multiple customer profiles in a single request. Use when you need to efficiently fetch up to 100 customer profiles by their IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_ids` | array | Yes | The IDs of the customer profiles to retrieve. Must contain between 1 and 100 customer IDs. Provide the Square-assigned unique identifiers for each customer you want to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Channel

**Slug:** `SQUARE_RETRIEVE_CHANNEL`

Retrieve a Square channel by its ID. Channels represent different distribution points for catalog content, including physical locations and online platforms. Use this to get detailed information about a specific channel, including its status, associated references, and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique Square-generated ID of the channel to retrieve. This is typically an alphanumeric string starting with 'CH_' (e.g., 'CH_6RMv8wKc6TGsx9yuIG1eIUxR2ZKkGBeBuirfYRlQuYC'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Retrieve Channels

**Slug:** `SQUARE_RETRIEVE_CHANNELS_BULK`

Tool to bulk retrieve multiple Square channels by their IDs in a single request. Use when you need to fetch specific channels by their unique identifiers rather than listing all channels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_ids` | array | Yes | Array of channel IDs to retrieve in bulk. Each ID uniquely identifies a channel to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Customer

**Slug:** `SQUARE_RETRIEVE_CUSTOMER`

Tool to retrieve detailed information about a specific Square customer by ID. Use when you need to fetch customer profile data including contact information, preferences, and group memberships.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_id` | string | Yes | The ID of the customer to retrieve. This is the unique Square-generated customer identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Customer Group

**Slug:** `SQUARE_RETRIEVE_CUSTOMER_GROUP`

Tool to retrieve a specific Square customer group by ID. Use when you need to fetch details about a customer group including its name and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group_id` | string | Yes | The ID of the customer group to retrieve. This is a unique Square-assigned identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Customer Segment

**Slug:** `SQUARE_RETRIEVE_CUSTOMER_SEGMENT`

Tool to retrieve a specific customer segment by its ID. Use when you need to get details about a customer segment including its name and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `segment_id` | string | Yes | The Square-issued ID of the customer segment to retrieve. This is a unique identifier for the segment (e.g., 'MLBN7K732KMAD.CARDS_ON_FILE'). You can obtain segment IDs from the List Customer Segments endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Dispute

**Slug:** `SQUARE_RETRIEVE_DISPUTE`

Tool to retrieve a Square dispute by ID. Endpoint: GET /v2/disputes/{dispute_id}

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | ID of the dispute to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Location

**Slug:** `SQUARE_RETRIEVE_LOCATION`

Tool to retrieve detailed information about a specific Square location by ID. Use when you need to get complete details about a specific location, including address, business hours, contact information, and capabilities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The ID of the location to retrieve. Specify the string 'main' to return the main location, or provide a specific location ID obtained from the List Locations endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Location Custom Attribute

**Slug:** `SQUARE_RETRIEVE_LOCATION_CUSTOM_ATTRIBUTE`

Retrieves a custom attribute associated with a location in Square. Use this when you need to access specific custom data associated with a location, such as metadata, external IDs, or other merchant-defined information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to retrieve. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key. |
| `version` | integer | No | The current version of the custom attribute, which is used for strongly consistent reads to guarantee that you receive the most up-to-date data. When included in the request, Square returns the specified version or a higher version if one exists. If the specified version is higher than the current version, Square returns a BAD_REQUEST error. |
| `location_id` | string | Yes | The ID of the target location. You can obtain this from the List Locations endpoint. |
| `with_definition` | boolean | No | Indicates whether to return the custom attribute definition in the definition field of the custom attribute. Set this parameter to true to get the name and description of the custom attribute, information about the data type, or other definition details. The default value is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Location Custom Attribute Definition

**Slug:** `SQUARE_RETRIEVE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to retrieve a location-related custom attribute definition. Use when you need to get the schema, visibility, and metadata for a custom attribute associated with locations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to retrieve. If the requesting application is not the definition owner, you must use the qualified key. |
| `version` | integer | No | The current version of the custom attribute definition, which is used for strongly consistent reads to guarantee that you receive the most up-to-date data. When included in the request, Square returns the specified version or a higher version if one exists. If the specified version is higher than the current version, Square returns a BAD_REQUEST error. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Merchant Custom Attribute

**Slug:** `SQUARE_RETRIEVE_MERCHANT_CUSTOM_ATTRIBUTE`

Retrieves a custom attribute associated with a merchant in Square. Use this when you need to access specific custom data associated with a merchant, such as metadata, external IDs, or other merchant-defined information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to retrieve. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key. |
| `version` | integer | No | The current version of the custom attribute, which is used for strongly consistent reads to guarantee that you receive the most up-to-date data. When included in the request, Square returns the specified version or a higher version if one exists. If the specified version is higher than the current version, Square returns a BAD_REQUEST error. |
| `merchant_id` | string | Yes | The ID of the target merchant. This is the unique Square-assigned ID that identifies the merchant. |
| `with_definition` | boolean | No | Indicates whether to return the custom attribute definition in the definition field of the custom attribute. Set this parameter to true to get the name and description of the custom attribute, information about the data type, or other definition details. The default value is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Merchant Custom Attribute Definition

**Slug:** `SQUARE_RETRIEVE_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to retrieve a merchant-related custom attribute definition from Square. Use when you need to fetch the schema, visibility, or metadata of a specific custom attribute definition by its key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to retrieve. If the requesting application is not the definition owner, you must use the qualified key. |
| `version` | integer | No | The current version of the custom attribute definition, which is used for strongly consistent reads to guarantee that you receive the most up-to-date data. When included in the request, Square returns the specified version or a higher version if one exists. If the specified version is higher than the current version, Square returns a BAD_REQUEST error. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Merchants

**Slug:** `SQUARE_RETRIEVE_MERCHANTS`

Tool to retrieve merchant information including status, main location details, and capabilities using Square's GraphQL API. Use when you need to fetch merchant profile data for specific merchant IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `merchant_ids` | array | Yes | List of merchant IDs to retrieve information for. Each ID must be a valid Square merchant identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Order

**Slug:** `SQUARE_RETRIEVE_ORDER`

Retrieves detailed information about a specific Square order by its ID. Use this tool when you need to: - Fetch complete details of an order including line items, pricing, taxes, and discounts - Check order status and fulfillment information - View payment tenders and refunds associated with an order - Access order metadata and timestamps Requires: ORDERS_READ permission scope.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | The unique Square-generated ID of the order to retrieve. This is typically a long alphanumeric string (e.g., 'CAISENgvlJ6jLWAzERDzjyHVybY'). You can obtain order IDs from the Search Orders endpoint or from webhook notifications. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Payment Link

**Slug:** `SQUARE_RETRIEVE_PAYMENT_LINK`

Retrieves a Square-hosted payment link by ID. Returns complete payment link details including the checkout URL, associated order ID, checkout options, pre-populated buyer data, and creation timestamps. Requires ORDERS_READ permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The Square-assigned ID of the payment link to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Token Status

**Slug:** `SQUARE_RETRIEVE_TOKEN_STATUS`

Tool to retrieve information about an OAuth access token or personal access token. Use when you need to verify token validity, check token expiration, inspect authorized scopes, or validate merchant association before making API calls.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve Webhook Subscription

**Slug:** `SQUARE_RETRIEVE_WEBHOOK_SUBSCRIPTION`

Retrieve a Square webhook subscription by its ID. Returns subscription details including name, enabled status, event types, notification URL, and signature key. Note: Requires personal access token authentication with DEVELOPER_APPLICATION_WEBHOOKS_READ scope (OAuth tokens are not supported for webhook subscriptions).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscription_id` | string | Yes | ID of the webhook subscription to retrieve. Square webhook subscription IDs typically start with 'wbhk_'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Customers

**Slug:** `SQUARE_SEARCH_CUSTOMERS`

Tool to search customer profiles in Square Customer Directory. Use when you need to find customers by email, phone, creation date, or other filters. Returns paginated results with optional total count.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | boolean | No | Whether to return the total count of matching customers in the response. Default: false. |
| `limit` | integer | No | Maximum number of results to return per page (1-100). Default: 100. |
| `query` | object | No | Query parameters for filtering and sorting customers. |
| `cursor` | string | No | Pagination cursor returned by a previous call. Use to retrieve the next set of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Orders

**Slug:** `SQUARE_SEARCH_ORDERS`

Tool to search orders across one or more Square locations with filters. Use when you need to find orders within a date range, by state, by customer, or other criteria. This is the primary way Square exposes 'list orders for a date range' functionality.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return per page. Default: 500, Maximum: 1000. |
| `query` | object | No | Query parameters for filtering and sorting orders. |
| `cursor` | string | No | A pagination cursor returned by a previous call to this endpoint. Provide this cursor to retrieve the next set of results for your original query. |
| `location_ids` | array | Yes | The location IDs for the orders to query. All locations must belong to the same merchant. Maximum: 10 location IDs. |
| `return_entries` | boolean | No | Controls the format of the search results. If true, returns OrderEntry objects (lightweight with just order_id, location_id, version). If false, returns complete Order objects with full details. Default: false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Submit Dispute Evidence

**Slug:** `SQUARE_SUBMIT_DISPUTE_EVIDENCE`

Submits evidence for a dispute to the cardholder's bank. IMPORTANT: You must upload evidence FIRST using CreateDisputeEvidenceText or CreateDisputeEvidenceFile before calling this endpoint. Once evidence is submitted, it cannot be modified or removed. The dispute state will change to PROCESSING after successful submission. Use this when: (1) You have uploaded all evidence files/text, (2) The dispute is in EVIDENCE_REQUIRED state, and (3) You are ready to finalize and send evidence to the bank before the due date.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dispute_id` | string | Yes | The ID of the dispute to submit evidence for. Get this from ListDisputes or RetrieveDispute endpoints. Must be a dispute in EVIDENCE_REQUIRED or INQUIRY_EVIDENCE_REQUIRED state. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Test Webhook Subscription

**Slug:** `SQUARE_TEST_WEBHOOK_SUBSCRIPTION`

Tests a webhook subscription by sending a test event to the configured notification URL. Use this to verify that your webhook endpoint is correctly receiving and processing Square events. The response includes the HTTP status code returned by your endpoint and the test payload that was sent. Useful after creating or updating a subscription to confirm proper integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_type` | string | No | The event type to use for testing (e.g., 'payment.created', 'order.updated'). Must match one of the subscription's configured event_types. If omitted, Square uses the first event type from the subscription's event_types list. |
| `subscription_id` | string | Yes | The ID of the webhook subscription to test. Obtain this from the List Webhook Subscriptions or Create Webhook Subscription endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Customer

**Slug:** `SQUARE_UPDATE_CUSTOMER`

Tool to update an existing Square customer profile. Use when you need to modify customer details like name, email, address, or phone number. Supports sparse updates: only include fields you want to change, null values will remove fields. Include the version field for optimistic concurrency control.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | No | A custom note associated with the customer profile. |
| `address` | object | No | Physical address with sparse update support. |
| `tax_ids` | object | No | Tax ID for EU/UK sellers only. |
| `version` | integer | No | Current customer profile version for optimistic concurrency control. Get this from a previous retrieve/search customer call. |
| `birthday` | string | No | Birthday in date format: YYYY-MM-DD or MM-DD. |
| `nickname` | string | No | A nickname for the customer profile. Max 100 characters. |
| `given_name` | string | No | The given name (first name) associated with the customer profile. Max 300 characters. |
| `customer_id` | string | Yes | The ID of the customer to update. |
| `family_name` | string | No | The family name (last name) associated with the customer profile. Max 300 characters. |
| `company_name` | string | No | A business name associated with the customer profile. Max 500 characters. |
| `phone_number` | string | No | Phone number requiring 9-16 digits, optional + prefix, and country code. |
| `reference_id` | string | No | An optional second ID used to associate the customer profile with an entity in another system. Max 100 characters. |
| `email_address` | string | No | The email address associated with the customer profile. Max 254 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Customer Custom Attribute Definition

**Slug:** `SQUARE_UPDATE_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to update a customer-related custom attribute definition in Square. Use when you need to modify the name, description, visibility, or schema of an existing custom attribute definition. Supports sparse updates: only include fields you want to change. Use the version parameter for optimistic concurrency control to prevent conflicting updates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to update. |
| `name` | string | No | Updated display name for the custom attribute definition. |
| `schema` | object | No | Updated schema definition for the custom attribute. Required when the attribute type is Selection. Use JSON schema format to define allowed values and constraints. |
| `version` | integer | No | Current version number for optimistic concurrency control. When provided, the update only succeeds if this version matches the current version on the server. Retrieve the current version first using the retrieve or list endpoints. |
| `visibility` | string | No | Updated visibility setting for the custom attribute. Valid values: VISIBILITY_HIDDEN (only accessible by the owner), VISIBILITY_READ_ONLY (readable by others), VISIBILITY_READ_WRITE_VALUES (values readable/writable by others). |
| `description` | string | No | Updated description of the custom attribute definition. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Customer Group

**Slug:** `SQUARE_UPDATE_CUSTOMER_GROUP`

Tool to update a customer group's information by its ID. Use when you need to modify the name or other attributes of an existing customer group in Square.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `group` | object | Yes | The CustomerGroup object including all the updates you want to make. |
| `group_id` | string | Yes | The ID of the customer group to update. This is the unique identifier for the group that will be modified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update Customers

**Slug:** `SQUARE_UPDATE_CUSTOMERS_BULK`

Tool to update multiple customer profiles in a single batch operation. Use when you need to efficiently update 1-100 customer profiles at once. Each update request includes the customer ID as a key and the customer data to update as the value. Only modified fields need to be provided, and fields can be removed by setting them to null. Requires version number for optimistic concurrency control.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customers` | object | Yes | Map of customer IDs to BulkUpdateCustomerData objects. Each key is a customer profile ID to update, and each value contains the updated customer data. Supports 1-100 individual update requests. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Location

**Slug:** `SQUARE_UPDATE_LOCATION`

Tool to update an existing business location in a Square account. Use when you need to modify location details like name, description, address, business hours, contact information, or social media profiles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | object | Yes | The location object with only the fields to update. All fields are optional. |
| `location_id` | string | Yes | The ID of the location to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Location Custom Attribute Definition

**Slug:** `SQUARE_UPDATE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to update a location-related custom attribute definition in Square. Use when you need to modify the description, name, visibility, or schema of an existing location custom attribute definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to update. This is the unique identifier for the custom attribute definition. |
| `idempotency_key` | string | No | A unique identifier to ensure idempotent request handling. If you retry a request with the same idempotency key, Square returns the same response without re-executing the update. |
| `custom_attribute_definition` | object | Yes | The custom attribute definition fields to update. Only the provided fields will be updated; omitted fields remain unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Merchant Custom Attribute Definition

**Slug:** `SQUARE_UPDATE_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITION`

Tool to update a merchant-related custom attribute definition in Square. Use when you need to modify the description, name, visibility, or schema of an existing merchant custom attribute definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute definition to update. This is the unique identifier for the custom attribute definition. |
| `idempotency_key` | string | No | A unique identifier to ensure idempotent request handling. If you retry a request with the same idempotency key, Square returns the same response without re-executing the update. |
| `custom_attribute_definition` | object | Yes | The custom attribute definition fields to update. Only the provided fields will be updated; omitted fields remain unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Online Checkout Location Settings

**Slug:** `SQUARE_UPDATE_ONLINE_CHECKOUT_LOCATION_SETTINGS`

Tool to update location-level settings for Square online checkout. Use when you need to modify checkout configuration including customer notes, policies, branding, and tipping options for a specific location. Supports sparse updates: only include fields you want to change.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location_id` | string | Yes | The ID of the location for which to update online checkout settings. This is the unique Square-generated identifier for the location. |
| `location_settings` | object | Yes | The location settings to update. Only include the fields that you want to change. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Order

**Slug:** `SQUARE_UPDATE_ORDER`

Updates an existing Square order by adding, modifying, or removing fields. Use for OPEN or DRAFT orders only (COMPLETED/CANCELED orders cannot be updated). Requires the current order version number for optimistic concurrency control - get this from retrieve/search order first. Supports sparse updates: only include fields you want to change. To remove fields, use fields_to_clear array with dot notation paths. Common use cases: adding line items, updating quantities, applying discounts/taxes, modifying fulfillment details, updating metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order` | object | No | Partial Order object with fields to add/update. Use 'sparse' requests by including only changed fields. REQUIRED field: 'version' (integer) - current order version for optimistic concurrency control. Common fields: 'location_id', 'line_items', 'taxes', 'discounts', 'service_charges', 'fulfillments', 'metadata'. Example: {'version': 1, 'line_items': [...]} to update line items on version 1 of the order. |
| `order_id` | string | Yes | ID of the order to update. |
| `fields_to_clear` | array | No | List of dot-notation paths of fields to clear/delete in the order, e.g., ['line_items[uid].note']. Only used when removing fields. |
| `idempotency_key` | string | No | A unique key to ensure idempotency. Generate a new key per update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook Subscription

**Slug:** `SQUARE_UPDATE_WEBHOOK_SUBSCRIPTION`

Tool to update a Square webhook subscription. Use when you need to modify subscription settings such as name, enabled state, event types, notification URL, or API version of an existing webhook subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New display name for the subscription (max 64 characters). |
| `enabled` | boolean | No | Whether the subscription should be active. |
| `api_version` | string | No | Webhook API version to use for this subscription, e.g., '2021-06-16'. |
| `event_types` | array | No | List of event types to subscribe to, e.g., ['payment.created']. |
| `subscription_id` | string | Yes | ID of the webhook subscription to update. |
| `notification_url` | string | No | Destination URL for webhook notifications. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook Subscription Signature Key

**Slug:** `SQUARE_UPDATE_WEBHOOK_SUBSCRIPTION_SIGNATURE_KEY`

Tool to rotate the signature key for a webhook subscription. Use when you need to replace the current signature key for security purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `idempotency_key` | string | No | A unique string to make this request idempotent. Max 45 characters. |
| `subscription_id` | string | Yes | The ID of the webhook subscription to rotate the signature key for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert Customer Custom Attribute

**Slug:** `SQUARE_UPSERT_CUSTOMER_CUSTOM_ATTRIBUTE`

Tool to create or update a custom attribute for a customer profile. Use when you need to store custom data on a customer record, such as preferences, loyalty tiers, or external system IDs. The custom attribute key must match an existing custom attribute definition in the Square account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to create or update. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key (e.g., 'app_id:attribute_key'). |
| `customer_id` | string | Yes | The ID of the target customer profile. You can retrieve customer IDs from the List Customers endpoint or when creating a customer. |
| `idempotency_key` | string | No | Optional unique identifier for this request to ensure idempotency. Use this to prevent duplicate requests from creating multiple custom attributes if the request is retried. |
| `custom_attribute` | object | Yes | The custom attribute object containing the value and optional version number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Upsert Customer Custom Attributes

**Slug:** `SQUARE_UPSERT_CUSTOMER_CUSTOM_ATTRIBUTES_BATCH`

Tool to create or update custom attributes for multiple customers in a single batch request. Use when you need to set custom data on customer profiles (e.g., preferences, loyalty tiers, tags). Supports 1 to 25 upsert operations per request. Before using this action, ensure the custom attribute definitions exist in your Square seller account. The custom attribute keys must match existing definitions. Use optimistic concurrency (version field) to prevent overwriting concurrent updates. Required permissions: CUSTOMERS_WRITE

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | object | Yes | A map of 1 to 25 individual upsert requests. Each key in the map is a unique identifier (request ID) that you define to track the request. The value is an object containing the customer_id and custom_attribute to upsert. Request IDs are case-sensitive and must be unique within the batch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert Location Custom Attribute

**Slug:** `SQUARE_UPSERT_LOCATION_CUSTOM_ATTRIBUTE`

Tool to create or update a custom attribute for a location. Use when you need to store custom data on a location record, such as capacity limits, special features, or external system IDs. The custom attribute key must match an existing custom attribute definition in the Square account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to create or update. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key (e.g., 'app_id:attribute_key'). |
| `location_id` | string | Yes | The ID of the target location. You can retrieve location IDs from the List Locations endpoint. |
| `idempotency_key` | string | No | Optional unique identifier for this request to ensure idempotency. Use this to prevent duplicate requests from creating multiple custom attributes if the request is retried. Maximum 45 characters. |
| `custom_attribute` | object | Yes | The custom attribute object containing the value and optional version number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Upsert Locations Custom Attributes

**Slug:** `SQUARE_UPSERT_LOCATIONS_CUSTOM_ATTRIBUTES_BATCH`

Tool to create or update custom attributes for multiple locations in a single batch request. Use when you need to set custom data on location records (e.g., store ratings, delivery zones, tags). Supports 1 to 25 upsert operations per request. Before using this action, ensure the custom attribute definitions exist in your Square seller account. The custom attribute keys must match existing definitions. Use optimistic concurrency (version field) to prevent overwriting concurrent updates. Required permissions: MERCHANT_PROFILE_WRITE

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | object | Yes | A map of 1 to 25 individual upsert requests. Each key in the map is a unique identifier (request ID) that you define to track the request. The value is an object containing the location_id and custom_attribute to upsert. Request IDs are case-sensitive and must be unique within the batch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert Merchant Custom Attribute

**Slug:** `SQUARE_UPSERT_MERCHANT_CUSTOM_ATTRIBUTE`

Tool to create or update a custom attribute for a merchant profile. Use when you need to store custom data on a merchant record, such as business notes, external system IDs, or configuration values. The custom attribute key must match an existing custom attribute definition in the Square account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The key of the custom attribute to create or update. This key must match the key of a custom attribute definition in the Square seller account. If the requesting application is not the definition owner, you must use the qualified key (e.g., 'app_id:attribute_key'). |
| `merchant_id` | string | Yes | The ID of the target merchant. You can obtain this from the List Merchants endpoint or from your Square dashboard. |
| `idempotency_key` | string | No | Optional unique identifier for this request to ensure idempotency. Use this to prevent duplicate requests from creating multiple custom attributes if the request is retried. Maximum 5 KB. |
| `custom_attribute` | object | Yes | The custom attribute object containing the value and optional version number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Upsert Merchants Custom Attributes

**Slug:** `SQUARE_UPSERT_MERCHANTS_CUSTOM_ATTRIBUTES_BATCH`

Tool to create or update custom attributes for multiple merchants in a single batch request. Use when you need to set custom data on merchant profiles (e.g., business types, establishment dates, merchant categories). Supports 1 to 25 upsert operations per request. Before using this action, ensure the custom attribute definitions exist in your Square seller account. The custom attribute keys must match existing definitions. Use optimistic concurrency (version field) to prevent overwriting concurrent updates. Required permissions: MERCHANT_PROFILE_WRITE

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `values` | object | Yes | A map of 1 to 25 individual upsert requests. Each key in the map is a unique identifier (request ID) that you define to track the request. The value is an object containing the merchant_id and custom_attribute to upsert. Request IDs are case-sensitive and must be unique within the batch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
