Saildrone Authentication API

Key/secret exchange for bearer tokens and drone access discovery

Operations 2

POST /v1/auth Authenticate With Key And Secret #
GET /v1/auth/access List Drone Access #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/saildrone-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

saildrone-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Saildrone Mission Authentication API
  description: 'Saildrone Public Mission API (BETA). Provides authenticated access to Saildrone mission telemetry and time-series data collected by Saildrone''s fleet of wind/solar autonomous surface vehicles (USVs). Surfaces include health, key/secret authentication, drone access discovery, and per-mission time-series retrieval across vehicle, atmospheric, oceanographic, and biogeochemical datasets. Endpoints, parameters, and authentication flow are reconstructed from the public Swagger interface at developer-mission.saildrone.com/api-docs and confirmed open source clients (e.g. nwfsc-fram/SaildroneTS).

    '
  version: v1
  contact:
    name: Saildrone Data Solutions
    url: https://www.saildrone.com/contact
  license:
    name: Saildrone API Terms
    url: https://www.saildrone.com/terms
servers:
- url: https://developer-mission.saildrone.com
  description: Saildrone Public Mission API (BETA)
security:
- BearerAuth: []
tags:
- name: Authentication
  description: Key/secret exchange for bearer tokens and drone access discovery
paths:
  /v1/auth:
    post:
      summary: Authenticate With Key And Secret
      description: Exchange a Saildrone-issued API key and secret for a bearer token used on subsequent calls. Tokens are short-lived; clients should re-authenticate before expiry.
      operationId: authenticate
      tags:
      - Authentication
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthRequest'
      responses:
        '200':
          description: Bearer token issued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '401':
          description: Invalid key or secret
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/auth/access:
    get:
      summary: List Drone Access
      description: List drones (missions) the authenticated key has access to, including each drone's allowed start/end date range and which datasets are exposed (vehicle, atmospheric, oceanographic, biogeochemical).
      operationId: listAccess
      tags:
      - Authentication
      responses:
        '200':
          description: List of authorized drones and time ranges
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessResponse'
        '401':
          description: Missing or expired bearer token
components:
  schemas:
    AccessResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            access:
              type: array
              items:
                $ref: '#/components/schemas/AccessEntry'
    AuthRequest:
      type: object
      required:
      - key
      - secret
      properties:
        key:
          type: string
          description: Saildrone-issued API key.
        secret:
          type: string
          description: Saildrone-issued API secret.
    AuthResponse:
      type: object
      properties:
        success:
          type: boolean
        token:
          type: string
          description: Bearer token to use in the `authorization` header on subsequent calls.
        expires_at:
          type: string
          format: date-time
    AccessEntry:
      type: object
      properties:
        drone_id:
          type: integer
          example: 1039
        start_date:
          type: string
          format: date-time
        end_date:
          type: string
          format: date-time
        data_set:
          type: array
          items:
            type: string
            enum:
            - vehicle
            - atmospheric
            - oceanographic
            - biogeochemical
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
        code:
          type: integer
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Bearer token obtained from POST /v1/auth (sent as `authorization: <token>`).'