Secure One-Time Message API

Send self-destructing, password-protected messages that automatically delete after being read. Perfect for sharing sensitive information securely.

Why Choose Our API

End-to-End Encryption

Your messages are encrypted before they're stored and can only be decrypted by the intended recipient with the correct password.

Self-Destructing

Messages are automatically deleted after being read, ensuring sensitive information doesn't persist longer than necessary.

Password Protection

Add an extra layer of security by requiring a password to access your messages.

Getting Started

Start using the One-Time Message API in minutes. Here's a quick example of how to create and read a message:

Create a Message

curl
curl -X POST https://once.rem.land/api/v1/message-create \
  -H "Content-Type: application/json" \
  -d '{
    "content": "This is a secret message that will self-destruct after being read.",
    "password": "my-secret-password",
    "expires": 3600
  }'

Read a Message

curl
curl -X POST https://once.rem.land/api/v1/message-read \
  -H "Content-Type: application/json" \
  -d '{
    "uid": "message-uid-here",
    "password": "my-secret-password"
  }'

API Reference

POST /api/v1/message-create

Create a new one-time message. The message will be deleted after being read once.

Request Parameters
Parameter Type Required Description
content string Yes The message content (max 10,000 characters)
password string No Password to protect the message (if provided, required for reading)
expires_in_seconds integer No Time in seconds until the message expires (default: 3600 = 1 hour)
Request Examples
JSON Request
POST /api/v1/message-create HTTP/1.1
Host: once.rem.land
Content-Type: application/json

{
  "content": "This is a secret message that will self-destruct after being read.",
  "password": "my-secret-password",
  "expires_in_seconds": 7200
}
Form Data Request
POST /api/v1/message-create HTTP/1.1
Host: once.rem.land
Content-Type: application/x-www-form-urlencoded

content=This+is+a+secret+message+that+will+self-destruct+after+being+read.&password=my-secret-password&expires_in_seconds=7200
Response
Success Response
{
  "status": "success",
  "message": "Message created successfully",
  "data": {
    "uid": "unique-message-uid-123",
    "expires_at": "2023-12-31T23:59:59Z"
  }
}
POST /api/v1/message-read

Read a one-time message. The message will be deleted after being read successfully.

Request Parameters
Parameter Type Required Description
uid string Yes The unique ID of the message to read (provided when the message was created)
password string Conditional Required if the message was created with a password
Request Examples
JSON Request
POST /api/v1/message-read HTTP/1.1
Host: once.rem.land
Content-Type: application/json

{
  "uid": "unique-message-uid-123",
  "password": "my-secret-password"
}
Form Data Request
POST /api/v1/message-read HTTP/1.1
Host: once.rem.land
Content-Type: application/x-www-form-urlencoded

uid=unique-message-uid-123&password=my-secret-password
Response
Success Response
{
  "status": "success",
  "message": "success",
  "data": {
    "uid": "unique-message-uid-123",
    "content": "This is the secret message",
    "created_at": "2023-12-31T23:00:00Z",
    "expires_at": "2023-12-31T23:59:59Z"
  }
}
Error Response (Invalid Password)
{
  "status": "error",
  "message": "Invalid password",
  "data": null
}
Error Response (Not Found/Expired)
{
  "status": "error",
  "message": "Message not found, already read, or expired",
  "data": null
  "status": "success",
  "message": "Message deleted successfully"
}
Error Response (Invalid Password)
{
  "status": "error",
  "message": "Invalid password"
}
Error Response (Not Found/Already Deleted)
{
  "status": "error",
  "message": "Message not found or already deleted"
}