All Projects → square → Connect Api Specification

square / Connect Api Specification

Licence: apache-2.0
This repository contains the OpenAPI specification as well as templates for generating SDKs for Square's APIs

Projects that are alternatives of or similar to Connect Api Specification

Swagger Core
Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API
Stars: ✭ 6,898 (+12217.86%)
Mutual labels:  swagger, openapi, openapi-specification
Openapi Diff
Utility for comparing two OpenAPI specifications.
Stars: ✭ 208 (+271.43%)
Mutual labels:  swagger, openapi, openapi-specification
Swagger Codegen
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
Stars: ✭ 13,859 (+24648.21%)
Mutual labels:  swagger, openapi-specification, mustache
Springdoc Openapi
Library for OpenAPI 3 with spring-boot
Stars: ✭ 1,113 (+1887.5%)
Mutual labels:  swagger, openapi, openapi-specification
Swagger Ui
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
Stars: ✭ 21,279 (+37898.21%)
Mutual labels:  swagger, openapi, openapi-specification
Spectral
A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2 & v3.
Stars: ✭ 876 (+1464.29%)
Mutual labels:  swagger, openapi, openapi-specification
Redoc
📘 OpenAPI/Swagger-generated API Reference Documentation
Stars: ✭ 15,935 (+28355.36%)
Mutual labels:  swagger, openapi, openapi-specification
Swurg
Parse OpenAPI documents into Burp Suite for automating OpenAPI-based APIs security assessments (approved by PortSwigger for inclusion in their official BApp Store).
Stars: ✭ 94 (+67.86%)
Mutual labels:  swagger, openapi, openapi-specification
Openapi.tools
A collection of Editors, Linters, Parsers, Code Generators, Documentation, Testing
Stars: ✭ 257 (+358.93%)
Mutual labels:  swagger, openapi, openapi-specification
openapi-schemas
JSON Schemas for every version of the OpenAPI Specification
Stars: ✭ 22 (-60.71%)
Mutual labels:  swagger, openapi, openapi-specification
Drf Yasg
Automated generation of real Swagger/OpenAPI 2.0 schemas from Django REST Framework code.
Stars: ✭ 2,523 (+4405.36%)
Mutual labels:  swagger, openapi, openapi-specification
Oas Kit
Convert Swagger 2.0 definitions to OpenAPI 3.0 and resolve/validate/lint
Stars: ✭ 516 (+821.43%)
Mutual labels:  swagger, openapi, openapi-specification
Flasgger
Easy OpenAPI specs and Swagger UI for your Flask API
Stars: ✭ 2,825 (+4944.64%)
Mutual labels:  swagger, openapi, openapi-specification
Swagger Parser
Swagger Spec to Java POJOs
Stars: ✭ 468 (+735.71%)
Mutual labels:  swagger, openapi, openapi-specification
Apispec
A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)..
Stars: ✭ 831 (+1383.93%)
Mutual labels:  swagger, openapi, openapi-specification
Widdershins
OpenAPI / Swagger, AsyncAPI & Semoasa definitions to (re)Slate compatible markdown
Stars: ✭ 856 (+1428.57%)
Mutual labels:  swagger, openapi
Swagger Editor Electron
Run standalone Swagger Editor in Electron shell
Stars: ✭ 10 (-82.14%)
Mutual labels:  swagger, openapi
Swagger Jsdoc
Generates swagger/openapi specification based on jsDoc comments and YAML files.
Stars: ✭ 1,057 (+1787.5%)
Mutual labels:  swagger, openapi
Oaichecker
Test your OpenAPI specs and your server API at the same time
Stars: ✭ 12 (-78.57%)
Mutual labels:  swagger, openapi
Swagger Editor
Swagger Editor
Stars: ✭ 7,365 (+13051.79%)
Mutual labels:  swagger, openapi-specification

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.

Generating and Downloading New Swagger Specs

Swagger specifications are now generated in our new pipeline, using the oas-pipeline tool. You will need the build id for an OAS generated with the tool in production. The Swagger Spec can then be generated with the following command:

oas-pipeline generate swagger <build_id>

Once the Swagger generation has succeeded, the spec files can be downloaded and pushed to a release branch with the following command:

./script/internal/download-swagger-specs.sh <build_id>

Note: the build id must be from a production environment build.

Contributing

See CONTRIBUTING.md.

License

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

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].