API Specifications

Provides Open API Specification 3 definitions for Nexmo APIs.

These definitions provide a single point of truth that can be used end-to-end can we used to:

  • Planning Shared during product discussions for planning API functionality
  • Implementation Inform engineering during development
  • Testing As the basis for testing or mocking API endpoints
  • Documentation For producing thorough and interactive documentation
  • Tooling To generate server stubs and client SDKs.

Definitions

API Definition owner Contributors
SMS - Adam Butler
Voice - -
Verify - Adam Butler, Mike Ralphson
Number Insight - Adam Butler, Mike Ralphson
Conversation Neil Stratford Adam Butler
Olympus Hugh Hopkins
Account - -
Messages - -
Messages - -
Numbers - -
Application - -
Conversion - -

Resources

Tools

  • Swagger Editor - Can be used to edit OAS3 definitions, provides live reloading Swagger UI.
  • Swagger 2.0 to OAS3 converter - Unofficial converter that can be used to convert existing Swagger 2.0 definitions to OAS3 definitions.
  • Swagger Codegen - A template-driven engine to generate documentation, API clients and server stubs in different languages by parsing OAS3 definitions.
  • Swagger Parser - Standalone library for parsing OAS3 definitions from Java
  • Nexmo Developer - Nexmo Developer has it's own OAS3 definition parser and API reference UI.

Consuming

These API Specifications can be made available as packages. See below for the currently available packages and instructions on how to consume them.

Ruby

Install the Gem
$ gem install nexmo_api_specification

or add it to your GemFile and run bundle install

gem 'nexmo_api_specification'
Usage

Get a definition file:

NexmoApiSpecification::Definition.load(:sms)

Contributing

Contributions are welcome, please follow GitHub Flow

Publishing

Clone the repo and navigate to its directory:

$ cd api-specification

Bump the latest version in api-specification/lib/nexmo_api_specification/version.rb:

//old
module OasParser
  VERSION = '1.0.0'.freeze
end

//new
module OasParser
  VERSION = '1.1.0'.freeze
end

Build the gem:

$ gem build nexmo_api_specification.gemspec

This will create a nexmo_api_specification-1.1.0.gem file.

Push the gem to rubygems.org:

$ gem push nexmo_api_specification-1.1.0.gem

Verify the change was made by checking for the new version on rubygems.org