Surfil

SDK

There is no published Surfil SDK package yet, and this page won't pretend one exists. For almost everything you don't need one - the CLI is the on-device control surface, and the edge API is a small, versioned REST surface you can call directly.

Use the API directly

The public endpoints are versioned REST over HTTPS. A device-token call looks like any other bearer request:

curl https://api.surfil.com/v1/entitlement \
  -H "Authorization: Bearer $SURFIL_DEVICE_TOKEN"

Requests that mutate state take an idempotency key so retries are safe by contract. See the errors reference for the guarantees behind each status code.

Verifying without any SDK

Signed outputs are the one place you might want library code, and even there you don't need ours: a receipt is a standard Ed25519 signature over canonical bytes, checkable with any Ed25519 library against the published epoch public key. surfil verify does it for you, offline.

  • Public keys are published per epoch and offline-vendorable.
  • The signature covers canonical measured facts - recompute the hash and check it yourself.
When a typed client library ships, it will be documented here with a version and an install command - not before. Today, the CLI and the REST API are the supported surfaces.