Programmatically create, read, and manage text, links, and file transfers with clean JSON payloads.
Receive instant push notifications signed with HMAC SHA-256 when transfers are created, viewed, or expired.
Expose Spext capabilities natively to Claude Desktop, Cursor, and custom LLM agents.
PBKDF2 key derivation and AES-256 GCM encryption for zero-knowledge data transfers.
Guaranteed single-recipient access with atomic deletion upon first successful consumption.
Safely retry failed requests without accidental duplication using Idempotency-Key headers.
Create your first encrypted ephemeral transfer in 3 simple steps.
Visit Account > Developer Settings to generate your secret key with spx_sk_ prefix.
Add Authorization: Bearer <API_KEY> to every HTTP request.
Choose your preferred language below and create your first self-destructing payload.
All Spext REST API endpoints are protected using standard Bearer Token authentication.
Bearer spx_sk_live_...Following the principle of least privilege, grant only necessary scopes to each key:
| Scope | Açıklama |
|---|---|
| transfer:create | Create new text, link, and file transfers |
| transfer:read | Query status, views, and metadata of owned transfers |
| transfer:delete | Manually revoke and permanently delete transfers immediately |
| request:create | Generate file upload request links with PIN authentication |
| request:read | Inspect upload request progress and files |
| secret:create | Create burn-after-reading zero-knowledge secrets |
| room:create | Provision temporary end-to-end encrypted collaboration rooms |
| room:write | Send messages and transient payloads into active rooms |
Test live endpoints, adjust payload fields, and inspect simulated server responses in real time.
REST documentation with schemas, parameters, payloads, and response structures.
/transfersCreates a new encrypted, time-limited transfer for text, link, or file payloads.
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Required | Transfer type: "text", "url", or "file" |
text | string | Optional | Text content (required when type="text") |
targetUrl | string | Optional | Destination URL (required when type="url") |
expiration | string | Optional | Retention duration: 15m, 1h, 6h, 1d, 7d, forever |
oneTime | boolean | Optional | Burn immediately after first successful read |
password | string | Optional | Optional password requirement for access |
/transfersRetrieves a paginated list of active and recent transfers belonging to your API key.
| Field | Type | Required | Description |
|---|---|---|---|
limit | number | Optional | Number of records (max 100) |
status | string | Optional | Filter: "active", "expired", "consumed" |
/transfers/{id}Fetches status, view count, expiration date, and payload snippet for a transfer.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Required | Unique transfer ID or short code |
/transfers/{id}Permanently destroys the transfer ahead of its natural expiration.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Required | ID of the transfer to delete |
/requestsGenerates a secure PIN-protected inbox URL where external parties can upload files directly to you.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Required | Title or description of the requested files |
expiration | string | Optional | Request validity duration |
/secretsEncrypts a zero-knowledge secret that vaporizes from memory and persistence immediately upon access.
| Field | Type | Required | Description |
|---|---|---|---|
secret | string | Required | Secret text or credentials |
password | string | Optional | Optional passphrase |
expiration | string | Optional | Maximum time to live |
/roomsSpins up an ephemeral, encrypted real-time workspace for temporary team debugging.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Required | Room name or incident reference |
ttlHours | number | Optional | Room lifetime in hours |
/debug-shareAccepts raw logs and automatically sanitizes credentials before creating a shareable diagnostic URL.
| Field | Type | Required | Description |
|---|---|---|---|
diagnostics | string | Required | Diagnostic summary |
logs | string | Required | Raw console or stack logs |
Receive real-time push events when transfers are created, accessed, or purged.
Every webhook request carries an X-Spext-Signature header. Verify the signature against your webhook secret to confirm the payload originated from Spext:
Fired immediately after a transfer is successfully created.
Fired when a recipient views the note or completes file download.
Fired when a transfer expires or is revoked via API.
Fired when a new upload request link is provisioned.
Fired when the uploader finishes submitting requested files.
Fired when a burn-after-reading secret is viewed and destroyed.
Every webhook request carries an X-Spext-Signature header. Verify the signature against your webhook secret to confirm the payload originated from Spext:
Equip Claude Desktop, Cursor, LangChain, and autonomous agents with native Spext tools.
Allowing LLMs to output plaintext credentials, environment secrets, and sensitive crash dumps directly in chat creates significant security liability. Spext MCP lets AI agents store secrets in auto-expiring encrypted links instead.
{
"mcpServers": {
"spext": {
"command": "npx",
"args": ["-y", "@spext/mcp-server"],
"env": {
"SPEXT_API_KEY": "spx_sk_live_your_key_here"
}
}
}
}spext_create_transferConverts text, passwords, or links into an auto-expiring, encrypted Spext URL.
spext_get_transferChecks whether a transfer ID is active, remaining TTL, and view count.
spext_create_secretEnables the AI to generate a burn-after-reading secret that self-destructs upon opening.
Specifications and protocols engineered for high reliability and throughput.
Sliding Window
IP-based Quota
Per Transfer
| Code | Status | Description |
|---|---|---|
200 | OK | Request succeeded and returned the expected resource. |
201 | Created | Resource (transfer, request, secret) successfully created. |
400 | Bad Request | Invalid parameter, missing required field, or bad format. |
401 | Unauthorized | Missing or invalid API token (spx_sk_...). |
403 | Forbidden | API key lacks required scope for this action. |
404 | Not Found | Transfer not found, expired, or already burned. |
429 | Too Many Requests | Rate limit exceeded. Pause requests for Retry-After seconds. |
500 | Internal Server Error | Transient service failure. Safe to retry with idempotency key. |
Technical guidance and answers for building on Spext.
Sign in to your Spext account and head over to Account > Developer Settings to generate a new key with your required scopes.
Geliştirici anahtarınızı 30 saniyede oluşturun, dakikalar içinde güvenli ve şifreli veri transferi yapın.