curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/scheduled-sends/approve \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"sendIds": [
"<string>"
]
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/scheduled-sends/approve"
payload = { "sendIds": ["<string>"] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({sendIds: ['<string>']})
};
fetch('https://api.tryfuse.ai/api/v1/business/scheduled-sends/approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"approved": [
"6a8dce70a4566f4f2454bd4f"
],
"ignored": [
"6a8da7adafc401ca94530e14"
],
"notFound": [
"000000000000000000000000"
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Approve queued sends awaiting review
Approves queued sends that are waiting for review: each row in approval_required moves to scheduled and goes out at its scheduled time. Only sends belonging to campaigns you own can be approved. The answer reports every id you passed: approved are the ones that moved, ignored are your sends in a state approval cannot move (already scheduled, sent, skipped, stopped or overwritten), and notFound are ids that do not exist, are not yours, or belong to a deleted campaign. Approving is the one decision that causes a message to be sent. Rate limit: 30 requests/minute and 1,000/day per token owner, shared by every campaign, scheduled-send, campaign-template and knowledge-hub endpoint.
Errors:
422VALIDATION_FAILED— sendIds is missing, empty, longer than 100, contains a duplicate, or an entry is not a 24-character hex id;paramnames the field.429RATE_LIMITED— More than 30 campaign requests in a minute, or 1,000 in a day, for this token owner (the bucket is shared by every /business/campaigns, /business/scheduled-sends, /business/campaign-templates and /business/knowledge-hubs call).500UNEXPECTED_ERROR— An unhandled failure; the detail stays in our logs and is never returned.
Requires one of the following token scopes: campaigns.
curl --request POST \
--url https://api.tryfuse.ai/api/v1/business/scheduled-sends/approve \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"sendIds": [
"<string>"
]
}
'import requests
url = "https://api.tryfuse.ai/api/v1/business/scheduled-sends/approve"
payload = { "sendIds": ["<string>"] }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({sendIds: ['<string>']})
};
fetch('https://api.tryfuse.ai/api/v1/business/scheduled-sends/approve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"approved": [
"6a8dce70a4566f4f2454bd4f"
],
"ignored": [
"6a8da7adafc401ca94530e14"
],
"notFound": [
"000000000000000000000000"
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Your API token (af_…) as the Basic-auth username, with an empty password.
Body
1-100 unique queued-send ids. Approve moves rows in approval_required to scheduled; decline moves rows in approval_required or scheduled to stopped, which also halts that contact's sequence. Ids you do not own are reported under notFound; ids in a state the decision cannot move are reported under ignored.
1 - 100 elementsA queued send id (24-character hex ObjectId).