Claim a kubbi
Consumer routes use the claim_token from the claim URL. No API key required. The claim URL is the credential.
/r/:claim_tokenPreview a kubbi. Returns metadata plus a claim object with the URL and method to claim. Does not count as a retrieval.
Auth: None (claim URL is the credential)
{
"status": "active",
"content_type": "text/plain",
"max_retrievals": 1,
"retrieval_count": 0,
"metadata": null,
"created_at": "...",
"expires_at": "...",
"claim": {
"url": "https://api.kubbi.ai/r/abc123xyz/claim",
"method": "POST",
"description": "Send a POST request to retrieve the content. This will count as a retrieval."
}
}{
"type": "kubbi_package",
"status": "active",
"kubbi_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"file_count": 3,
"total_size_bytes": 1234,
"max_retrievals": 2,
"retrieval_count": 0,
"remaining_reads": 2,
"metadata": null,
"files": [
{ "name": "config.json", "content_type": "application/json", "size_bytes": 128, "role": "config" },
{ "name": "data.csv", "content_type": "text/csv", "size_bytes": 856, "role": "data" },
{ "name": "image.png", "content_type": "image/png", "size_bytes": 250, "role": "attachment" }
],
"created_at": "...",
"expires_at": "...",
"claim": {
"url": "https://api.kubbi.ai/r/pkg456xyz/claim",
"method": "POST",
"message": "This kubbi contains 3 files. POST to claim and retrieve contents."
}
}/r/:claim_token/inspectInspect a kubbi. Same as the preview endpoint above, but without the claim object. Does not count as a retrieval.
Auth: None (claim URL is the credential)
/r/:claim_token/claimClaim a kubbi. Returns the decrypted content. No request body needed (empty POST). Counts as a retrieval. If this is the last allowed retrieval, the payload is permanently wiped.
Auth: None (claim URL is the credential)
{
"content": "sensitive data here",
"content_type": "text/plain",
"metadata": null,
"created_at": "...",
"expires_at": "..."
}For application/json, content is parsed JSON (an object or array). For text/plain, text/markdown, and text/csv, it is a string.
{
"type": "kubbi_package",
"file_count": 3,
"metadata": null,
"files": [
{
"name": "config.json",
"content_type": "application/json",
"size_bytes": 128,
"role": "config",
"content": "{\"env\":\"prod\"}"
},
{
"name": "image.png",
"content_type": "image/png",
"size_bytes": 4096,
"role": "attachment",
"content": "iVBORw0KGgo...",
"encoding": "base64"
}
],
"created_at": "...",
"expires_at": "..."
}Text files (text/* and application/json) have content as a UTF-8 string with no encoding field. Binary files have content as base64 with "encoding": "base64".