Secret routes: revoke, rotate, store
The Secret Verbs revoke, rotate, store as api.sb routes, with inputs, result, refusals and an example.
Reference for Secret, one group of Secret routes.
Secret.revoke
Revoke ends a Secret so no call fills it again; the record and its history stay. Verb page.
POST /{namespace}/ secrets/ {secret}/ revokePath: secret. Body, as JSON: the other inputs. Emits Secret.revoked.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
secret | Secret | required | The Secret to revoke. |
reason | text | Why, such as a leaked value. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
secret | Secret | required | The revoked Secret. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ secrets/ secret_UaNXUkKsJB/ revoke \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"secret": {
"$id": "https: //api.sb/ leaseline.app/ secrets/ secret_UaNXUkKsJB",
"$type": "Secret",
"name": "MAPS_KEY",
"environment": "test",
"scope": "startup"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Secret.revoke",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Secret.rotate
Rotate replaces a Secret’s value, and calls already running finish on the old one. Verb page.
POST /{namespace}/ secrets/ {secret}/ rotatePath: secret. Body, as JSON: the other inputs. Emits Secret.rotated.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
secret | Secret | required | The Secret to rotate. |
value | string | The new value; omitted when the upstream issues one. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
secret | Secret | required | The Secret, with its new rotatedAt. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ secrets/ secret_UaNXUkKsJB/ rotate \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"{
"api": "https: //api.sb/ leaseline.app",
"secret": {
"$id": "https: //api.sb/ leaseline.app/ secrets/ secret_UaNXUkKsJB",
"$type": "Secret",
"name": "MAPS_KEY",
"environment": "test",
"scope": "startup"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Secret.rotate",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}Secret.store
Store writes a Secret’s value for one environment; the value is never returned by any Interface. Verb page.
POST /{namespace}/ secrets/ storeBody, as JSON: the inputs. Emits Secret.stored.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
name | string | required | The name Functions declare. |
value | string | required | The credential; write-only. |
environment | string | required | Where it holds. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
secret | Secret | required | The Secret, without its value. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
curl -X POST https: //api.sb/ leaseline.app/ secrets/ store \
-H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
-H "Content-Type: application/ json" \
-d '{"name": "MAPS_KEY", "value": "Example value", "environment": "test"}'{
"api": "https: //api.sb/ leaseline.app",
"secret": {
"$id": "https: //api.sb/ leaseline.app/ secrets/ secret_UaNXUkKsJB",
"$type": "Secret",
"name": "MAPS_KEY",
"environment": "test",
"scope": "startup"
},
"action": {
"$id": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG",
"operation": "Secret.store",
"status": "done"
},
"links": {
"self": "https: //api.sb/ leaseline.app/ actions/ act_br07HsG8MG"
}
}