← Yungle

Authentication

One credential: an API key, sent as a bearer token on every request.

Sending the key

Authorization: Bearer yk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Keys are created in Settings → API keys. The full value is shown once, at creation. We store only a keyed hash, so we genuinely cannot show it again or recover it for you — if it is lost, revoke it and make another.

What a key is

  • A key belongs to one workspace, chosen when it is created, and can never be switched to another. It acts as that workspace: uploads count against its storage, sends spend its plan.
  • Only the workspace owner can create or revoke keys. A key outlives the session that made it, so letting a member mint one would create a credential for an account they can be removed from.
  • Revocation is immediate. The key is checked on every request, so nothing is cached and no session can outlive it.
  • A key's write access stops the moment the workspace's subscription lapses, and resumes when it does. Reads keep working either way. Nothing needs re-issuing.

Scopes

Pick the narrowest set that does the job. A :write scope also grants read of the same resource — every write endpoint returns what it changed, so pretending otherwise would be a boundary that does not hold. Scopes never leak across resources.

ScopeGrants
transfers:readList transfers, read detail and download receipts.
transfers:writeCreate, upload to, send, amend and revoke transfers.
collections:readList collections, files, folders and guests.
collections:writeCreate collections, upload files, manage folders and guests.
contacts:readRead the address book.
contacts:writeAdd, edit and remove contacts.

There is no scope for billing, plan changes, workspace members or account deletion, and there will not be one. Those act on a person's own account rather than on a workspace, and a machine credential has no business reaching them.

Failures

StatusMeans
401Missing, malformed, unknown, revoked or expired key — deliberately indistinguishable, so a stolen key reveals nothing about which.
402A write on a free plan. Reads are free; creating, sending and uploading are not.
403The key is valid but lacks the scope this endpoint needs. The response names it.
Treat a key like a password: environment variables or a secrets manager, never a repository. If one leaks, revoke it first and investigate second — revocation takes effect on the next request.