Skip to content
This repository contains the OpenAPI specification as well as templates for generating SDKs for Square's APIs
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
swagger-config Release 2.20190710.0 Jul 10, 2019
swagger-templates Release 2.20190710.0 Jul 10, 2019
.gitignore Release 2.20180712.2 Aug 23, 2018 First commit Mar 29, 2016
LICENSE.txt First commit Mar 29, 2016
Makefile Release 2.5.1 Nov 17, 2017 Release 2.7.0 Apr 25, 2018
generate-sdks Release 2.5.1 Nov 17, 2017

Connecting to the Square API

This is the project that generates API clients for connecting to the public Square API. You probably want to just use one of the clients that are pre-built in a language of your choice:

The Connect Examples are working sample applications that you can copy from to build your own.

Connect API Specifications

This repository contains the specifications for generating client SDKs with Swagger/OpenAPI.

The canonical specification is defined in api.json. The templates for our supported SDKs are located in swagger-templates. The configuration for each SDK (e.g. name of the library, version number, etc.) are located in swagger-config.

Configure a new language

Generating an SDK for a new language is possible. You'll need to have a working version of swagger-codegen and follow these steps:

  1. Check if Swagger Codegen supports the language by running:
    swagger-codegen langs
  2. If the language is supported, note swagger's name for it. We'll call it {lang}
  3. Add a configuration file on swagger-config named config-{lang}.json. You can check this template.
  4. Create a directory on swagger-templates named {lang}. Generation scripts expect to have a folder even if no custom templates are included:
    mkdir $lang
  5. (Optional) Add custom templates for your generator. Check Swagger Codegen Readme.




Copyright 2016 - 2018 Square, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
You can’t perform that action at this time.