Rift Social

The API

Getting a token

Every member can make their own tokens under Settings โ†’ Developer. A token is either read-only or read and write. It is shown once, when it is made.

Send it as a bearer token on every request:

curl -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Accept: application/json" \
     https://riftdesigns.net/social/api/v1/me

Reads are limited to 120 requests a minute, writes to 60. Everything answers JSON, and errors carry an HTTP status and a message.

Reading

EndpointWhat it gives you
GET /api/v1/What this network is, and every endpoint
GET /api/v1/meThe account the token belongs to
GET /api/v1/feedThe timeline. ?tab=discover for everything public, ?per_page= up to 50
GET /api/v1/posts/{id}One post, with its media and poll
GET /api/v1/posts/{id}/commentsThe comments on a post
GET /api/v1/users/{handle}A profile
GET /api/v1/users/{handle}/postsWhat they posted, if you are allowed to see it
GET /api/v1/notificationsYour notifications
GET /api/v1/conversationsYour conversations
GET /api/v1/conversations/{id}/messagesThe messages in one
GET /api/v1/marketListings. ?q=, ?category=
GET /api/v1/jobsOpen jobs
GET /api/v1/searchPeople, posts, listings and jobs. ?q=

Writing

These need a token with write access.

EndpointBody
POST /api/v1/postsbody, optional visibility (public, followers, private) and link
DELETE /api/v1/posts/{id}โ€”
POST /api/v1/posts/{id}/reacttype: like, love, haha, wow, sad, angry
POST /api/v1/posts/{id}/commentsbody, optional parent_id
POST /api/v1/users/{handle}/followโ€” (follows, or unfollows if you already do)
POST /api/v1/conversations/{id}/messagesbody

An example

# publish a post
curl -X POST https://riftdesigns.net/social/api/v1/posts \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"body":"Hello from the API #rift","visibility":"public"}'

# react to one
curl -X POST https://riftdesigns.net/social/api/v1/posts/42/react \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type":"love"}'

Shapes

A post comes back like this. Lists are paginated, with data and meta.

{
    "data": {
        "id": 42,
        "type": "photo",
        "body": "Hello from the API #rift",
        "visibility": "public",
        "user": {
            "id": 7,
            "name": "Ada",
            "handle": "ada",
            "avatar": null,
            "verified": false
        },
        "media": [
            {
                "url": "https://riftdesigns.net/storage/so/posts/example.jpg",
                "kind": "image",
                "width": 1600,
                "height": 1200
            }
        ],
        "counts": {
            "reactions": 12,
            "comments": 3,
            "shares": 1,
            "views": 208
        },
        "created_at": "2026-09-23T04:10:43+00:00",
        "url": "https://riftdesigns.net/social/p/42"
    }
}

Built with Rift Social.