The sQuiddio API

Mauro Calvi edited this page Jun 26, 2018 · 16 revisions

Note: this document is work in progress! We appreciate your patience (and feedback to this Wiki)

Overview

sQuidd.io, the largest repository of navigational information for recreational boaters in the world, makes its data available programmatically through a REST API.

Sample use cases

  • Obtain list of boats within range of a POI, or of another vessel
  • Obtain full profile of a Vessel, including make and model, contact information, LOA, draft, last reported position etc.
  • Obtain the most recent position reports of a Vessel
  • Obtain a list of sQuidd.io Destinations by country/region, near latitude/longitude etc.

Authentication

Authenticated Requests

The sQuiddio API uses standard Oauth2 Tokens to authenticate certain requests, specifically:

  • All POST, PATCH (PUT) and DELETE Requests
  • GET Requests for Vessel and User objects

Tokens are associated with individual sQuidd.io Vessels and can be obtained in two ways:

  • Manually, by logging into squiddio and going to Dashboard -> [select your boat] -> Edit Boat profile -> APIs. (Note: You currently need to obtain a token by requesting it from admin@squidd.io)
  • Programmatically by third-party applications using the standard Oauth2 flow. You can use one of the API Clients below, or implement your own Oauth2 flow in your application.

Tokens currently expire every 12 months.

Unauthenticated Requests

All GET requests for content governed by the Creative Commons Attribution and Share-alike License are not authenticated. This includes the entire repository of sailing Destinations (Marinas, Anchorages etc.) and electronic Navigation Aids.

Documentation

For a JSON document of available endpoints, HTTP methods, parameters etc see: https://squidd.io/apps/v1/api/swagger_doc (a JSON viewer plugin is recommended if you access the file in your browser).

For definitions of key terms see: https://github.com/mauroc/omniauth-squiddio/wiki/API-Definitions

Testing

To test requests and responses using a special-purpose token use the interactive console at: https://squidd.io/api_docs.

Usage Limits

There are currently no limits on the number of API requests you can make (though this is subject to change in the future).

API Clients

Ruby Client

https://github.com/mauroc/omniauth-squiddio

Node.js Client

https://github.com/mauroc/passport-squiddio

Contributing

Could I ask for anything more? Your contribution to the two above Client projects, and this Wiki would be wonderful!

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.