Documentation Index
Fetch the complete documentation index at: https://mintlify.com/egeuysall/ryva-archive/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The waitlist endpoint allows potential users to sign up for early access to Ryva. This is a public endpoint that doesn’t require authentication.
This endpoint is public and does not require authentication.
Join Waitlist
Add an email address to the Ryva waitlist. Returns the user’s position in the queue.
Request Body
Valid email address to add to waitlist
Optional name of the person joining (optional)
Response
Position in the waitlist queue (1-indexed)
Example
curl -X POST https://api.ryva.com/v1/waitlist \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"name": "John Doe"
}'
{
"message": "Successfully joined the waitlist",
"position": 1247
}
Validation
The endpoint validates:
- Email format: Must be a valid email address
- Email uniqueness: Same email cannot join multiple times
- Name length: If provided, must not exceed reasonable limits
Duplicate Emails
If an email address is already on the waitlist:
{
"error": {
"message": "Email already registered on waitlist",
"code": "CONFLICT",
"status": 409
}
}
The original position is preserved - users cannot game the system by re-registering.
Position Calculation
Waitlist positions are calculated based on:
- Order of registration: First come, first served
- Timestamp: Exact signup time determines position
- Active status: Only active (non-removed) entries count
Position 1 means you’re at the front of the queue.
Privacy
Waitlist data handling:
- Email addresses are stored securely
- Used only for waitlist notifications and early access
- Not shared with third parties
- Can be removed upon request
Error Responses
Invalid Email (400)
{
"error": {
"message": "Invalid email address",
"code": "VALIDATION_ERROR",
"status": 400
}
}
Missing Required Field (400)
{
"error": {
"message": "Invalid request body",
"code": "VALIDATION_ERROR",
"status": 400
}
}
Email Already Registered (409)
{
"error": {
"message": "Email already registered on waitlist",
"code": "CONFLICT",
"status": 409
}
}
Use Cases
Landing Page Signup
// Simple landing page integration
const handleWaitlistSignup = async (email, name) => {
try {
const response = await fetch('https://api.ryva.com/v1/waitlist', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, name })
})
if (response.ok) {
const { position } = await response.json()
showSuccess(`You're #${position} on the waitlist!`)
} else {
const error = await response.json()
showError(error.error.message)
}
} catch (err) {
showError('Failed to join waitlist. Please try again.')
}
}
<form id="waitlist-form">
<input
type="email"
name="email"
placeholder="Enter your email"
required
/>
<input
type="text"
name="name"
placeholder="Your name (optional)"
/>
<button type="submit">Join Waitlist</button>
</form>
<script>
document.getElementById('waitlist-form').addEventListener('submit', async (e) => {
e.preventDefault()
const formData = new FormData(e.target)
const response = await fetch('https://api.ryva.com/v1/waitlist', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email: formData.get('email'),
name: formData.get('name')
})
})
const result = await response.json()
alert(`Success! You are #${result.position} on the waitlist.`)
})
</script>
Next Steps
After joining the waitlist:
- Confirmation email: You’ll receive a confirmation email
- Position updates: Periodic emails about your position
- Early access: Invitation when you reach the front of the queue
- Account creation: Instructions to create your Ryva account
Authentication
Learn about API authentication
Organizations
Create and manage organizations