Maton

Square

Access the Square API with managed OAuth authentication. See the API Reference below for supported endpoints.

Reference

List Locations

GET /squareup/v2/locations

Get Location

GET /squareup/v2/locations/{location_id}

Create Location

POST /squareup/v2/locations
Content-Type: application/json

{
  "location": {
    "name": "New Location",
    "address": {
      "address_line_1": "123 Main St",
      "locality": "San Francisco",
      "administrative_district_level_1": "CA",
      "postal_code": "94102",
      "country": "US"
    }
  }
}

Update Location

PUT /squareup/v2/locations/{location_id}
Content-Type: application/json

{
  "location": {
    "name": "Updated Location Name"
  }
}

Get Merchant

GET /squareup/v2/merchants/me

List Merchants

GET /squareup/v2/merchants

List Payments

GET /squareup/v2/payments

With filters:

GET /squareup/v2/payments?location_id={location_id}&begin_time=2026-01-01T00:00:00Z&end_time=2026-02-01T00:00:00Z

Get Payment

GET /squareup/v2/payments/{payment_id}

Create Payment

POST /squareup/v2/payments
Content-Type: application/json

{
  "source_id": "cnon:card-nonce-ok",
  "idempotency_key": "unique-key-12345",
  "amount_money": {
    "amount": 1000,
    "currency": "USD"
  },
  "location_id": "{location_id}"
}

Update Payment

PUT /squareup/v2/payments/{payment_id}
Content-Type: application/json

{
  "payment": {
    "tip_money": {
      "amount": 200,
      "currency": "USD"
    }
  },
  "idempotency_key": "unique-key-67890"
}

Complete Payment

POST /squareup/v2/payments/{payment_id}/complete
Content-Type: application/json

{}

Cancel Payment

POST /squareup/v2/payments/{payment_id}/cancel
Content-Type: application/json

{}

List Refunds

GET /squareup/v2/refunds

Get Refund

GET /squareup/v2/refunds/{refund_id}

Create Refund

POST /squareup/v2/refunds
Content-Type: application/json

{
  "idempotency_key": "unique-refund-key",
  "payment_id": "{payment_id}",
  "amount_money": {
    "amount": 500,
    "currency": "USD"
  },
  "reason": "Customer requested refund"
}

List Customers

GET /squareup/v2/customers

Get Customer

GET /squareup/v2/customers/{customer_id}

Create Customer

POST /squareup/v2/customers
Content-Type: application/json

{
  "given_name": "John",
  "family_name": "Doe",
  "email_address": "john.doe@example.com",
  "phone_number": "+15551234567"
}

Update Customer

PUT /squareup/v2/customers/{customer_id}
Content-Type: application/json

{
  "email_address": "john.updated@example.com"
}

Delete Customer

DELETE /squareup/v2/customers/{customer_id}

Search Customers

POST /squareup/v2/customers/search
Content-Type: application/json

{
  "query": {
    "filter": {
      "email_address": {
        "exact": "john.doe@example.com"
      }
    }
  }
}

Create Order

POST /squareup/v2/orders
Content-Type: application/json

{
  "order": {
    "location_id": "{location_id}",
    "line_items": [
      {
        "name": "Item 1",
        "quantity": "1",
        "base_price_money": {
          "amount": 1000,
          "currency": "USD"
        }
      }
    ]
  },
  "idempotency_key": "unique-order-key"
}

Get Order

GET /squareup/v2/orders/{order_id}

Update Order

PUT /squareup/v2/orders/{order_id}
Content-Type: application/json

{
  "order": {
    "location_id": "{location_id}",
    "version": 1
  },
  "fields_to_clear": ["line_items"]
}

Search Orders

POST /squareup/v2/orders/search
Content-Type: application/json

{
  "location_ids": ["{location_id}"],
  "query": {
    "filter": {
      "state_filter": {
        "states": ["OPEN"]
      }
    }
  }
}

Batch Retrieve Orders

POST /squareup/v2/orders/batch-retrieve
Content-Type: application/json

