API docs

zpe-newsletter

mount /newsletter · base https://zpe.vc/newsletter · v1.0.1 · 2 operations · 2 write · 0 need no account · stable

the document this app serves now. Contract: https://zpe.vc/newsletter/_/api/v1/openapi.json · sha256 0c9885230f71

POST /_/api/v1/newsletter Create this account's one newsletter list, or change its settings postNewsletter

Create this account's one newsletter list, or change its settings

Parameters

No parameters.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The account's list existed and its settings are now what this request asked for; no new list was created.object
201The account had no list and this request created it, at the `slug` it named.object
400The request named no usable list: the title, the from name, the from address, or the public address (1-40 characters of a-z, 0-9 and inner hyphens) is missing or malformed.object
401No session cookie and no key, so there is nobody whose list this could be.object
403The credential was real and does not open this operation: the door named no account, or the key does not carry this route's grant or scope.object
409That public address already belongs to another account's list; one slug exists once across the estate.object
429This key has spent its request ceiling for the moment; retry once the wait the answer names has passed.object
500This app failed while answeringobject
503The door (auth.zpe.vc) did not answer, so the caller could not be named and nothing was written.object

Example

Create this account's one newsletter list, or change its settings, with a token from the door.

POST /_/api/v1/newsletter
curl -X POST 'https://zpe.vc/newsletter/_/api/v1/newsletter' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

POST /_/api/v1/send Queue a campaign to the list, or send one test to a single address postSend

Queue a campaign to the list, or send one test to a single address

Parameters

No parameters.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The campaign was queued for delivery, or — with `mode: test` — the one test email was sent to the address that was asked for.object
400Nothing was queued: no list exists yet, the subject or the HTML is empty, the test address is malformed, or this deployment has no sender wired (`EMAIL_API_URL`).object
401No session cookie and no key, so there is nobody whose campaign this could be.object
403The credential was real and does not open this operation: the door named no account, or the key does not carry this route's grant or scope.object
429This key has spent its request ceiling for the moment; retry once the wait the answer names has passed.object
500This app failed while answeringobject
503The door (auth.zpe.vc) did not answer, so the caller could not be named and nothing was queued.object

Example

Queue a campaign to the list, or send one test to a single address, with a token from the door.

POST /_/api/v1/send
curl -X POST 'https://zpe.vc/newsletter/_/api/v1/send' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.