Skip to content
Docs

Developer docs

HoundSat API

Automate your satellite IoT business: onboard customers, activate SIMs, read usage and invoices, and deliver device data to webhooks.

Everything in the HoundSat dashboard runs on this API, so anything you can do there your systems can do too. These docs are written for resellers: you manage your customers, their SIMs, plans and invoices. The For your customers section covers what your customers' developers build: receiving device messages on their own servers.

Base URL

Every path in these docs is relative to:

Base URL
https://api.houndsat.com

Requests and responses are JSON over HTTPS. Most endpoints, under /api/json, follow the JSON:API format; Making requests shows what that looks like.

Quickstart

Three requests from a token to active SIMs.

  1. 1

    Sign in for a token

    Use the email and password of a user in your organization. The token is valid for 14 days.

    Terminal
    curl -X POST https://api.houndsat.com/api/auth/sign_in \
      -H "Content-Type: application/json" \
      -d '{"email": "integrations@acme.example", "password": "…"}'
    
    # {"token": "eyJhbGciOi…", "user": {…}}
    export HOUNDSAT_TOKEN="eyJhbGciOi…"
  2. 2

    List your devices

    Every request carries the token. Lists are paginated, newest first.

    Terminal
    curl "https://api.houndsat.com/api/json/devices?filter[status]=inventory" \
      -H "Authorization: Bearer $HOUNDSAT_TOKEN"
  3. 3

    Activate them

    Up to 500 devices per request, with one result per device.

    Terminal
    curl -X POST https://api.houndsat.com/api/json/devices/bulk/activate \
      -H "Authorization: Bearer $HOUNDSAT_TOKEN" \
      -H "Content-Type: application/vnd.api+json" \
      -d '{"data": {"ids": ["5f0c2b7e-8d41-4a96-b3e2-91c7d0a4e6f8"]}}'

Explore the docs

Conventions

  • Ids are UUIDs. Timestamps are ISO 8601 in UTC; days and months are UTC dates.
  • Data volumes are bytes. Money is US cents, with no tax.
  • ICCIDs are 19 or 20 digits and IMSIs 15 digits, always sent as strings.
  • You only ever see your own organization and the customers below it. Anything else answers as if it didn't exist.