API docs

zpe-comments

mount /comments · base https://zpe.vc/comments · v1.0.0 · 9 operations · 5 write · 0 need no account · beta

archived: committed 2026-10-25, from 810709d5. Contract: https://zpe.vc/comments/_/api/v1/openapi.json

GET /_/api/v1/config One site's comment settings, its Turnstile sitekey and the length limit getConfig

One site's comment settings, its Turnstile sitekey and the length limit

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

One site's comment settings, its Turnstile sitekey and the length limit, with a token from the door.

GET /_/api/v1/config
curl -X GET 'https://zpe.vc/comments/_/api/v1/config' \
  -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.

GET /_/api/v1/bootstrap One post's comment tree, with the settings a composer needs getBootstrap

One post's comment tree, with the settings a composer needs

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

One post's comment tree, with the settings a composer needs, with a token from the door.

GET /_/api/v1/bootstrap
curl -X GET 'https://zpe.vc/comments/_/api/v1/bootstrap' \
  -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.

GET /_/api/v1/comments One post's comment tree getComments

One post's comment tree

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

One post's comment tree, with a token from the door.

GET /_/api/v1/comments
curl -X GET 'https://zpe.vc/comments/_/api/v1/comments' \
  -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/comments Post an anonymous comment behind a Turnstile answer postComments

Post an anonymous comment behind a Turnstile answer

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Post an anonymous comment behind a Turnstile answer, with a token from the door.

POST /_/api/v1/comments
curl -X POST 'https://zpe.vc/comments/_/api/v1/comments' \
  -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.

PATCH /_/api/v1/comments/{id} Edit your own comment inside the edit window patchCommentsById

Edit your own comment inside the edit window

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Edit your own comment inside the edit window, with a token from the door.

PATCH /_/api/v1/comments/{id}
curl -X PATCH 'https://zpe.vc/comments/_/api/v1/comments/{id}' \
  -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.

DELETE /_/api/v1/comments/{id} Delete your own comment, or any comment on a site you own deleteCommentsById

Delete your own comment, or any comment on a site you own

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Delete your own comment, or any comment on a site you own, with a token from the door.

DELETE /_/api/v1/comments/{id}
curl -X DELETE 'https://zpe.vc/comments/_/api/v1/comments/{id}' \
  -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/comments/{id}/report Report a comment to the site's owner, once per reader postCommentsByIdReport

Report a comment to the site's owner, once per reader

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Report a comment to the site's owner, once per reader, with a token from the door.

POST /_/api/v1/comments/{id}/report
curl -X POST 'https://zpe.vc/comments/_/api/v1/comments/{id}/report' \
  -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.

GET /_/api/v1/operator/queue The moderation queue, with its open report counts getOperatorQueue

The moderation queue, with its open report counts

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

The moderation queue, with its open report counts, with a token from the door.

GET /_/api/v1/operator/queue
curl -X GET 'https://zpe.vc/comments/_/api/v1/operator/queue' \
  -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/operator/moderate Moderate, ban or unban with a key instead of the console postOperatorModerate

Moderate, ban or unban with a key instead of the console

Parameters

No parameters.

Request body

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

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Moderate, ban or unban with a key instead of the console, with a token from the door.

POST /_/api/v1/operator/moderate
curl -X POST 'https://zpe.vc/comments/_/api/v1/operator/moderate' \
  -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.