Add an external recipient to a form
POST
/api/v1/forms/{id}/recipients
const url = 'https://api.deploybase.eu/api/v1/api/v1/forms/example/recipients';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"email":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.deploybase.eu/api/v1/api/v1/forms/example/recipients \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "email": "example" }'Links a non-member address to the form. An address new to the team is sent a verification email and starts as pending; an address that already verified for this team is linked immediately. Team-member addresses belong in notify_emails and are rejected.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ” id
required
string
Form ID
Request Body
Section titled “ Request Body ”Address to add
Media type application/json
object
email
required
string
Example generated
{ "email": "example"}Responses
Section titled “ Responses ”Created
Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
created_at
string
email
string
id
string
status
Status is models.FormExternalRecipient.Status(): pending | verified | unsubscribed | bounced | complained. The last two arrived with DEP-332 — an existing client that switches on the first three must treat anything else as “not receiving”, which is what they mean.
string
verified_at
string
Example generated
{ "data": { "created_at": "example", "email": "example", "id": "example", "status": "example", "verified_at": "example" }, "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Bad Request
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Unauthorized
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Forbidden
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Not Found
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Already linked to this form
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Verification cap or cooldown
Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}