Skip to content

Square API

by squareup.com

OAuthHTTPSBusiness
Open documentation ↗

Overview

Easy way to take payments, manage refunds, and help customers checkout online

Square is a business API from squareup.com. Requests are authenticated with OAuth. It is served over HTTPS. Its OpenAPI description documents 200 endpoints.

At a glance

Authentication
OAuth
HTTPS
Yes
CORS
Unknown
Category
Business
Base URL
https://connect.squareup.com
Version
2.0
Endpoints
200
Spec updated
2021-08-23

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://connect.squareup.com/v1/me/employees" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"
JavaScript
const response = await fetch("https://connect.squareup.com/v1/me/employees", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://connect.squareup.com/v1/me/employees",
    headers={
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
POST/mobile/authorization-codeCreateMobileAuthorizationCode
POST/oauth2/clients/{client_id}/access-token/renewRenewToken
POST/oauth2/revokeRevokeToken
POST/oauth2/tokenObtainToken
GET/v1/me/employeesListEmployees
POST/v1/me/employeesCreateEmployee
GET/v1/me/employees/{employee_id}RetrieveEmployee
PUT/v1/me/employees/{employee_id}UpdateEmployee
GET/v1/me/rolesListEmployeeRoles
POST/v1/me/rolesCreateEmployeeRole
GET/v1/me/roles/{role_id}RetrieveEmployeeRole
PUT/v1/me/roles/{role_id}UpdateEmployeeRole
GET/v1/{location_id}/ordersListOrders
GET/v1/{location_id}/orders/{order_id}RetrieveOrder
PUT/v1/{location_id}/orders/{order_id}UpdateOrder
GET/v1/{location_id}/paymentsListPayments
GET/v1/{location_id}/payments/{payment_id}RetrievePayment
GET/v1/{location_id}/refundsListRefunds
POST/v1/{location_id}/refundsCreateRefund
GET/v1/{location_id}/settlementsListSettlements
GET/v1/{location_id}/settlements/{settlement_id}RetrieveSettlement
POST/v2/apple-pay/domainsRegisterDomain
GET/v2/bank-accountsListBankAccounts
GET/v2/bank-accounts/by-v1-id/{v1_bank_account_id}GetBankAccountByV1Id
GET/v2/bank-accounts/{bank_account_id}GetBankAccount
POST/v2/bookingsCreateBooking
POST/v2/bookings/availability/searchSearchAvailability
GET/v2/bookings/business-booking-profileRetrieveBusinessBookingProfile
GET/v2/bookings/team-member-booking-profilesListTeamMemberBookingProfiles
GET/v2/bookings/team-member-booking-profiles/{team_member_id}RetrieveTeamMemberBookingProfile
GET/v2/bookings/{booking_id}RetrieveBooking
PUT/v2/bookings/{booking_id}UpdateBooking
POST/v2/bookings/{booking_id}/cancelCancelBooking
GET/v2/cardsListCards
POST/v2/cardsCreateCard
GET/v2/cards/{card_id}RetrieveCard
POST/v2/cards/{card_id}/disableDisableCard
GET/v2/cash-drawers/shiftsListCashDrawerShifts
GET/v2/cash-drawers/shifts/{shift_id}RetrieveCashDrawerShift
GET/v2/cash-drawers/shifts/{shift_id}/eventsListCashDrawerShiftEvents
POST/v2/catalog/batch-deleteBatchDeleteCatalogObjects
POST/v2/catalog/batch-retrieveBatchRetrieveCatalogObjects
POST/v2/catalog/batch-upsertBatchUpsertCatalogObjects
GET/v2/catalog/infoCatalogInfo
GET/v2/catalog/listListCatalog
POST/v2/catalog/objectUpsertCatalogObject
GET/v2/catalog/object/{object_id}RetrieveCatalogObject
DELETE/v2/catalog/object/{object_id}DeleteCatalogObject
POST/v2/catalog/searchSearchCatalogObjects
POST/v2/catalog/search-catalog-itemsSearchCatalogItems
POST/v2/catalog/update-item-modifier-listsUpdateItemModifierLists
POST/v2/catalog/update-item-taxesUpdateItemTaxes
GET/v2/customersListCustomers
POST/v2/customersCreateCustomer
GET/v2/customers/groupsListCustomerGroups
POST/v2/customers/groupsCreateCustomerGroup
GET/v2/customers/groups/{group_id}RetrieveCustomerGroup
PUT/v2/customers/groups/{group_id}UpdateCustomerGroup
DELETE/v2/customers/groups/{group_id}DeleteCustomerGroup
POST/v2/customers/searchSearchCustomers
GET/v2/customers/segmentsListCustomerSegments
GET/v2/customers/segments/{segment_id}RetrieveCustomerSegment
GET/v2/customers/{customer_id}RetrieveCustomer
PUT/v2/customers/{customer_id}UpdateCustomer
DELETE/v2/customers/{customer_id}DeleteCustomer
POST/v2/customers/{customer_id}/cardsCreateCustomerCard
DELETE/v2/customers/{customer_id}/cards/{card_id}DeleteCustomerCard
PUT/v2/customers/{customer_id}/groups/{group_id}AddGroupToCustomer
DELETE/v2/customers/{customer_id}/groups/{group_id}RemoveGroupFromCustomer
GET/v2/devices/codesListDeviceCodes
POST/v2/devices/codesCreateDeviceCode
GET/v2/devices/codes/{id}GetDeviceCode
GET/v2/disputesListDisputes
GET/v2/disputes/{dispute_id}RetrieveDispute
POST/v2/disputes/{dispute_id}/acceptAcceptDispute
GET/v2/disputes/{dispute_id}/evidenceListDisputeEvidence
POST/v2/disputes/{dispute_id}/evidence-textCreateDisputeEvidenceText
GET/v2/disputes/{dispute_id}/evidence/{evidence_id}RetrieveDisputeEvidence
DELETE/v2/disputes/{dispute_id}/evidence/{evidence_id}DeleteDisputeEvidence
POST/v2/disputes/{dispute_id}/submit-evidenceSubmitEvidence
GET/v2/employeesListEmployees
GET/v2/employees/{id}RetrieveEmployee
GET/v2/gift-cardsListGiftCards
POST/v2/gift-cardsCreateGiftCard
GET/v2/gift-cards/activitiesListGiftCardActivities
POST/v2/gift-cards/activitiesCreateGiftCardActivity
POST/v2/gift-cards/from-ganRetrieveGiftCardFromGAN
POST/v2/gift-cards/from-nonceRetrieveGiftCardFromNonce
POST/v2/gift-cards/{gift_card_id}/link-customerLinkCustomerToGiftCard
POST/v2/gift-cards/{gift_card_id}/unlink-customerUnlinkCustomerFromGiftCard
GET/v2/gift-cards/{id}RetrieveGiftCard
GET/v2/inventory/adjustment/{adjustment_id}DeprecatedRetrieveInventoryAdjustment
GET/v2/inventory/adjustments/{adjustment_id}RetrieveInventoryAdjustment
POST/v2/inventory/batch-changeDeprecatedBatchChangeInventory
POST/v2/inventory/batch-retrieve-changesDeprecatedBatchRetrieveInventoryChanges
POST/v2/inventory/batch-retrieve-countsDeprecatedBatchRetrieveInventoryCounts
POST/v2/inventory/changes/batch-createBatchChangeInventory
POST/v2/inventory/changes/batch-retrieveBatchRetrieveInventoryChanges
POST/v2/inventory/counts/batch-retrieveBatchRetrieveInventoryCounts
GET/v2/inventory/physical-count/{physical_count_id}DeprecatedRetrieveInventoryPhysicalCount

Showing the first 100 of 200 endpoints; the full list is in the documentation.

Questions

Does the Square API need an API key?

Yes. The Square API uses OAuth authentication; the documentation explains how to get credentials.

Does the Square API support HTTPS?

Yes, the Square API is served over HTTPS.

How many endpoints does the Square API have?

Its OpenAPI description lists 200 endpoints in version 2.0. The first 100 are shown on this page.

What are alternatives to the Square API?

Other Business APIs include Gmail, Google Analytics, Apache Superset, Trello, Mailchimp.

Compare alternatives →

Gmail

Business

Flexible, RESTful access to the user's inbox

OAuth

Google Analytics

Business

Collect, configure and analyze your data to reach the right audience

OAuth

Apache Superset

Business

API to manage your BI dashboards and data sources on Superset

API keyCORS

Trello

Business

Boards, lists and cards to help you organize and prioritize your projects

OAuth324 endpoints

Mailchimp

Business

Send marketing campaigns and transactional mails

API key

Braze Endpoints

Business

# Braze API Overview Braze provides a high performance REST API to allow you to track users, send messages, export data, and more. A REST API is a way to programmatically transfer information over the web using a predefined schema. Braze has created many different endpoints with specific requirements that will perform various actions and/or return various data. API access is done using HTTPS web requests to your company's REST API endpoint (this will correspond to your Dashboard URL as shown in the table below). Customers using Braze's EU database should use `https://rest.fra-01.braze.eu/`. For more information on REST API endpoints for customers using Braze's EU database see our [EU/US Implementation Differences documentation](https://www.braze.com/docs/developer_guide/eu01_us3_sdk_implementation_differences/overview/). ## Braze Instances Instance | Dashboard URL | REST Endpoint ----------- |---------------- | -------------------- US-01 | `https://dashboard.braze.com` or<br> `https://dashboard-01.braze.com` | `https://rest.iad-01.braze.com` US-02 | `https://dashboard-02.braze.com` | `https://rest.iad-02.braze.com` US-03 | `https://dashboard-03.braze.com` | `https://rest.iad-03.braze.com` US-04 | `https://dashboard-04.braze.com` | `https://rest.iad-04.braze.com` US-06 | `https://dashboard-06.braze.com` | `https://rest.iad-06.braze.com` EU-01 | `https://dashboard.braze.eu` or<br> `https://dashboard-01.braze.eu` | `https://rest.fra-01.braze.eu` # Using Braze's Postman Collection If you have a Postman account (MacOS, Windows, and Linux versions can be downloaded from their website located [here](https://www.getpostman.com)), you can go to our Postman documentation and click the orange `Run in Postman` button in the top, right corner. This will allow you to [create an environment](#setting-up-your-postman-environment), as well as edit the available `POST` and `GET` requests to suit your own needs. ## Setting Up Your Postman Environment The Braze Postman Collection uses a templating variable, `{{instance_url}}`, to substitute the REST API URL of your Braze instance into the pre-built requests. Rather than having to manually edit all requests in the Collection, you can set up this variable in your Postman environment. To do so, please follow the steps below: 1. Click on the gear icon in the top right corner of the Postman app. 2. Select "Manage Environments" to open a modal window which displays your active environments. 3. In the bottom right corner of the modal window, click "Add" to create a new environment. 4. Give this environment a name (e.g. "Braze API Requests") and add keys for `instance_url` and `api_key` with values corresponding to [your Braze instance](https://www.braze.com/docs/api/basics/#endpoints) and [Braze REST API Key](https://www.braze.com/docs/api/basics/#app-group-rest-api-keys), as pictured below. As of April, 2020 Braze has changed how we read App Group API keys. Instead of passing them in the request body or through url parameters, we now read the App Group Rest`api_key` through the HTTP Authorization header. API keys not passed through the HTTP Authorization Header will coninue to work until they have been sunset. ## Using the Pre-Built Requests from the Collection Once you have configured your environment. You can use any of the pre-built requests in the collection as a template for building new API requests. To start using one of the pre-built requests, simply click on it within the 'Collections' menu on the left side of Postman. This will open the request as a new tab in the main window of the Postman app. In general, there are two types of requests that Braze's API endpoints accept - `GET` and `POST`. Depending on which `HTTP` method the endpoint uses, you'll need to edit the pre-built request differently. ### Edit a POST Request When editing a `POST` request, you'll need to open the request and navigate to the `Body` section in the request editor. For readability, select the `raw` radio button to form

No auth31 endpoints

Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).