Access & visibility
Allow newsletters.ListNewsletterSchedules on your API key.
Workspace access by default. Private member data requires approved member delegation through Brigg-Act-As; the key supplies permissions while private ownership and project boundaries remain enforced.
Request
No parameters. Send an empty JSON object ({}).
Preparation, review and sending are separate
A schedule produces issues. An issue has its own issue_id; its generated content has a separate newsletter_id. Read Get newsletter issue until that content and its review_url are available. A schedule start or run response does not mean preparation has finished.
Public callers use manual approval. A person reviews and sends the issue in Brigg; preparing content or saving a draft does not send it to the audience. Send newsletter test email sends a test to the acting member, not the subscriber list.
A schedule's start_at is Unix milliseconds and its timezone is an IANA zone used for recurrence. run_now creates an extra first issue without consuming the first scheduled slot. Pause a schedule with paused: true when you want to stop future preparation while retaining the schedule.
Response
Returns 200 OK with a JSON body.
This operation has no continuation cursor. An empty items array means no matching visible results were returned.
itemsarray of Newsletter scheduleRequiredNewsletter schedules in the workspace, including paused schedules. This operation has no cursor pagination.
Item fields
schedule_idstringRequiredSchedule ID used to read, update or list the schedule's issues.
namestringRequiredDisplay name of the newsletter schedule.
frequencystringRequiredRecurring preparation cadence: weekly is every week, biweekly is every two weeks, monthly is every month in the schedule’s time zone.
timezonestringRequiredIANA time zone, for example Europe/Oslo.
next_run_atinteger or nullRequiredNext planned preparation slot in Unix milliseconds, or null when no slot is scheduled, including while paused. It is not an email-send timestamp.
pausedbooleanRequiredWhether new scheduled issue generation is paused. Existing issues remain available.
approvalstringRequiredApproval policy for generated issues. Public API schedules require manual review and sending in Brigg.
Allowed: "manual", "automatic".
review_urlstringRequiredOpen the schedule in Brigg to review its setup and issues.
Format: uri.
Errors & retries
This operation reads data. It needs no idempotency key and can be retried after a transient failure.
For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.
| HTTP status | Code | What to do |
|---|---|---|
| 400 | invalid_json |
Send a JSON object with Content-Type: application/json. |
| 400 | invalid_input |
Check the request fields and types. |
| 401 | invalid_key |
The workspace API key is missing, invalid or revoked. |
| 403 | forbidden |
Check the key’s operation and resource grants. If Brigg-Act-As is supplied, the key must be authorized to delegate to that member. |
| 404 | not_found |
The requested operation or resource is not available to this credential. |
| 429 | rate_limited |
Wait for Retry-After before retrying. |
Next steps
JSON schemas
Use the complete schemas for validation or client generation.
Full request JSON schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"examples": [
{}
]
}Full response JSON schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"schedule_id": {
"type": "string",
"description": "Schedule ID used to read, update or list the schedule's issues.",
"examples": [
"schedule_customer_updates"
]
},
"name": {
"type": "string",
"description": "Display name of the newsletter schedule.",
"examples": [
"Customer updates"
]
},
"frequency": {
"type": "string",
"description": "Recurring preparation cadence: weekly is every week, biweekly is every two weeks, monthly is every month in the schedule’s time zone.",
"examples": [
"monthly"
]
},
"timezone": {
"type": "string",
"description": "IANA time zone, for example Europe/Oslo."
},
"next_run_at": {
"type": [
"integer",
"null"
],
"description": "Next planned preparation slot in Unix milliseconds, or null when no slot is scheduled, including while paused. It is not an email-send timestamp.",
"examples": [
1796893200000
]
},
"paused": {
"type": "boolean",
"description": "Whether new scheduled issue generation is paused. Existing issues remain available.",
"examples": [
false
]
},
"approval": {
"type": "string",
"enum": [
"manual",
"automatic"
],
"description": "Approval policy for generated issues. Public API schedules require manual review and sending in Brigg.",
"examples": [
"manual"
]
},
"review_url": {
"type": "string",
"format": "uri",
"description": "Open the schedule in Brigg to review its setup and issues.",
"examples": [
"https://example.com/newsletters/schedule_customer_updates"
]
}
},
"required": [
"schedule_id",
"name",
"frequency",
"timezone",
"next_run_at",
"paused",
"approval",
"review_url"
],
"additionalProperties": false,
"title": "Newsletter schedule"
},
"description": "Newsletter schedules in the workspace, including paused schedules. This operation has no cursor pagination."
}
},
"required": [
"items"
],
"additionalProperties": false,
"examples": [
{
"items": [
{
"schedule_id": "schedule_customer_updates",
"name": "Customer updates",
"frequency": "monthly",
"timezone": "Europe/Oslo",
"next_run_at": 1796893200000,
"paused": false,
"approval": "manual",
"review_url": "https://example.com/newsletters/schedule_customer_updates"
}
]
}
]
}