Skip to main content

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

POST
endpoint
/v1/waitlist
Add an email address to the Ryva waitlist. Returns the user’s position in the queue.

Request Body

email
string
required
Valid email address to add to waitlist
name
string
Optional name of the person joining (optional)

Response

message
string
required
Success message
position
integer
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:
  1. Order of registration: First come, first served
  2. Timestamp: Exact signup time determines position
  3. 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.')
  }
}

Email Collection Form

<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:
  1. Confirmation email: You’ll receive a confirmation email
  2. Position updates: Periodic emails about your position
  3. Early access: Invitation when you reach the front of the queue
  4. Account creation: Instructions to create your Ryva account

Authentication

Learn about API authentication

Organizations

Create and manage organizations

Build docs developers (and LLMs) love