{"openapi":"3.1.0","info":{"title":"Square Program Config (BYOK) API","version":"0.1.0","description":"Square Program Config (BYOK) lets an AI assistant read your own Square Program Config data through the Square Program Config API with a key you supply (production access token (personal access token from your Square application)). Read-only: 9 tools (list_loyalty_programs, list_loyalty_promotions, list_payment_links, get_checkout_merchant_settings, get_checkout_location_settings,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-square-program-config.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-square-program-config/docs"},"termsOfService":"https://connectorbay.com/byok-square-program-config/terms"},"servers":[{"url":"https://byok-square-program-config.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-square-program-config/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_loyalty_programs":{"post":{"operationId":"list_loyalty_programs","summary":"Show the seller's loyalty program: status, locations, reward tiers, accrual rules and point expiration policy. Member ac","description":"Show the seller's loyalty program: status, locations, reward tiers, accrual rules and point expiration policy. Member accounts are not returned. Use for \"How does my Square loyalty program award and redeem points\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_loyalty_programsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_loyalty_promotions":{"post":{"operationId":"list_loyalty_promotions","summary":"List the promotions of a loyalty program (for example bonus points) with name, status, incentive, trigger limit and qual","description":"List the promotions of a loyalty program (for example bonus points) with name, status, incentive, trigger limit and qualifying items or categories. Up to 30 per page. Use for \"Which promotions are active in my Square loyalty program\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"program_id":{"description":"Loyalty program ID, or the keyword 'main' for the seller's program.","maxLength":200,"title":"Program Id","type":"string"},"status":{"anyOf":[{"enum":["ACTIVE","ENDED","CANCELED","SCHEDULED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only promotions with this status.","title":"Status"},"limit":{"anyOf":[{"maximum":30,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Promotions per page (1 to 30).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor returned as 'cursor' by the previous call; leave empty for the first page.","title":"Cursor"}},"required":["program_id"],"title":"list_loyalty_promotionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_payment_links":{"post":{"operationId":"list_payment_links","summary":"List Square online checkout payment links with description, order id, checkout options, short and long URLs and times. B","description":"List Square online checkout payment links with description, order id, checkout options, short and long URLs and times. Buyer pre-filled data is not returned. Use for \"Which Square payment links have I created\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Links per page (1 to 1000).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor returned as 'cursor' by the previous call; leave empty for the first page.","title":"Cursor"}},"title":"list_payment_linksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_checkout_merchant_settings":{"post":{"operationId":"get_checkout_merchant_settings","summary":"Show which payment methods (Apple Pay, Google Pay, Cash App Pay, Afterpay) are enabled for the seller's Square online ch","description":"Show which payment methods (Apple Pay, Google Pay, Cash App Pay, Afterpay) are enabled for the seller's Square online checkout. Use for \"Which payment methods are enabled on my Square online checkout\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_checkout_merchant_settingsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_checkout_location_settings":{"post":{"operationId":"get_checkout_location_settings","summary":"Show the Square online checkout settings of one location: customer notes, policies, branding, tipping and coupon options","description":"Show the Square online checkout settings of one location: customer notes, policies, branding, tipping and coupon options. Use for \"How is online checkout configured at my Square location LHJ2K9X\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"location_id":{"description":"Square location ID, for example LHJ2K9X.","maxLength":200,"title":"Location Id","type":"string"}},"required":["location_id"],"title":"get_checkout_location_settingsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_customer_groups":{"post":{"operationId":"list_customer_groups","summary":"List customer groups (names and ids only, not members) used to segment Square customers. Up to 50 per page. Use for \"Wha","description":"List customer groups (names and ids only, not members) used to segment Square customers. Up to 50 per page. Use for \"What customer groups exist in my Square account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Groups per page (1 to 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor returned as 'cursor' by the previous call; leave empty for the first page.","title":"Cursor"}},"title":"list_customer_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_customer_segments":{"post":{"operationId":"list_customer_segments","summary":"List customer segments (names and ids only, not members) such as Seller-defined or automatic segments. Up to 50 per page","description":"List customer segments (names and ids only, not members) such as Seller-defined or automatic segments. Up to 50 per page. Use for \"Which customer segments does my Square account have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Segments per page (1 to 50).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor returned as 'cursor' by the previous call; leave empty for the first page.","title":"Cursor"}},"title":"list_customer_segmentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_customer_attribute_definitions":{"post":{"operationId":"list_customer_attribute_definitions","summary":"List the custom attribute definitions for Square customer profiles: key, name, description, visibility and version (no c","description":"List the custom attribute definitions for Square customer profiles: key, name, description, visibility and version (no customer values). Use for \"What custom fields have I defined on Square customer profiles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Definitions per page (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor returned as 'cursor' by the previous call; leave empty for the first page.","title":"Cursor"}},"title":"list_customer_attribute_definitionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_webhook_event_types":{"post":{"operationId":"list_webhook_event_types","summary":"List the event types Square can send to webhook subscriptions with the API version that introduced each and its release ","description":"List the event types Square can send to webhook subscriptions with the API version that introduced each and its release status. Use for \"Which webhook event types does Square offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"api_version":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"API version to list event types for, for example 2026-09-16; defaults to the account's version.","title":"Api Version"}},"title":"list_webhook_event_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}