{
  "location_id": "{location_id}",
  "order_ids": ["{order_id_1}", "{order_id_2}"]
}

Pay Order

POST /squareup/v2/orders/{order_id}/pay
Content-Type: application/json

{
  "idempotency_key": "unique-key",
  "payment_ids": ["{payment_id}"]
}

List Catalog

GET /squareup/v2/catalog/list

With type filter:

GET /squareup/v2/catalog/list?types=ITEM,CATEGORY

Get Catalog Object

GET /squareup/v2/catalog/object/{object_id}

Upsert Catalog Object

POST /squareup/v2/catalog/object
Content-Type: application/json

{
  "idempotency_key": "unique-catalog-key",
  "object": {
    "type": "ITEM",
    "id": "#new-item",
    "item_data": {
      "name": "Coffee",
      "description": "Hot brewed coffee",
      "variations": [
        {
          "type": "ITEM_VARIATION",
          "id": "#small-coffee",
          "item_variation_data": {
            "name": "Small",
            "pricing_type": "FIXED_PRICING",
            "price_money": {
              "amount": 300,
              "currency": "USD"
            }
          }
        }
      ]
    }
  }
}

Delete Catalog Object

DELETE /squareup/v2/catalog/object/{object_id}

Batch Upsert Catalog Objects

POST /squareup/v2/catalog/batch-upsert
Content-Type: application/json

{
  "idempotency_key": "unique-batch-key",
  "batches": [
    {
      "objects": [...]
    }
  ]
}

Search Catalog Objects

POST /squareup/v2/catalog/search
Content-Type: application/json

{
  "object_types": ["ITEM"],
  "query": {
    "text_query": {
      "keywords": ["coffee"]
    }
  }
}

Get Catalog Info

GET /squareup/v2/catalog/info

Retrieve Inventory Count

GET /squareup/v2/inventory/{catalog_object_id}

Batch Retrieve Inventory Counts

POST /squareup/v2/inventory/counts/batch-retrieve
Content-Type: application/json

{
  "catalog_object_ids": ["{object_id_1}", "{object_id_2}"],
  "location_ids": ["{location_id}"]
}

Batch Change Inventory

POST /squareup/v2/inventory/changes/batch-create
Content-Type: application/json

{
  "idempotency_key": "unique-inventory-key",
  "changes": [
    {
      "type": "ADJUSTMENT",
      "adjustment": {
        "catalog_object_id": "{object_id}",
        "location_id": "{location_id}",
        "quantity": "10",
        "from_state": "NONE",
        "to_state": "IN_STOCK"
      }
    }
  ]
}

Retrieve Inventory Adjustment

GET /squareup/v2/inventory/adjustments/{adjustment_id}

List Invoices

GET /squareup/v2/invoices?location_id={location_id}

Get Invoice

GET /squareup/v2/invoices/{invoice_id}

Create Invoice

POST /squareup/v2/invoices
Content-Type: application/json

{
  "invoice": {
    "location_id": "{location_id}",
    "order_id": "{order_id}",
    "primary_recipient": {
      "customer_id": "{customer_id}"
    },
    "payment_requests": [
      {
        "request_type": "BALANCE",
        "due_date": "2026-02-15"
      }
    ],
    "delivery_method": "EMAIL"
  },
  "idempotency_key": "unique-invoice-key"
}

Update Invoice

PUT /squareup/v2/invoices/{invoice_id}
Content-Type: application/json

{
  "invoice": {
    "version": 1,
    "payment_requests": [
      {
        "uid": "{payment_request_uid}",
        "due_date": "2026-02-20"
      }
    ]
  },
  "idempotency_key": "unique-update-key"
}

Publish Invoice

POST /squareup/v2/invoices/{invoice_id}/publish
Content-Type: application/json

{
  "version": 1,
  "idempotency_key": "unique-publish-key"
}

Cancel Invoice

POST /squareup/v2/invoices/{invoice_id}/cancel
Content-Type: application/json

{
  "version": 1
}

Delete Invoice

DELETE /squareup/v2/invoices/{invoice_id}?version=1

