Everything you need to integrate Rinnode into your app. Copy-paste examples, full API reference, and framework guides.
Get your first endpoint running in 30 seconds
Complete REST API documentation with examples
Set up real-time event notifications
React, Vue, Svelte, and vanilla JS packages
Step-by-step tutorials for common use cases
Manage endpoints from the command line
Three ways to integrate Rinnode into your app.
<!-- Step 1: Add your form -->
<form action="https://rinnode.com/api/v1/f/YOUR_ENDPOINT"
method="POST">
<!-- Optional Honeypot (Spam Guard) -->
<input name="_rinnode_bot_trap" type="text" style="display:none" tabindex="-1" autocomplete="off" />
<input name="name" type="text" required />
<input name="email" type="email" required />
<textarea name="message"></textarea>
<button type="submit">Submit</button>
</form>
<!-- That's it! Submissions appear in your dashboard. -->// JavaScript / React example
const response = await fetch(
'https://rinnode.com/api/v1/f/YOUR_ENDPOINT',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'Alex Chen',
email: 'alex@example.com',
message: 'I love this product!'
})
}
);
const data = await response.json();
console.log(data.id); // Submission ID
console.log(data.position); // Waitlist position (if configured as waitlist)# cURL example
curl -X POST https://rinnode.com/api/v1/f/YOUR_ENDPOINT \
-H "Content-Type: application/json" \
-d '{
"name": "Alex Chen",
"email": "alex@example.com",
"message": "Hello from cURL!"
}'Rinnode aggregates waitlists, contact forms, newsletter signups, bug reports, and feedback forms behind a single, unified ingest endpoint.
/api/v1/f/{endpoint_id}Unified form ingestion. Accepts form-data or raw JSON payloads.All successful submissions return a JSON payload with a submission ID. If your endpoint is configured as a waitlist (or auto-detected as one), the response dynamically includes the user's active queue position:
{
"success": true,
"id": "sub_f17a9e32cd0f4",
"position": 142
}Include a hidden form field named _rinnode_bot_trap styled with CSS to be invisible to users. Spambots automatically populate all available form fields. When Rinnode detects data inside _rinnode_bot_trap, it silently drops the submission without writing to your database or charging your tier plan limit, returning a clean success status code to waste the bot's resources.