API reference
Delete a secret
Delete an available, unexpired secret using its private deletion token.
POST/secrets/{id}/delete
Request#
Send the token in the JSON body, never the API URL. Use an unread secret and variables from Quickstart.
{ "deleteToken": "<token returned at creation>" }// Use an unread secret. Run only after deletion is confirmed.
const deleteResponse = await fetch(
`${api}/secrets/${encodeURIComponent(id)}/delete`,
{
...requestOptions,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ deleteToken }),
signal: AbortSignal.timeout(15000),
},
)
if (deleteResponse.status !== 204) {
throw new Error(`Deletion failed (${deleteResponse.status})`)
}
// 204 has an empty body. Do not call response.json().# Export ID and DELETE_TOKEN using values returned at creation.
# Use an unread secret. The token goes in the body, not the URL.
node --input-type=module -e '
process.stdout.write(JSON.stringify({ deleteToken: process.env.DELETE_TOKEN }));
' | curl -i -X POST "https://api.xasha.site/secrets/$ID/delete" \
-H 'Content-Type: application/json' \
--data-binary @-Response#
204 No Content. The empty body means this request deleted an available secret.
Unavailable or invalid#
Missing, expired, consumed, deleted secrets and well-formed wrong tokens return 404 DELETE_UNAVAILABLE. Malformed bodies or tokens return 400.
{
"error": {
"code": "DELETE_UNAVAILABLE",
"message": "This secret could not be deleted. It may already be unavailable, or the delete link may be invalid."
}
}