Skip to main content
There are two levels of SSH key, and they do different jobs:
  • Account keys live on your account. A key marked auto_inject is installed into every new pod you create, so you never have to add it again.
  • Pod keys are the authorized_keys entries on one pod. Adding one here affects that pod only.
Adding an account key does not retroactively install it on pods that already exist - add it to those directly. See SSH Access for connecting.

Account Keys

List

Response: 200 OK

Add

Response: 201 Created - returns the stored key, including the fingerprint we computed.

Update

Both fields are optional; omitting one leaves it unchanged. The key material itself can’t be edited
  • delete and re-add instead.

Delete

Returns {"status": "deleted"}.
Deleting an account key does not remove it from pods it was already installed on. Remove it from each pod as well if that’s what you meant.

Pod Keys

Connection Info

Response: 200 OK
Every pod gets its own port on a shared host, so always read port rather than assuming 22. A pod whose SSH port hasn’t been allocated yet - which happens briefly right after creation - answers 503 with ssh_ready: false and an explanatory error. Retry rather than treating it as a failure.

List Keys on a Pod

Reads the pod’s authorized_keys. A pod with no keys returns an empty array, not a 404.

Add a Key to a Pod

Takes effect immediately - no restart. Adding a key that’s already there is a no-op and returns 200 with {"message": "key already exists"}.

Remove a Key From a Pod

The body must carry the key to remove, so this is a DELETE with a body. Returns 404 if the pod has no keys, or if that key isn’t among them.