API reference
4 endpoints, served at https://orbitwrite.com/api/v1. Each one lists the credentials it accepts, its parameters and every response it can give.
Returns the organization's tags with per-tag post counts, sorted by name. Any member may read; feeds the Tags settings page and the composer's tag suggestions.
A signed-in session only. The Orbitwrite app calls this; an API key is refused.
200TagListThe workspace's tags
400ErrorInvalid request
401ErrorNot signed in
403ErrorNot a member of the organization
curl -X GET "https://orbitwrite.com/api/v1/tags?organizationId=organizationId" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY"{
"tags": [
{
"id": "string",
"name": "string",
"color": "string",
"count": 0,
"createdAt": "string"
}
]
}Creates a standalone tag (not yet attached to any post). Owner/admin only. Tag names are unique per workspace, case-insensitively.
A signed-in session only. The Orbitwrite app calls this; an API key is refused.
organizationIdstringRequiredAt least 1 character.
namestringRequiredAt least 1 character.
colorstringPalette color id — stored colors are constrained to the palette
Defaults to "grey".
"grey""dark-grey""purple""blue""teal""green""yellow""orange""pink""red"200TagMutationResultThe created tag
curl -X POST "https://orbitwrite.com/api/v1/tags" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"organizationId": "string",
"name": "string"
}'{
"ok": true,
"tag": {
"id": "string",
"name": "string",
"color": "string",
"count": 0,
"createdAt": "string"
}
}Owner/admin only. Posts reflect the change automatically — they link to the tag by id.
A signed-in session only. The Orbitwrite app calls this; an API key is refused.
tagIdstringRequiredAt least 1 character.
organizationIdstringRequiredAt least 1 character.
namestringRequiredAt least 1 character.
colorstringRequiredPalette color id — stored colors are constrained to the palette
"grey""dark-grey""purple""blue""teal""green""yellow""orange""pink""red"200TagMutationResultThe updated tag
curl -X PATCH "https://orbitwrite.com/api/v1/tags/{tagId}" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"organizationId": "string",
"name": "string",
"color": "grey"
}'{
"ok": true,
"tag": {
"id": "string",
"name": "string",
"color": "string",
"count": 0,
"createdAt": "string"
}
}Owner/admin only. The tag is removed from every post carrying it (cascade on the join table).
A signed-in session only. The Orbitwrite app calls this; an API key is refused.
tagIdstringRequiredAt least 1 character.
organizationIdstringRequiredAt least 1 character.
200TagDeleteResultThe tag was deleted
okbooleanRequiredcurl -X DELETE "https://orbitwrite.com/api/v1/tags/{tagId}?organizationId=organizationId" \
-H "Authorization: Bearer $ORBITWRITE_API_KEY"{
"ok": true
}