Skip to Content
API ReferenceHashtag Sets

Hashtag Sets

Hashtag Sets let you save named collections of hashtags and reuse them when composing posts. Tags are normalized automatically — the # prefix is stripped, whitespace is trimmed, and all characters are lowercased before storage.

Base URL

https://api.voxburst.io/v1/hashtag-sets

Hashtag Set Object

{ "id": "cmp6v6bhf000369v60htcu3vc", "name": "Tech Launch", "tags": ["newfeature", "saas", "productlaunch", "buildinpublic"], "createdAt": "2026-04-01T10:00:00Z", "updatedAt": "2026-04-01T10:00:00Z" }
FieldTypeDescription
idstringcuid2 identifier
namestringDisplay name (1–100 chars, unique within workspace)
tagsstring[]Normalized hashtags — stored without #, lowercase
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last-updated timestamp

Tags are normalized on write: the # prefix is removed, characters are lowercased, and leading/trailing whitespace is trimmed. For example, "#NewFeature " is stored as "newfeature".


List Hashtag Sets

GET /v1/hashtag-sets

Returns all hashtag sets for the workspace, ordered by most recently updated.

Query parameters:

ParameterTypeDefaultDescription
limitinteger50Items per page (1–100)
cursorstringPagination cursor from previous response
curl https://api.voxburst.io/v1/hashtag-sets \ -H "Authorization: Bearer vb_live_xxxxxxxxxxxxx"

Response (200)

{ "data": [ { "id": "cmp6v6bhf000369v60htcu3vc", "name": "Tech Launch", "tags": ["newfeature", "saas", "productlaunch"], "createdAt": "2026-04-01T10:00:00Z", "updatedAt": "2026-04-01T10:00:00Z" } ], "pagination": { "nextCursor": null, "hasMore": false } }

Get Hashtag Set

GET /v1/hashtag-sets/:id

Returns a single hashtag set by ID.

curl https://api.voxburst.io/v1/hashtag-sets/cmp6v6bhf000369v60htcu3vc \ -H "Authorization: Bearer vb_live_xxxxxxxxxxxxx"

Response (200)

{ "data": { "id": "cmp6v6bhf000369v60htcu3vc", "name": "Tech Launch", "tags": ["newfeature", "saas", "productlaunch"], "createdAt": "2026-04-01T10:00:00Z", "updatedAt": "2026-04-01T10:00:00Z" } }

Create Hashtag Set

POST /v1/hashtag-sets

Required scopes: hashtag-sets:write

Returns HTTP 201 Created.

Request Body

FieldTypeRequiredConstraints
namestringYes1–100 chars. Must be unique within the workspace (case-insensitive).
tagsstring[]Yes1–30 tags, each 1–50 chars. Tags are normalized (see above).
curl -X POST https://api.voxburst.io/v1/hashtag-sets \ -H "Authorization: Bearer vb_live_xxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "name": "Tech Launch", "tags": ["#NewFeature", "#SaaS", "ProductLaunch", "buildinpublic"] }'

Response (201)

{ "data": { "id": "cmp6v6bhf000369v60htcu3vc", "name": "Tech Launch", "tags": ["newfeature", "saas", "productlaunch", "buildinpublic"], "createdAt": "2026-04-01T10:00:00Z", "updatedAt": "2026-04-01T10:00:00Z" }, "message": "Hashtag set created successfully" }

Update Hashtag Set

PATCH /v1/hashtag-sets/:id

Required scopes: hashtag-sets:write

Partially updates a hashtag set. All fields are optional — omitted fields are unchanged.

Request Body

FieldTypeRequiredConstraints
namestringNo1–100 chars. Must be unique within the workspace (case-insensitive).
tagsstring[]No1–30 tags, each 1–50 chars. Replaces the full tag list.
curl -X PATCH https://api.voxburst.io/v1/hashtag-sets/cmp6v6bhf000369v60htcu3vc \ -H "Authorization: Bearer vb_live_xxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "tags": ["newfeature", "saas", "productlaunch", "launch2026"] }'

Response (200)

{ "data": { "id": "cmp6v6bhf000369v60htcu3vc", "name": "Tech Launch", "tags": ["newfeature", "saas", "productlaunch", "launch2026"], "createdAt": "2026-04-01T10:00:00Z", "updatedAt": "2026-04-23T15:30:00Z" }, "message": "Hashtag set updated successfully" }

Delete Hashtag Set

DELETE /v1/hashtag-sets/:id

Required scopes: hashtag-sets:write

Permanently deletes the hashtag set. This cannot be undone.

curl -X DELETE https://api.voxburst.io/v1/hashtag-sets/cmp6v6bhf000369v60htcu3vc \ -H "Authorization: Bearer vb_live_xxxxxxxxxxxxx"

Response (200)

{ "message": "Hashtag set deleted successfully" }

Error Codes

CodeHTTPDescription
NOT_FOUND404No hashtag set with that ID in this workspace
VALIDATION_ERROR400Request body failed schema validation — duplicate name, too many tags, etc.
FORBIDDEN403Valid key but missing hashtag-sets:write scope
Last updated on