Skip to content

Square

PaymentsREST · square-rest-v2

Payments, point of sale and commerce APIs for sellers.

Overall score

75.0/100

square-rest-v2

Measured Oct 5, 2026

Status

Ranked

Complete benchmark. `overall` is a weighted average of the applicable criteria, comparable to other surfaces in the same category and the same rubric version.

Coverage

98% of the rubric

Surfaces
evaluated.

We score a surface, not a product. One product often exposes several, and they are not worth the same.

square-rest-v2restprimary

98% coverage

75.0/100

Criterion
by criterion.

Measured on square-rest-v2, rubric v0.2.0. A criterion with no score is not counted as zero: it is excluded and the weights are renormalised.

Offload Valuejudged · weight 15 · Oct 5, 2026

96/100

Square's API performs real-world irreversible side effects an agent cannot simulate: capturing card payments, issuing refunds, managing chargebacks/disputes, payouts to bank accounts, publishing invoices, terminal checkouts, and gift card/loyalty balance mutations. It also holds proprietary seller data (catalog, inventory, payouts, customer profiles) and handles PCI-sensitive card-on-file storage. None of this is approximable through inference.

Interaction Costmeasured · weight 15 · Oct 5, 2026

100/100

Median over 2 successful run(s): 11911.5 tokens, 3.5 calls. Ratio to the best in "payments" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.

Error Recoverabilityprobed · weight 15 · Oct 5, 2026

61/100

unknown_endpoint → HTTP 404, clarity 75/100 (field named: yes, allowed values: yes, RFC 9457: no) · wrong_type → HTTP 400, clarity 75/100 (field named: yes, allowed values: yes, RFC 9457: no) · hallucinated_enum → HTTP 400, clarity 75/100 (field named: yes, allowed values: yes, RFC 9457: no) · unknown_field → HTTP 200, clarity 30/100 (field named: no, allowed values: no, RFC 9457: no) · missing_required_param → HTTP 400, clarity 50/100 (field named: no, allowed values: yes, RFC 9457: no) · idempotency_replay → HTTP 200, clarity 30/100 (field named: no, allowed values: no, RFC 9457: no)

Doc Legibilitymeasured · weight 12 · Oct 5, 2026

17/100

text/markup ratio 5.4% (weight 30) · rendering without JavaScript undetermined (excluded from the calculation) (weight 25) · machine-readable spec: none found (weight 25) · llms.txt: https://developer.squareup.com/llms.txt (weight 10) · 0 runnable example(s) (weight 10). Weighted average over 75 points of available sub-criteria.

Auth Frictionmeasured · weight 10 · Oct 5, 2026

95/100

Authorization: Bearer <key>, verified by a successful call. One header, no ceremony.

Safety & Reversibilityprobed · weight 10 · Oct 5, 2026

100/100

Two identical POSTs with the same idempotency key in the body return the same resource (N6HGYAYF6PTARQERCT78ZEQ344). An agent can retry without risking a duplicate. (weight 35) · Isolated test environment available. (weight 25). Weighted average over 60 points of measured sub-criteria.

Payload Efficiencyprobed · weight 8 · Oct 5, 2026

5/100

No discoverable field selection (tested fields, select, _fields, expand, properties): the agent swallows the whole resource. (weight 35) · No cursor pagination marker in the response. (weight 20) · Nested envelope or non-list shape. (weight 10) · No ETag. (Compression is not measurable: the runtime decompresses it and strips the header.) (weight 10). Weighted average over 75 points of measured sub-criteria.

Task Atomicitymeasured · weight 6 · Oct 5, 2026

100/100

Median over 2 successful run(s): 11911.5 tokens, 3.5 calls. Ratio to the best in "payments" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.

Prior Knowledge Coveragemeasured · weight 5 · Oct 5, 2026

100/100

Median over 2 successful run(s): 11911.5 tokens, 3.5 calls. Ratio to the best in "payments" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.

Async Compatibilityprobed · weight 2 · Oct 5, 2026

100/100

POST /customers returns an identifier, and GET /customers/{id} reads it back (HTTP 200): the result can be retrieved by polling, with no server to host. Long-polling / SSE not probed, excluded from the weighting.

Tool-Native (MCP)binary · weight 2

—/100

Does the vendor publish an official, maintained MCP server?

Runs, verified
never on the agent’s word.

Every row is a real attempt at the category’s canonical task. Success is verified by reading the created resource back.

TaskTokensCallsErrorsDocsResult
charge-a-customer12,29340withoutverified
charge-a-customer11,08630withverified
charge-a-customer12,73740withverified