Find a guide, feature, or API endpoint. Try “FTP”, “alerts”, or “instruments”.

Browse documentation

Docs/Developers

API authentication and permissions

Create the right project key, inspect Developer API permissions, and manage key lifecycle.

On this page

SanSignal has separate API credentials for sending readings and for using the Developer API. Create them from the project’s Developers area.

Connection in the dashboard Purpose API route family
Ingest API Submit batches of instrument readings POST /v1/ingest
Query API Use supported Developer API read and management operations /dev-api/v1/

Despite the dashboard label “Query API,” a Developer API connection can include supported write permissions. Its exact authority comes from its selected permission set. An ingestion key is not a Developer API key, and a browser session is a separate authentication mechanism.

Create a key

  1. Open the correct project, then Developers.
  2. Select Ingest API or Query API and create a connection.
  3. For a Query API connection, select the required permissions from the available catalog.
  4. Open the connection’s API keys tab and create a key.
  5. Copy the secret when it is displayed. It is shown only once.

Query API key expiry can use the platform default, a specific date and time, or no expiry when platform policy permits it. The platform validates the maximum lifetime.

Store the secret in the server-side secret configuration of your integration. Do not embed it in a public website, browser application, repository, or shared notebook.

Send the bearer token

Use the API base URL for your deployment and an Authorization header:

curl "$SANSIGNAL_API_URL/dev-api/v1/permissions" \
  --header "Authorization: Bearer $SANSIGNAL_QUERY_KEY"

Set those environment variables in your own environment before running the command. The permissions response lets you inspect the connection’s effective Developer API permissions. Project routes also include the project ID, for example /dev-api/v1/p/{project_id}/instruments.

Keys are project-scoped. Use the project that owns the connection and select the permission required by the operation. Consult the API reference for supported paths, methods, schemas, and permission requirements.

Change access and rotate keys

Editing a Query API connection’s permission set changes the authority of every key on that connection on the next request. Coordinate permission changes with the applications using it.

To rotate a key, create a replacement, update the integration’s secret, verify an appropriate request, and revoke the old key. The key list shows status, expiry, last use, and revocation information.

If a request fails authentication or authorization, check the key type, expiry, revocation, project, connection lifecycle, and required permission. Do not retry a denied write with a more privileged key before understanding the missing capability.

API coverage

The Developer API exposes a defined set of resource and data operations. Some features remain available only through the authenticated dashboard. Dashboard administration routes must not be treated as interchangeable with supported Developer API routes.

Start with Ingestion API to send readings or Read data and build exports to retrieve them.