API reference/Content requests
Email a content request's link
Try itEmails the waiting request's link to your client in your brand's name (From name + reply-to are yours). The request is unchanged.
POST
/api/v1/sites/{site_id}/content-requests/{request_id}/emailAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the sites:write scope — edit draft pages and sections.
sites:writeChanges the draft or a recordIdempotency-Key requiredMCP tool: email_content_request
Parameters
Named placeholders go in the path; the rest in a JSON body.
site_idstringPath · required- The site's id.1 to 100 characters
request_idstringPath · required- The content request's id.1 to 100 characters
tostringBody · required- At most 200 characters
Response
200 with JSON on success (schema on the right). Errors use the standard envelope; a retry with the same Idempotency-Key gets the first answer back (how retries work).
curl -X POST 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/content-requests/REQUEST_ID/email' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"to":""}'{
"site_id": "SITE_ID",
"request_id": "REQUEST_ID",
"to": ""
}{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"site_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"OPEN",
"ANSWERED",
"WITHDRAWN"
]
},
"link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The page to send your client (in your brand; your own address when it's connected). Null once it is closed."
},
"asks": {
"type": "array",
"items": {
"type": "string",
"enum": [
"logo",
"photos",
"phone",
"email",
"address",
"hours",
"about",
"services"
]
}
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"opened_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "When the client last opened the page (while it was waiting)."
},
"answered": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"at": {
"type": "string"
},
"from_client_area": {
"type": "boolean"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"business_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hours": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"about": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"services": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"price": {
"type": "string"
}
},
"required": [
"name",
"description",
"price"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"logo_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"photo_urls": {
"type": "array",
"items": {
"type": "string"
}
},
"placed": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description": "Where each answer went on the draft, in words; null = not placed (no section fit)."
}
},
"required": [
"name",
"email",
"at",
"from_client_area",
"phone",
"business_email",
"address",
"hours",
"about",
"services",
"logo_url",
"photo_urls",
"placed"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"sample": {
"type": "boolean"
},
"created_at": {
"type": "string"
}
},
"required": [
"id",
"site_id",
"status",
"link",
"asks",
"note",
"opened_at",
"answered",
"sample",
"created_at"
],
"additionalProperties": false
}