API reference
Mirage social
/ v1/ messaging/ social/ meYour Feed: the age gate (gate: open, or why not: unchecked or under_16, with recheckAfter and what would open it, check: date_of_birth or estimation) and, once it's open, your social profile (visibility, public likes, muted words, pinned post, counts, unread activity and waiting follow requests). Always answers, so apps can show the gate. How strict the gate is is data (Admin → Feed): off (everyone signed in, except someone known to be under 16), your date of birth, or a face check in ID (Australia's Social Media Minimum Age); while it's closed, every other social route answers 403 with code: "age_assurance", reason and check.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/me' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
gate: {
open: false
reason: "under_16" | "unchecked"
recheckAfter: null | number
check?: "estimation" | "date_of_birth"
}
profile: null
}
| {
gate: {
open: true
method: "none" | "document" | "dev" | "self_declared" | "estimation" | "digital_id" | "bank" | "inference" | "staff"
checkedAt: number
}
profile: {
userId: string
visibility: "private" | "public" | "followers"
likesPublic: boolean
mutedWords: string[]
pushes: {
mentions: boolean
follows: boolean
posts: boolean
likes: boolean
replies: boolean
reposts: boolean
}
storiesToPhotos: boolean
storiesKeepOriginal: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
unread: number
requests: number
}
}/ v1/ messaging/ social/ me/ date-of-birthDeclares your date of birth for the age gate: dateOfBirth (YYYY-MM-DD, from 1900, not in the future). Kept on your Cactive ID account, once: 409 once it's set (support corrects it). Under 16 keeps Feed closed until your 16th birthday, worked out when read. Answers as GET /me: the gate, and your social profile once it's open.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/me/date-of-birth' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
gate: {
open: true
method: "none" | "document" | "dev" | "self_declared" | "estimation" | "digital_id" | "bank" | "inference" | "staff"
checkedAt: number
} | {
open: false
reason: "under_16" | "unchecked"
recheckAfter: null | number
check?: "estimation" | "date_of_birth"
}
profile: null | {
userId: string
visibility: "private" | "public" | "followers"
likesPublic: boolean
mutedWords: string[]
pushes: {
mentions: boolean
follows: boolean
posts: boolean
likes: boolean
replies: boolean
reposts: boolean
}
storiesToPhotos: boolean
storiesKeepOriginal: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
unread: number
requests: number
}
}/ v1/ messaging/ social/ meChanges your social settings: visibility (public; followers: people ask to follow; private: as followers, and hidden from search and suggestions, with requests only from people you share a server with or chat friends; going public approves waiting requests), likesPublic (others see your Likes tab) and mutedWords (up to 200; posts with them stay out of your feeds and activity).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X PATCH 'https://api.cactive.com.au/v1/messaging/social/me' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
profile: {
userId: string
visibility: "private" | "public" | "followers"
likesPublic: boolean
mutedWords: string[]
pushes: {
mentions: boolean
follows: boolean
posts: boolean
likes: boolean
replies: boolean
reposts: boolean
}
storiesToPhotos: boolean
storiesKeepOriginal: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
unread: number
requests: number
}
}/ v1/ messaging/ social/ me/ pinnedPins one of your posts to the top of your profile (postId; empty unpins).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/me/pinned' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
pinnedPostId: null
} | {
pinnedPostId: string
}/ v1/ messaging/ social/ people/ :userIdSomeone's profile on Feed (a person's Cactive ID profile, or a page's): counts, when they joined, your follow (active, requested or null) and bell, whether they follow you, whether they're on your close friends or muted, and whether you can see their posts. 404 for people who aren't on Feed, were deactivated, or blocked you (or you them).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
profile: {
userId: string
kind: "page"
name: string
avatarUrl: null | string
banner: null | string
accent: null | string
about: null | string
category: null | string
website: null | string
visibility: "public"
likesPublic: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
joinedAt: number
self: boolean
role: null | "owner" | "admin"
following: null | "active" | "requested"
notify: boolean
followsYou: null
closeFriend: boolean
friend: boolean
muted: boolean
canSeePosts: boolean
gridFirst: boolean
} | {
userId: string
kind: "person"
name: string
avatarUrl: null | string
banner: null | string
accent: null | string
about: null | string
visibility: "private" | "public" | "followers"
likesPublic: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
joinedAt: number
self: boolean
following: null | "active" | "requested"
notify: boolean
followsYou: null | "active" | "requested"
closeFriend: boolean
friend: boolean
muted: boolean
canSeePosts: boolean
gridFirst: boolean
}
}/ v1/ messaging/ social/ me/ featuredThe posts your grid features at its top, in order (postIds, nine at most, your own photo and video posts; empty clears them).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/me/featured' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
featured: string[]
}/ v1/ messaging/ social/ people/ :userId/ postsA profile's posts, newest first: tab grid (their own photo and video posts; the first page also has the ones they feature, in their order, as featured), posts (posts, quotes and reposts), replies (everything), media (posts with photos or videos) or likes (theirs when they made likes public, or yours). 403 when only their followers see their posts. cursor for the next page.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Query parameters
tabstringDefault
"posts".
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/posts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
featured?: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ people/ :userId/ followersSomeone's followers, newest first, with your follow state toward each; hidden (403) when their posts are.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/followers' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: unknown
avatarUrl: unknown
about: null | string
kind: "person" | "page"
following: null | "active" | "requested"
visibility: "private" | "public" | "followers"
}[]
cursor: null | string
}/ v1/ messaging/ social/ people/ :userId/ followingWho someone follows, with your follow state toward each; hidden (403) when their posts are.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/following' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: unknown
avatarUrl: unknown
about: null | string
kind: "person" | "page"
following: null | "active" | "requested"
visibility: "private" | "public" | "followers"
}[]
cursor: null | string
}/ v1/ messaging/ social/ people/ :userId/ followFollows someone (state: "active"), or asks to when their account is followers-only or private (requested; private accounts take requests only from people they share a server with or are chat friends with). notify: true turns on post notifications. Up to 5,000 accounts and 400 new follows a day (platform settings).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/follow' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
state: "active" | "requested"
}/ v1/ messaging/ social/ people/ :userId/ followTurns post notifications for someone you follow on or off (notify).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X PATCH 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/follow' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
state: "active" | "requested"
notify: boolean
}/ v1/ messaging/ social/ people/ :userId/ followUnfollows someone, or withdraws a request. Their posts leave your Following timeline at once.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/follow' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ requestsPeople asking to follow you, newest first.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/requests' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: unknown
avatarUrl: unknown
about: null | string
kind: "person" | "page"
following: null | "active" | "requested"
visibility: "private" | "public" | "followers"
}[]
}/ v1/ messaging/ social/ requests/ :userIdApproves a follow request; they're told.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/requests/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ requests/ :userIdDeclines a follow request; they aren't told.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/requests/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ followers/ :userIdRemoves one of your followers; they aren't told.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/followers/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ close-friendsYour close friends: the people who see your close-friends posts and stories (when they follow you).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/close-friends' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: unknown
avatarUrl: unknown
about: null | string
kind: "person" | "page"
following: null | "active" | "requested"
visibility: "private" | "public" | "followers"
}[]
}/ v1/ messaging/ social/ close-friends/ :userIdAdds someone to your close friends.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/close-friends/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ close-friends/ :userIdTakes someone off your close friends.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/close-friends/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ mutesPeople you muted.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/mutes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: unknown
avatarUrl: unknown
about: null | string
kind: "person" | "page"
following: null | "active" | "requested"
visibility: "private" | "public" | "followers"
}[]
}/ v1/ messaging/ social/ mutes/ :userIdMutes someone: their posts and activity stay out of your feeds and notifications; they aren't told and their profile still shows them.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/mutes/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ mutes/ :userIdUnmutes someone.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/mutes/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ uploadsWhere to PUT a photo (JPEG, PNG, WebP or GIF) or video (MP4, WebM or MOV) before posting it (name, mime, size; limits in the platform settings): answers mediaId, url and the headers to send. Then post with the media's mediaId, name, mime, size in pixels and alt text.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/uploads' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
mediaId: string
url: string
headers: {
"content-type": string
}
}/ v1/ messaging/ social/ postsPosts: content (up to 4,000 characters; Markdown's chat profile, mentions as <@usr_…>, #hashtags), up to 10 media (each mediaId, name, mime, width, height, alt, a video's durationSecs and poster) or a poll (as in chat), audience (everyone, followers or close_friends) and replyPolicy (everyone, following or mentioned). replyTo makes a reply (within the post's reply controls), quoteOf a quote (of posts everyone can see), serverId a post in that server's feed, asPage posts as a page you run, event shares a server's scheduled event. Mentioned people who can see it are told; followers get it in their Following timeline. Up to 60 posts an hour (platform settings).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/posts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 201
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postIdA post as you see it: its author, media (presigned for an hour), poll, what it quotes or reposts, counts, and what you've done and may do. 404 when you can't see it.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postIdEdits your post's content (and its media's alt text, alts by media id) within an hour of posting, up to 5 times (platform settings); the earlier version is kept.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X PATCH 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postIdDeletes your post (or a page's you run, or a group post as one of the server's moderators) with its likes, reposts, bookmarks and poll votes; replies stay.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ posts/ :postId/ threadA post with its conversation: the posts it replies to (oldest first; gap when one is gone or hidden from you), then its replies, the author's first (cursor for more).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/thread' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
ancestors: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
gap: boolean
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
replies: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ posts/ :postId/ editsA post's earlier versions, oldest first, then as it is now.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/edits' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
versions: {
content: string
at: number
}[]
}/ v1/ messaging/ social/ posts/ :postId/ quotesPosts quoting a post, newest first.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/quotes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ posts/ :postId/ likesWho liked your post (only its author sees this), newest first.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/likes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: string
avatarUrl: null | string
following: null | "active" | "requested"
}[]
}/ v1/ messaging/ social/ posts/ :postId/ likesLikes a post (a repost's post); its author is told (grouped per post for a day). Answers the post as you now see it.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/likes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ likesTakes your like back.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/likes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ repostsWho reposted a post, newest first.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/reposts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: string
avatarUrl: null | string
following: null | "active" | "requested"
}[]
}/ v1/ messaging/ social/ posts/ :postId/ repostsReposts a post everyone can see: it shows on your profile and in your followers' Following timelines. Once per post.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/reposts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ repostsUndoes your repost.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/reposts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ bookmarksBookmarks a post (private: only the count shows).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/bookmarks' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ bookmarksRemoves a bookmark.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/bookmarks' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
post: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ poll/ answers/ :answerIdVotes in a post's poll (one answer each replaces your vote unless it takes several).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).answerIdA poll answer's id (
1–10).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/poll/answers/{answerId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
poll: {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ poll/ answers/ :answerIdTakes your vote back.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).answerIdA poll answer's id (
1–10).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/poll/answers/{answerId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
poll: {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
}/ v1/ messaging/ social/ posts/ :postId/ not-interested"Not interested": the post leaves your For You, and its author and hashtags weigh less there for 30 days.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
postIdA Feed post id (
pst_…).
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/posts/{postId}/not-interested' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ viewsCounts views: the posts (postIds, up to 50) that were on your screen for a second; each counts once a day per person.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/views' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
counted: number
}/ v1/ messaging/ social/ feed/ followingYour Following timeline, newest first: posts, quotes and reposts from the people and pages you follow (and your own), as you may see them now. cursor (the last post's id) for older ones.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/feed/following' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ feed/ for-youFor You: recent posts from your timeline, your servers' feeds, likes people made public and what's popular, ranked by relevance and freshness (weights in the platform settings), each with why it's there. cursor continues the same ranking.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/feed/for-you' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ bookmarksYour bookmarks, newest first.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/bookmarks' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ tags/ :tagPosts with a hashtag, newest first (posts everyone can see).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
tagA hashtag without its
#(case and accents don't matter).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/tags/{tag}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
tag: string
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ exploreExplore: trending hashtags over the last day, popular posts, and people to follow (followed by people you follow, or in your servers; never private accounts).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/explore' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
trends: {
tag: string
count: number
}[]
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
people: {
userId: string
name: unknown
avatarUrl: unknown
about: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
reason: string
}[]
}/ v1/ messaging/ social/ searchSearches posts (q: every word must match; #tags, from:usr_…, has:media, has:poll), newest first, or people by name (type=people). Only posts everyone can see are searchable.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Query parameters
qstringDefault
"".typestringcursorstring
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/search' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
posts: []
people: {
userId: string
name: unknown
avatarUrl: unknown
kind: "person" | "page"
visibility: "private" | "public" | "followers"
following: null | "active" | "requested"
}[]
cursor: null
} | {
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
people: []
cursor: null | string
}/ v1/ messaging/ social/ mention-candidatesPeople to complete an @mention with (q): who you follow, who follows you, and people found by name.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Query parameters
qstringDefault
"".
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/mention-candidates' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
people: {
userId: string
name: string
avatarUrl: null | string
}[]
}/ v1/ messaging/ social/ storiesShares a story: one photo or video (media, uploaded as for posts, with alt), an optional caption (up to 500) and closeFriends. It shows for 24 hours (platform settings) to your followers (close friends who follow you for close-friends stories; anyone on your profile when your account is public), then stays in your archive.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/stories' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 201
{
story: {
views?: number
caption: null | string
closeFriends: boolean
createdAt: number
activeUntil: number
seen: boolean
liked: boolean
rendered?: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
storyId: string
authorId: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
layers: {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "text"
text: string
font: "light" | "serif" | "classic" | "strong"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
background: "none" | "soft" | "solid"
align: "left" | "center" | "right"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "mention"
userId: string
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "link"
url: string
label?: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "emoji"
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "custom"
emojiId: string
name: string
animated: boolean
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "sticker"
stickerId: string
name: string
format: "gif" | "png" | "webp" | "apng"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "gif"
provider: "klipy" | "giphy"
src?: string
url?: string
width: number
height: number
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "hashtag"
tag: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "location"
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "poll"
question: string
options: string[]
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "question"
prompt: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "slider"
prompt: string
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "countdown"
title: string
endsAt: number
} | {
id: string
kind: "drawing"
z: number
strokes: {
tool: "marker" | "pen" | "highlighter"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
width: number
points: object[]
}[]
}[]
stickers: {
[key: string]: {
mine: null | string | number
tally: null | {
n: number
sum: number
counts: number[]
}
}
}
}
}/ v1/ messaging/ social/ stories/ trayWho has stories up for you: yourself first, then people whose stories you haven't seen, newest first, with how many and whether you've seen them all.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/stories/tray' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
tray: {
userId: string
name: string
avatarUrl: null | string
count: number
latestAt: number
allSeen: boolean
closeFriends: boolean
preview: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
}[]
}/ v1/ messaging/ social/ stories/ archiveEvery story you've shared, newest first (only you see this); cursor for more.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/stories/archive' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
stories: {
views?: number
caption: null | string
closeFriends: boolean
createdAt: number
activeUntil: number
seen: boolean
liked: boolean
rendered?: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
storyId: string
authorId: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
layers: {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "text"
text: string
font: "light" | "serif" | "classic" | "strong"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
background: "none" | "soft" | "solid"
align: "left" | "center" | "right"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "mention"
userId: string
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "link"
url: string
label?: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "emoji"
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "custom"
emojiId: string
name: string
animated: boolean
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "sticker"
stickerId: string
name: string
format: "gif" | "png" | "webp" | "apng"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "gif"
provider: "klipy" | "giphy"
src?: string
url?: string
width: number
height: number
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "hashtag"
tag: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "location"
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "poll"
question: string
options: string[]
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "question"
prompt: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "slider"
prompt: string
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "countdown"
title: string
endsAt: number
} | {
id: string
kind: "drawing"
z: number
strokes: {
tool: "marker" | "pen" | "highlighter"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
width: number
points: object
}[]
}[]
stickers: {
[key: string]: {
mine: null | string | number
tally: null | {
n: number
sum: number
counts: number[]
}
}
}
}[]
cursor: null | string
}/ v1/ messaging/ social/ stories/ :storyIdWhether a story is still up for you (active), whose it is and a still while it is: what a DM answering it shows. Others get 404 once it ends; its author always.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
storyId: string
authorId: string
active: boolean
preview: null | string
author: {
userId: string
name: string
avatarUrl: null | string
}
}/ v1/ messaging/ social/ stories/ :storyId/ responsesAnswers one of a story's interactive stickers (layerId, value): a poll's answer number, a slide from 0 to 1, words for a question, 1 for a countdown's reminder. Votes and slides are final; what the sticker shows you comes back.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}/responses' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
layerId: string
state: {
mine: null | string | number
tally: null | {
n: number
sum: number
counts: number[]
}
}
}/ v1/ messaging/ social/ stories/ :storyId/ responsesEvery answer to your story's stickers, newest first, with who answered. Only its author.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}/responses' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
answers: {
layerId: string
kind: "poll" | "question" | "slider" | "countdown"
userId: string
name: string
avatarUrl: null | string
value: string | number
text: string
at: number
}[]
}/ v1/ messaging/ social/ stories/ :storyId/ viewsMarks a story seen; its author's view count goes up once per person.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}/views' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
seen: boolean
}/ v1/ messaging/ social/ stories/ :storyId/ likesLikes a story; its author is told.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}/likes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
liked: boolean
}/ v1/ messaging/ social/ stories/ :storyId/ likesTakes your like back.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}/likes' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
liked: boolean
}/ v1/ messaging/ social/ stories/ :storyId/ viewersWho saw your story and who liked it, newest first. Only its author.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}/viewers' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
viewers: {
userId: string
name: string
avatarUrl: null | string
liked: boolean
at: number
}[]
}/ v1/ messaging/ social/ stories/ :storyIdDeletes your story; it also leaves your highlights.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
storyIdA story id (
sty_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/stories/{storyId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ people/ :userId/ storiesSomeone's stories up now that you may see, oldest first, with whether you've seen and liked each (and the view counts of your own).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/stories' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
stories: {
views?: number
caption: null | string
closeFriends: boolean
createdAt: number
activeUntil: number
seen: boolean
liked: boolean
rendered?: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
storyId: string
authorId: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
layers: {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "text"
text: string
font: "light" | "serif" | "classic" | "strong"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
background: "none" | "soft" | "solid"
align: "left" | "center" | "right"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "mention"
userId: string
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "link"
url: string
label?: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "emoji"
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "custom"
emojiId: string
name: string
animated: boolean
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "sticker"
stickerId: string
name: string
format: "gif" | "png" | "webp" | "apng"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "gif"
provider: "klipy" | "giphy"
src?: string
url?: string
width: number
height: number
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "hashtag"
tag: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "location"
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "poll"
question: string
options: string[]
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "question"
prompt: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "slider"
prompt: string
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "countdown"
title: string
endsAt: number
} | {
id: string
kind: "drawing"
z: number
strokes: {
tool: "marker" | "pen" | "highlighter"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
width: number
points: object
}[]
}[]
stickers: {
[key: string]: {
mine: null | string | number
tally: null | {
n: number
sum: number
counts: number[]
}
}
}
}[]
}/ v1/ messaging/ social/ people/ :userId/ highlightsSomeone's highlights (named sets of their stories), with each one's cover and count; empty when their content is for followers only.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/highlights' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
highlights: {
highlightId: string
name: string
count: number
cover: null | {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
}[]
}/ v1/ messaging/ social/ people/ :userId/ highlights/ :highlightIdA highlight's stories in order (close-friends stories only for their close friends).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
userIdA member's user id (
usr_…).highlightIdA highlight id (
shl_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/people/{userId}/highlights/{highlightId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
name: string
stories: {
views?: number
caption: null | string
closeFriends: boolean
createdAt: number
activeUntil: number
seen: boolean
liked: boolean
rendered?: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
storyId: string
authorId: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
layers: {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "text"
text: string
font: "light" | "serif" | "classic" | "strong"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
background: "none" | "soft" | "solid"
align: "left" | "center" | "right"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "mention"
userId: string
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "link"
url: string
label?: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "emoji"
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "custom"
emojiId: string
name: string
animated: boolean
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "sticker"
stickerId: string
name: string
format: "gif" | "png" | "webp" | "apng"
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "gif"
provider: "klipy" | "giphy"
src?: string
url?: string
width: number
height: number
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "hashtag"
tag: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "location"
name: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "poll"
question: string
options: string[]
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "question"
prompt: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "slider"
prompt: string
emoji: string
} | {
id: string
x: number
y: number
scale: number
rotation: number
z: number
kind: "countdown"
title: string
endsAt: number
} | {
id: string
kind: "drawing"
z: number
strokes: {
tool: "marker" | "pen" | "highlighter"
colour: "orange" | "yellow" | "green" | "blue" | "purple" | "red" | "teal" | "white" | "black"
width: number
points: object
}[]
}[]
stickers: {
[key: string]: {
mine: null | string | number
tally: null | {
n: number
sum: number
counts: number[]
}
}
}
}[]
}/ v1/ messaging/ social/ highlightsMakes a highlight from your stories (name, up to 40 characters; storyIds, up to 100; optional coverStoryId). Up to 50 a profile.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/highlights' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 201
{
highlight: {
highlightId: string
name: string
count: number
cover: null | {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
}
}/ v1/ messaging/ social/ highlights/ :highlightIdRenames a highlight or changes its stories or cover.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
highlightIdA highlight id (
shl_…).
Errors
403Feed is only for the person signed in.
curl -X PATCH 'https://api.cactive.com.au/v1/messaging/social/highlights/{highlightId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
highlight: {
highlightId: string
name: string
count: number
cover: null | {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}
}
}/ v1/ messaging/ social/ highlights/ :highlightIdDeletes a highlight (its stories stay in your archive).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
highlightIdA highlight id (
shl_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/highlights/{highlightId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ groups/ :serverIdA server's posts feed (Facebook's groups): feed (off, members or public), posting (everyone who can send messages, or moderators with Manage Messages), and whether you're a member, can post and can change it. Members, or anyone on Feed when the feed is public.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
serverIdMirage server id (
gld_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/groups/{serverId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
group: {
serverId: string
name: string
icon: null | string
feed: "off" | "public" | "members"
posting: "everyone" | "moderators"
member: boolean
canPost: boolean
canManage: boolean
}
}/ v1/ messaging/ social/ groups/ :serverIdTurns a server's feed on (feed: members or public) or off, and chooses who posts (posting). Manage Server; in the server's audit log.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
serverIdMirage server id (
gld_…).
Errors
403Feed is only for the person signed in.
curl -X PATCH 'https://api.cactive.com.au/v1/messaging/social/groups/{serverId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
group: {
serverId: string
name: string
icon: null | string
feed: "off" | "public" | "members"
posting: "everyone" | "moderators"
member: boolean
canPost: boolean
canManage: boolean
}
}/ v1/ messaging/ social/ groups/ :serverId/ postsA server's posts, newest first. Post to it with serverId on POST /social/posts; the server's AutoMod applies and its moderators (Manage Messages) can delete them. Public feeds' posts also reach their authors' followers.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
serverIdMirage server id (
gld_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/groups/{serverId}/posts' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
posts: {
postId: string
kind: "post" | "reply" | "quote" | "repost"
author: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
visibility: "private" | "public" | "followers"
}
content: string
media: {
mediaId: string
url: string
mime: string
kind: "video" | "image"
width: null | number
height: null | number
alt: null | string
durationSecs: null | number
posterUrl: null | string
}[]
poll: null | {
question: string
answers: {
answerId: string
text: string
emoji: null | string
count: number
}[]
multiple: boolean
expiresAt: number
closed: boolean
total: number
mine: string[]
}
mentions: {
userId: string
name: string
}[]
hashtags: string[]
audience: "followers" | "everyone" | "close_friends"
replyPolicy: "following" | "everyone" | "mentioned"
replyTo: null | {
postId: string
author: null | {
userId: string
name: string
}
}
rootId: null | string
quote: null | object | {
postId: string
unavailable: true
}
repostOf: null | object | {
postId: string
unavailable: true
}
serverId: null | string
group: null | {
serverId: string
name: string
icon: null | string
}
event: null | {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
counts: {
likes: number
replies: number
reposts: number
quotes: number
bookmarks: number
views: number
}
viewer: {
liked: boolean
reposted: boolean
bookmarked: boolean
canReply: boolean
canQuote: boolean
canRepost: boolean
canEdit: boolean
canDelete: boolean
}
pinned: boolean
editedAt: null | number
edits: number
createdAt: number
why?: string[]
}[]
cursor: null | string
}/ v1/ messaging/ social/ groups/ :serverId/ eventsA server's upcoming and live events you can see, as cards to share in a post (event on POST /social/posts).
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
serverIdMirage server id (
gld_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/groups/{serverId}/events' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
events: {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}[]
}/ v1/ messaging/ social/ events/ :serverId/ :eventId/ rsvpSays you're going to a server's event, interested in it, or neither (status: going, interested or null); its counts follow and people in the server see them change.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
serverIdMirage server id (
gld_…).eventIdEvent id: a calendar event (
evt_…; a recurring event's occurrences share it), or a Mirage server's event (mev_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/events/{serverId}/{eventId}/rsvp' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
event: {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
}/ v1/ messaging/ social/ events/ :serverId/ :eventId/ coverSets an event's cover photo (media, uploaded as for posts), or removes it (null). Manage Events.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
serverIdMirage server id (
gld_…).eventIdEvent id: a calendar event (
evt_…; a recurring event's occurrences share it), or a Mirage server's event (mev_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/events/{serverId}/{eventId}/cover' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
event: {
serverId: string
eventId: string
serverName: null | string
name: string
description: null | string
startAt: number
endAt: null | number
place: null | string
inVoice: boolean
status: "canceled" | "live" | "upcoming" | "over"
interestedCount: number
goingCount: number
coverUrl: null | string
mine: null | "interested" | "going"
member: boolean
}
}/ v1/ messaging/ social/ pages/ mineThe pages you run (as their owner or an admin), with their follower counts.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/pages/mine' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
pages: {
pageId: string
name: string
category: null | string
avatarUrl: null | string
role: "owner" | "admin"
followers: number
}[]
}/ v1/ messaging/ social/ pagesMakes a page for a business, place or creator (name, category, about, website, accent, a picture as avatar); you're its owner. People follow it like a person; post as it with asPage. Up to 10 a person.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/pages' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 201
{
page: {
userId: string
kind: "page"
name: string
avatarUrl: null | string
banner: null | string
accent: null | string
about: null | string
category: null | string
website: null | string
visibility: "public"
likesPublic: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
joinedAt: number
self: boolean
role: null | "owner" | "admin"
following: null | "active" | "requested"
notify: boolean
followsYou: null
closeFriend: boolean
friend: boolean
muted: boolean
canSeePosts: boolean
gridFirst: boolean
}
}/ v1/ messaging/ social/ pages/ :pageIdChanges a page's details (null clears one). Its owner or admins.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
pageIdPage id: a Notes page (
doc_…), or a Feed page (pgx_…) under/v1/messaging/social; undermarketinga landing page (mkp_…).
Errors
403Feed is only for the person signed in.
curl -X PATCH 'https://api.cactive.com.au/v1/messaging/social/pages/{pageId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
page: {
userId: string
kind: "page"
name: string
avatarUrl: null | string
banner: null | string
accent: null | string
about: null | string
category: null | string
website: null | string
visibility: "public"
likesPublic: boolean
pinnedPostId: null | string
counts: {
followers: number
following: number
posts: number
}
joinedAt: number
self: boolean
role: null | "owner" | "admin"
following: null | "active" | "requested"
notify: boolean
followsYou: null
closeFriend: boolean
friend: boolean
muted: boolean
canSeePosts: boolean
gridFirst: boolean
}
}/ v1/ messaging/ social/ pages/ :pageIdDeactivates a page: its profile and posts stop showing and it can't be followed. Its owner.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
pageIdPage id: a Notes page (
doc_…), or a Feed page (pgx_…) under/v1/messaging/social; undermarketinga landing page (mkp_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/pages/{pageId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ pages/ :pageId/ adminsWho runs a page: its owner and admins. For them.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
pageIdPage id: a Notes page (
doc_…), or a Feed page (pgx_…) under/v1/messaging/social; undermarketinga landing page (mkp_…).
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/pages/{pageId}/admins' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
admins: {
userId: string
name: string
avatarUrl: null | string
role: "owner" | "admin"
}[]
}/ v1/ messaging/ social/ pages/ :pageId/ admins/ :userIdMakes someone on Feed an admin of your page (up to 20). Its owner.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
pageIdPage id: a Notes page (
doc_…), or a Feed page (pgx_…) under/v1/messaging/social; undermarketinga landing page (mkp_…).userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X PUT 'https://api.cactive.com.au/v1/messaging/social/pages/{pageId}/admins/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ pages/ :pageId/ admins/ :userIdRemoves an admin. Its owner.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Path parameters
pageIdPage id: a Notes page (
doc_…), or a Feed page (pgx_…) under/v1/messaging/social; undermarketinga landing page (mkp_…).userIdA member's user id (
usr_…).
Errors
403Feed is only for the person signed in.
curl -X DELETE 'https://api.cactive.com.au/v1/messaging/social/pages/{pageId}/admins/{userId}' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body
/ v1/ messaging/ social/ notificationsYour activity, newest first: follows, requests and approvals, likes and reposts (grouped per post), replies, quotes, mentions, new posts from people whose bell you turned on, and moderation notices; with unread and waiting requests. Open apps also hear social_activity over the socket.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl 'https://api.cactive.com.au/v1/messaging/social/notifications' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 200
{
notifications: {
notificationId: string
type: "post" | "removed" | "poll" | "reply" | "follow" | "quote" | "repost" | "like" | "follow_request" | "follow_accept" | "mention" | "story_reply" | "story_like" | "story_mention" | "story_countdown"
actors: {
userId: string
name: string
avatarUrl: null | string
kind: "person" | "page"
}[]
actorCount: number
post: null | {
postId: unknown
authorId: unknown
text: string
media: unknown
}
ref: null | {
postId: unknown
authorId: unknown
text: string
media: unknown
}
text: null | string
read: boolean
createdAt: number
}[]
cursor: null | string
unread: number
requests: number
}/ v1/ messaging/ social/ notifications/ readMarks your activity seen.
- Auth
- A person's token or an API key, as Authorization: Bearer.
Errors
403Feed is only for the person signed in.
curl -X POST 'https://api.cactive.com.au/v1/messaging/social/notifications/read' \
-H "Authorization: Bearer $CACTIVE_TOKEN"Response 204 with no body