Search Invoices

POST /squareup/v2/invoices/search
Content-Type: application/json

{
  "query": {
    "filter": {
      "location_ids": ["{location_id}"],
      "customer_ids": ["{customer_id}"]
    }
  }
}

Search Team Members

POST /squareup/v2/team-members/search
Content-Type: application/json

{
  "query": {
    "filter": {
      "location_ids": ["{location_id}"],
      "status": "ACTIVE"
    }
  }
}

Get Team Member

GET /squareup/v2/team-members/{team_member_id}

Update Team Member

PUT /squareup/v2/team-members/{team_member_id}
Content-Type: application/json

{
  "team_member": {
    "given_name": "Updated Name"
  }
}

List Loyalty Programs

GET /squareup/v2/loyalty/programs

Get Loyalty Program

GET /squareup/v2/loyalty/programs/{program_id}

Search Loyalty Accounts

POST /squareup/v2/loyalty/accounts/search
Content-Type: application/json

{
  "query": {
    "customer_ids": ["{customer_id}"]
  }
}

Create Loyalty Account

POST /squareup/v2/loyalty/accounts
Content-Type: application/json

{
  "loyalty_account": {
    "program_id": "{program_id}",
    "mapping": {
      "phone_number": "+15551234567"
    }
  },
  "idempotency_key": "unique-key"
}

Accumulate Loyalty Points

POST /squareup/v2/loyalty/accounts/{account_id}/accumulate
Content-Type: application/json

{
  "accumulate_points": {
    "order_id": "{order_id}"
  },
  "location_id": "{location_id}",
  "idempotency_key": "unique-key"
}
GET /squareup/v2/online-checkout/payment-links
GET /squareup/v2/online-checkout/payment-links/{id}
POST /squareup/v2/online-checkout/payment-links
Content-Type: application/json

{
  "idempotency_key": "unique-key",
  "quick_pay": {
    "name": "Payment for Service",
    "price_money": {
      "amount": 1000,
      "currency": "USD"
    },
    "location_id": "{location_id}"
  }
}
PUT /squareup/v2/online-checkout/payment-links/{id}
Content-Type: application/json

{
  "payment_link": {
    "version": 1,
    "description": "Updated description"
  }
}
DELETE /squareup/v2/online-checkout/payment-links/{id}

List Cards

GET /squareup/v2/cards
GET /squareup/v2/cards?customer_id={customer_id}

Get Card

GET /squareup/v2/cards/{card_id}

Create Card

POST /squareup/v2/cards
Content-Type: application/json

{
  "idempotency_key": "unique-key",
  "source_id": "cnon:card-nonce-ok",
  "card": {
    "customer_id": "{customer_id}"
  }
}

Disable Card

POST /squareup/v2/cards/{card_id}/disable

List Payouts

GET /squareup/v2/payouts
GET /squareup/v2/payouts?location_id={location_id}

Get Payout

GET /squareup/v2/payouts/{payout_id}

List Payout Entries

GET /squareup/v2/payouts/{payout_id}/payout-entries

List Bank Accounts

GET /squareup/v2/bank-accounts

Get Bank Account

GET /squareup/v2/bank-accounts/{bank_account_id}

List Terminal Checkouts

GET /squareup/v2/terminals/checkouts

Create Terminal Checkout

POST /squareup/v2/terminals/checkouts
Content-Type: application/json

{
  "idempotency_key": "unique-key",
  "checkout": {
    "amount_money": {
      "amount": 1000,
      "currency": "USD"
    },
    "device_options": {
      "device_id": "{device_id}"
    }
  }
}

Get Terminal Checkout

GET /squareup/v2/terminals/checkouts/{checkout_id}

Search Terminal Checkouts

POST /squareup/v2/terminals/checkouts/search
Content-Type: application/json

{
  "query": {
    "filter": {
      "status": "COMPLETED"
    }
  }
}

Cancel Terminal Checkout

POST /squareup/v2/terminals/checkouts/{checkout_id}/cancel

Resources

On this page