Forms
List forms
Every form in the account that is not archived, with submission_count and last_submission_at. Returned in one page — the collection is small and is not cursored. Each row carries slug, which is the key the public endpoints are addressed by (/_q/f/{slug}), and allowed_origins: when that list is non-empty the form accepts submissions ONLY from those exact origins, so an integration rendering the form should check its own site origin against it and warn rather than fail silently at submit time.
Default Response
The request failed validation, or a referenced record was rejected.
The tenant slug, or the record the path names, does not exist.
curl -X GET "https://api.radarsend.com/t/acme/api/forms" \ -H "X-API-Key: $RADARSEND_API_KEY"
const res = await fetch('https://api.radarsend.com/t/acme/api/forms', {
method: 'GET',
headers: { 'X-API-Key': process.env.RADARSEND_API_KEY },
});
const data = await res.json();Get a form
One form, including its full fields array of contact and consent bindings. This is the definition the embed is generated from; the public, unauthenticated GET /_q/f/{slug}/config returns the subset a browser needs and is what forms.js reads at render time.
Default Response
The request failed validation, or a referenced record was rejected.
The tenant slug, or the record the path names, does not exist.
curl -X GET "https://api.radarsend.com/t/acme/api/forms/9c21895d-57f0-4a15-a1df-4dc6835d4f80" \ -H "X-API-Key: $RADARSEND_API_KEY"
const res = await fetch('https://api.radarsend.com/t/acme/api/forms/9c21895d-57f0-4a15-a1df-4dc6835d4f80', {
method: 'GET',
headers: { 'X-API-Key': process.env.RADARSEND_API_KEY },
});
const data = await res.json();Get the embed markup for a form
The generated <form> markup plus the forms.js script tag, rendered from the form's current bindings — the same generator the app's snippet modal uses. tracking_domain is the host chosen for the script tag, picked against the form's allowed_origins; it is null when the account has no live tracking host, in which case the script tag is emitted relative and the caller should treat the snippet as not yet installable. The markup can also be inserted after page load, for example in a popup or an AJAX-loaded section, or cloned: forms.js initializes forms added later on its own, and window.RadarSendForms.scan(root) initializes one explicitly.
Default Response
The request failed validation, or a referenced record was rejected.
The tenant slug, or the record the path names, does not exist.
curl -X GET "https://api.radarsend.com/t/acme/api/forms/9c21895d-57f0-4a15-a1df-4dc6835d4f80/embed" \ -H "X-API-Key: $RADARSEND_API_KEY"
const res = await fetch('https://api.radarsend.com/t/acme/api/forms/9c21895d-57f0-4a15-a1df-4dc6835d4f80/embed', {
method: 'GET',
headers: { 'X-API-Key': process.env.RADARSEND_API_KEY },
});
const data = await res.json();