Posts

Feeds

feed-service

The home feed and a profile's posts, custom feeds that a person makes and names (feeds.md), and reposts.

Make a custom feed

POST/feeds/

Who: Somebody signed in, with media:write

Body application/json

  • accessstring
    Who may see it: myself, followers, registered or public. One of myself, followers, registered, public.
  • bodystring
    What it is for, in its owner's words. At most 500 characters.
  • definitionanything
    What it shows, as anahita-libs/feeds reads it.
  • iconstring
    Its picture, by name: one of feeds.Icons. The default when left out. At most 20 characters.
  • namestringrequired
    What it is called. At most 100 characters.

Answers

  • 201
    Created
    feed.CustomFeedResponse application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    the viewer may not make one
  • 409
    too_many_feeds
    Refusal application/json
  • 422
    why the definition was refused: malformed, unknown_field, too_broad, too_many_actors, too_many_hashtags, too_many_keywords, too_many_locations, keyword_length, invalid_hashtag, unknown_media_type, unknown_actor_type, invalid_actor, invalid_location, invalid_language, invalid_near (an area's point or radius, 1 to 500 km), unknown_origin or unknown_order; and, reading a feed of what is near its reader with no near_latitude and near_longitude, location_needed; invalid for a field
    Refusal application/json

Request

curl -X POST "https://api.example.org/feeds/" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "access": "myself",
    "body": "string",
    "definition": null,
    "icon": "string",
    "name": "string"
  }'

Answer · 201

{
  "access": "string",
  "authorized": {
    "copy": false,
    "delete": false,
    "edit": false,
    "pin": false
  },
  "body": "string",
  "created_at": "2026-10-27T09:30:00Z",
  "definition": null,
  "icon": "string",
  "id": 42,
  "is_pinned": false,
  "name": "string",
  "owner": {
    "access": "string",
    "alias": "string",
    "author": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "authorized": {
      "add_follower": null,
      "administration": null,
      "audiences": null,
      "block_from_owner": null,
      "comment": null,
      "composers": null,
      "delete": null,
      "download": null,
      "edit": null,
      "hide": null,
      "invite": null,
      "like": null,
      "pin": null,
      "quote": null
    },
    "avatar_urls": {
      "key": null
    },
    "body": "string",
    "comment_count": 1,
    "content": "string",
    "cover_urls": {
      "key": null
    },
    "created_at": "2026-10-27T09:30:00Z",
    "editor": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "event": {
      "address": null,
      "cancelled_at": null,
      "capacity": null,
      "ends_at": null,
      "going_count": null,
      "has_address": null,
      "has_online_url": null,
      "host": null,
      "is_full": null,
      "maybe_count": null,
      "online_url": null,
      "open_to_host_followers": null,
      "starts_at": null,
      "state": null,
      "timezone_name": null,
      "viewer_rsvp": null
    },
    "feed": {
      "definition": null,
      "icon": null
    },
    "files": [
      null
    ],
    "follower_count": 1,
    "id": 42,
    "is_admined_by_viewer": false,
    "is_blocked_by_viewer": false,
    "is_following_viewer": false,
    "is_leading_viewer": false,
    "is_liked_by_viewer": false,
    "is_reposted_by_viewer": false,
    "is_saved_by_viewer": false,
    "is_subscribed_by_viewer": false,
    "language": "en",
    "likes_count": 1,
    "link_preview": {
      "description": null,
      "image": null,
      "site_name": null,
      "title": null,
      "url": null
    },
    "media_removed": {
      "alts": null,
      "count": null,
      "gone": null
    },
    "mimetype": "string",
    "name": "string",
    "origin_domain": "string",
    "owner": {
      "alias": null,
      "avatar_urls": null,
      "body": null,
      "id": null,
      "is_following_viewer": null,
      "is_leading_viewer": null,
      "name": null,
      "type": null
    },
    "parent": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "pinned": false,
    "portrait_urls": {
      "key": null
    },
    "quote": {
      "post": null,
      "state": null
    },
    "quote_count": 1,
    "quote_id": 42,
    "repost_count": 1,
    "root": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "root_id": 42,
    "title": "string",
    "type": "string",
    "uri": "https://example.org/",
    "verified": false,
    "video": {
      "duration": null,
      "files": null,
      "height": null,
      "loop": null,
      "poster": null,
      "width": null
    }
  },
  "references": [
    {
      "access": "string",
      "alias": "string",
      "author": null,
      "authorized": null,
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": null,
      "event": null,
      "feed": null,
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": null,
      "media_removed": null,
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": null,
      "parent": null,
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": null,
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": null,
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": null
    }
  ],
  "type": "string",
  "updated_at": "2026-10-27T09:30:00Z"
}

One custom feed

GET/feeds/{id}

With the profiles and places its definition names, the ones the viewer may see, in references.

Who: Anyone, signed in or not

Parameters

  • idintegerrequiredin path
    The feed's id.

Answers

  • 200
    OK
    feed.CustomFeedResponse application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 404
    there is no such feed that the viewer may see

Request

curl "https://api.example.org/feeds/<id>"

Answer · 200

{
  "access": "string",
  "authorized": {
    "copy": false,
    "delete": false,
    "edit": false,
    "pin": false
  },
  "body": "string",
  "created_at": "2026-10-27T09:30:00Z",
  "definition": null,
  "icon": "string",
  "id": 42,
  "is_pinned": false,
  "name": "string",
  "owner": {
    "access": "string",
    "alias": "string",
    "author": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "authorized": {
      "add_follower": null,
      "administration": null,
      "audiences": null,
      "block_from_owner": null,
      "comment": null,
      "composers": null,
      "delete": null,
      "download": null,
      "edit": null,
      "hide": null,
      "invite": null,
      "like": null,
      "pin": null,
      "quote": null
    },
    "avatar_urls": {
      "key": null
    },
    "body": "string",
    "comment_count": 1,
    "content": "string",
    "cover_urls": {
      "key": null
    },
    "created_at": "2026-10-27T09:30:00Z",
    "editor": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "event": {
      "address": null,
      "cancelled_at": null,
      "capacity": null,
      "ends_at": null,
      "going_count": null,
      "has_address": null,
      "has_online_url": null,
      "host": null,
      "is_full": null,
      "maybe_count": null,
      "online_url": null,
      "open_to_host_followers": null,
      "starts_at": null,
      "state": null,
      "timezone_name": null,
      "viewer_rsvp": null
    },
    "feed": {
      "definition": null,
      "icon": null
    },
    "files": [
      null
    ],
    "follower_count": 1,
    "id": 42,
    "is_admined_by_viewer": false,
    "is_blocked_by_viewer": false,
    "is_following_viewer": false,
    "is_leading_viewer": false,
    "is_liked_by_viewer": false,
    "is_reposted_by_viewer": false,
    "is_saved_by_viewer": false,
    "is_subscribed_by_viewer": false,
    "language": "en",
    "likes_count": 1,
    "link_preview": {
      "description": null,
      "image": null,
      "site_name": null,
      "title": null,
      "url": null
    },
    "media_removed": {
      "alts": null,
      "count": null,
      "gone": null
    },
    "mimetype": "string",
    "name": "string",
    "origin_domain": "string",
    "owner": {
      "alias": null,
      "avatar_urls": null,
      "body": null,
      "id": null,
      "is_following_viewer": null,
      "is_leading_viewer": null,
      "name": null,
      "type": null
    },
    "parent": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "pinned": false,
    "portrait_urls": {
      "key": null
    },
    "quote": {
      "post": null,
      "state": null
    },
    "quote_count": 1,
    "quote_id": 42,
    "repost_count": 1,
    "root": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "root_id": 42,
    "title": "string",
    "type": "string",
    "uri": "https://example.org/",
    "verified": false,
    "video": {
      "duration": null,
      "files": null,
      "height": null,
      "loop": null,
      "poster": null,
      "width": null
    }
  },
  "references": [
    {
      "access": "string",
      "alias": "string",
      "author": null,
      "authorized": null,
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": null,
      "event": null,
      "feed": null,
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": null,
      "media_removed": null,
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": null,
      "parent": null,
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": null,
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": null,
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": null
    }
  ],
  "type": "string",
  "updated_at": "2026-10-27T09:30:00Z"
}

Change a custom feed

PATCH/feeds/{id}

Who: Somebody signed in, with media:write

Parameters

  • idintegerrequiredin path
    The feed's id.

Body application/json

  • accessstring
    Who may see it: myself, followers, registered or public. One of myself, followers, registered, public.
  • bodystring
    What it is for, in its owner's words. At most 500 characters.
  • definitionanything
    What it shows, as anahita-libs/feeds reads it.
  • iconstring
    Its picture, by name: one of feeds.Icons. The default when left out. At most 20 characters.
  • namestringrequired
    What it is called. At most 100 characters.

Answers

  • 200
    OK
    feed.CustomFeedResponse application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    it is not the viewer's
  • 404
    there is no such feed
  • 422
    why the definition was refused: malformed, unknown_field, too_broad, too_many_actors, too_many_hashtags, too_many_keywords, too_many_locations, keyword_length, invalid_hashtag, unknown_media_type, unknown_actor_type, invalid_actor, invalid_location, invalid_language, invalid_near (an area's point or radius, 1 to 500 km), unknown_origin or unknown_order; and, reading a feed of what is near its reader with no near_latitude and near_longitude, location_needed; invalid for a field
    Refusal application/json

Request

curl -X PATCH "https://api.example.org/feeds/<id>" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "access": "myself",
    "body": "string",
    "definition": null,
    "icon": "string",
    "name": "string"
  }'

Answer · 200

{
  "access": "string",
  "authorized": {
    "copy": false,
    "delete": false,
    "edit": false,
    "pin": false
  },
  "body": "string",
  "created_at": "2026-10-27T09:30:00Z",
  "definition": null,
  "icon": "string",
  "id": 42,
  "is_pinned": false,
  "name": "string",
  "owner": {
    "access": "string",
    "alias": "string",
    "author": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "authorized": {
      "add_follower": null,
      "administration": null,
      "audiences": null,
      "block_from_owner": null,
      "comment": null,
      "composers": null,
      "delete": null,
      "download": null,
      "edit": null,
      "hide": null,
      "invite": null,
      "like": null,
      "pin": null,
      "quote": null
    },
    "avatar_urls": {
      "key": null
    },
    "body": "string",
    "comment_count": 1,
    "content": "string",
    "cover_urls": {
      "key": null
    },
    "created_at": "2026-10-27T09:30:00Z",
    "editor": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "event": {
      "address": null,
      "cancelled_at": null,
      "capacity": null,
      "ends_at": null,
      "going_count": null,
      "has_address": null,
      "has_online_url": null,
      "host": null,
      "is_full": null,
      "maybe_count": null,
      "online_url": null,
      "open_to_host_followers": null,
      "starts_at": null,
      "state": null,
      "timezone_name": null,
      "viewer_rsvp": null
    },
    "feed": {
      "definition": null,
      "icon": null
    },
    "files": [
      null
    ],
    "follower_count": 1,
    "id": 42,
    "is_admined_by_viewer": false,
    "is_blocked_by_viewer": false,
    "is_following_viewer": false,
    "is_leading_viewer": false,
    "is_liked_by_viewer": false,
    "is_reposted_by_viewer": false,
    "is_saved_by_viewer": false,
    "is_subscribed_by_viewer": false,
    "language": "en",
    "likes_count": 1,
    "link_preview": {
      "description": null,
      "image": null,
      "site_name": null,
      "title": null,
      "url": null
    },
    "media_removed": {
      "alts": null,
      "count": null,
      "gone": null
    },
    "mimetype": "string",
    "name": "string",
    "origin_domain": "string",
    "owner": {
      "alias": null,
      "avatar_urls": null,
      "body": null,
      "id": null,
      "is_following_viewer": null,
      "is_leading_viewer": null,
      "name": null,
      "type": null
    },
    "parent": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "pinned": false,
    "portrait_urls": {
      "key": null
    },
    "quote": {
      "post": null,
      "state": null
    },
    "quote_count": 1,
    "quote_id": 42,
    "repost_count": 1,
    "root": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "root_id": 42,
    "title": "string",
    "type": "string",
    "uri": "https://example.org/",
    "verified": false,
    "video": {
      "duration": null,
      "files": null,
      "height": null,
      "loop": null,
      "poster": null,
      "width": null
    }
  },
  "references": [
    {
      "access": "string",
      "alias": "string",
      "author": null,
      "authorized": null,
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": null,
      "event": null,
      "feed": null,
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": null,
      "media_removed": null,
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": null,
      "parent": null,
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": null,
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": null,
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": null
    }
  ],
  "type": "string",
  "updated_at": "2026-10-27T09:30:00Z"
}

Delete a custom feed

DELETE/feeds/{id}

Who: Somebody signed in, with media:write

Parameters

  • idintegerrequiredin path
    The feed's id.

Answers

  • 204
    it is gone
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    it is not the viewer's
  • 404
    there is no such feed

Request

curl -X DELETE "https://api.example.org/feeds/<id>" \
  -H "Authorization: Bearer $TOKEN"

Copy a custom feed

POST/feeds/{id}/copy

A feed of the viewer's own with the same definition, to change.

Who: Somebody signed in, with media:write

Parameters

  • idintegerrequiredin path
    The id of the feed copied.

Body application/json

  • namestring
    What to call the copy, in the copier's own language. "Copy of" and the feed's name when left out. At most 100 characters.

Answers

  • 201
    Created
    feed.CustomFeedResponse application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    the viewer may not copy it
  • 404
    there is no such feed that the viewer may see
  • 409
    too_many_feeds
    Refusal application/json
  • 422
    malformed
    Refusal application/json

Request

curl -X POST "https://api.example.org/feeds/<id>/copy" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string"
  }'

Answer · 201

{
  "access": "string",
  "authorized": {
    "copy": false,
    "delete": false,
    "edit": false,
    "pin": false
  },
  "body": "string",
  "created_at": "2026-10-27T09:30:00Z",
  "definition": null,
  "icon": "string",
  "id": 42,
  "is_pinned": false,
  "name": "string",
  "owner": {
    "access": "string",
    "alias": "string",
    "author": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "authorized": {
      "add_follower": null,
      "administration": null,
      "audiences": null,
      "block_from_owner": null,
      "comment": null,
      "composers": null,
      "delete": null,
      "download": null,
      "edit": null,
      "hide": null,
      "invite": null,
      "like": null,
      "pin": null,
      "quote": null
    },
    "avatar_urls": {
      "key": null
    },
    "body": "string",
    "comment_count": 1,
    "content": "string",
    "cover_urls": {
      "key": null
    },
    "created_at": "2026-10-27T09:30:00Z",
    "editor": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "event": {
      "address": null,
      "cancelled_at": null,
      "capacity": null,
      "ends_at": null,
      "going_count": null,
      "has_address": null,
      "has_online_url": null,
      "host": null,
      "is_full": null,
      "maybe_count": null,
      "online_url": null,
      "open_to_host_followers": null,
      "starts_at": null,
      "state": null,
      "timezone_name": null,
      "viewer_rsvp": null
    },
    "feed": {
      "definition": null,
      "icon": null
    },
    "files": [
      null
    ],
    "follower_count": 1,
    "id": 42,
    "is_admined_by_viewer": false,
    "is_blocked_by_viewer": false,
    "is_following_viewer": false,
    "is_leading_viewer": false,
    "is_liked_by_viewer": false,
    "is_reposted_by_viewer": false,
    "is_saved_by_viewer": false,
    "is_subscribed_by_viewer": false,
    "language": "en",
    "likes_count": 1,
    "link_preview": {
      "description": null,
      "image": null,
      "site_name": null,
      "title": null,
      "url": null
    },
    "media_removed": {
      "alts": null,
      "count": null,
      "gone": null
    },
    "mimetype": "string",
    "name": "string",
    "origin_domain": "string",
    "owner": {
      "alias": null,
      "avatar_urls": null,
      "body": null,
      "id": null,
      "is_following_viewer": null,
      "is_leading_viewer": null,
      "name": null,
      "type": null
    },
    "parent": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "pinned": false,
    "portrait_urls": {
      "key": null
    },
    "quote": {
      "post": null,
      "state": null
    },
    "quote_count": 1,
    "quote_id": 42,
    "repost_count": 1,
    "root": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "root_id": 42,
    "title": "string",
    "type": "string",
    "uri": "https://example.org/",
    "verified": false,
    "video": {
      "duration": null,
      "files": null,
      "height": null,
      "loop": null,
      "poster": null,
      "width": null
    }
  },
  "references": [
    {
      "access": "string",
      "alias": "string",
      "author": null,
      "authorized": null,
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": null,
      "event": null,
      "feed": null,
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": null,
      "media_removed": null,
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": null,
      "parent": null,
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": null,
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": null,
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": null
    }
  ],
  "type": "string",
  "updated_at": "2026-10-27T09:30:00Z"
}

A page of a custom feed

GET/feeds/{id}/items

What it shows, as the viewer may see it, the latest first. Paged by what came before: the next page is asked for with the next_cursor of this one.

Who: Anyone, signed in or not

Parameters

  • idintegerrequiredin path
    The feed's id.
  • cursorstringin query
    Where the page begins: the next_cursor of the page before. The latest when left out. At most 100 characters.
  • limitintegerin query
    The most to send: up to 40. At least 0. At most 40.
  • near_latitudenumberin query
    Where the reader is, for a feed of what is near them: its area is around this point for this page, and the point is kept nowhere. Rounded to three decimals. Needed by such a feed, unread by any other.
  • near_longitudenumberin query

Answers

  • 200
    OK
    feed.CustomFeedPage application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 404
    there is no such feed that the viewer may see
  • 422
    malformed: the cursor is not one
    Refusal application/json

Request

curl "https://api.example.org/feeds/<id>/items"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "alias": "string",
      "author": null,
      "authorized": null,
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": null,
      "event": null,
      "feed": null,
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": null,
      "media_removed": null,
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": null,
      "parent": null,
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": null,
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": null,
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": null
    }
  ],
  "pagination": {
    "has_more": false,
    "limit": 1,
    "next_cursor": "string"
  }
}

Keep a feed on the viewer's home page

PUT/feeds/{id}/pin

Who: Somebody signed in

Parameters

  • idintegerrequiredin path
    The feed's id.

Answers

  • 204
    done
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 404
    there is no such feed that the viewer may see
  • 409
    too_many_pins
    Refusal application/json

Request

curl -X PUT "https://api.example.org/feeds/<id>/pin" \
  -H "Authorization: Bearer $TOKEN"

Take it off the viewer's home page

DELETE/feeds/{id}/pin

Who: Somebody signed in

Parameters

  • idintegerrequiredin path
    The feed's id.

Answers

  • 204
    done
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 404
    there is no such feed that the viewer may see
  • 409
    too_many_pins
    Refusal application/json

Request

curl -X DELETE "https://api.example.org/feeds/<id>/pin" \
  -H "Authorization: Bearer $TOKEN"

A profile's posts, replies or reposts

GET/feeds/actor/{actor_id}/

The ones the viewer may see, its pin first among its posts.

Who: Anyone, signed in or not

Parameters

  • actor_idintegerrequiredin path
    The profile's id.
  • filterstringin query
    Which of the profile's lists: posts (the default), replies, reposts, or tagged, the photos and videos a person is in. One of posts, replies, reposts, tagged.
  • startintegerin query
    How many to pass over. At least 0.
  • limitintegerin query
    The most to send. At least 0. 20 unless given.

Answers

  • 200
    OK
    object application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    members_only: replies are not part of a preview
    Refusal application/json
  • 403
    the viewer may not see the profile
  • 404
    there is no such profile

Request

curl "https://api.example.org/feeds/actor/<actor_id>/"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "alias": "string",
      "author": {
        "alias": null,
        "avatar_urls": null,
        "id": null,
        "name": null,
        "type": null
      },
      "authorized": {
        "add_follower": null,
        "administration": null,
        "audiences": null,
        "block_from_owner": null,
        "comment": null,
        "composers": null,
        "delete": null,
        "download": null,
        "edit": null,
        "hide": null,
        "invite": null,
        "like": null,
        "pin": null,
        "quote": null
      },
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": {
        "alias": null,
        "avatar_urls": null,
        "id": null,
        "name": null,
        "type": null
      },
      "event": {
        "address": null,
        "cancelled_at": null,
        "capacity": null,
        "ends_at": null,
        "going_count": null,
        "has_address": null,
        "has_online_url": null,
        "host": null,
        "is_full": null,
        "maybe_count": null,
        "online_url": null,
        "open_to_host_followers": null,
        "starts_at": null,
        "state": null,
        "timezone_name": null,
        "viewer_rsvp": null
      },
      "feed": {
        "definition": null,
        "icon": null
      },
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": {
        "description": null,
        "image": null,
        "site_name": null,
        "title": null,
        "url": null
      },
      "media_removed": {
        "alts": null,
        "count": null,
        "gone": null
      },
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": {
        "alias": null,
        "avatar_urls": null,
        "body": null,
        "id": null,
        "is_following_viewer": null,
        "is_leading_viewer": null,
        "name": null,
        "type": null
      },
      "parent": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "body": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "files": null,
        "id": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "link_preview": null,
        "name": null,
        "owner": null,
        "portrait_urls": null,
        "title": null,
        "type": null,
        "video": null
      },
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": {
        "post": null,
        "state": null
      },
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "body": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "files": null,
        "id": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "link_preview": null,
        "name": null,
        "owner": null,
        "portrait_urls": null,
        "title": null,
        "type": null,
        "video": null
      },
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": {
        "duration": null,
        "files": null,
        "height": null,
        "loop": null,
        "poster": null,
        "width": null
      }
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 1,
    "total": 1
  }
}

Feeds people have shared

GET/feeds/discover

The ones the viewer may see, the newest first. Paged by how many came before, with no total.

Who: Anyone, signed in or not

Parameters

  • qstringin query
    Part of a name, to find a feed by. At most 100 characters.
  • startintegerin query
    How many to pass over. At least 0.
  • limitintegerin query
    The most to send: up to 40. At least 0. At most 40.

Answers

  • 200
    OK
    feed.DiscoverPage application/json
  • 400
    the request is not well formed, or a value in it is not one it may be

Request

curl "https://api.example.org/feeds/discover"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "authorized": null,
      "body": "string",
      "created_at": "2026-10-27T09:30:00Z",
      "definition": null,
      "icon": "string",
      "id": 42,
      "is_pinned": false,
      "name": "string",
      "owner": null,
      "references": [
        null
      ],
      "type": "string",
      "updated_at": "2026-10-27T09:30:00Z"
    }
  ],
  "pagination": {
    "has_more": false,
    "limit": 1,
    "next_start": 1,
    "start": 1
  }
}

The home feed

GET/feeds/leaders/

Posts from the profiles the viewer follows, the latest first. In order of time, not ranked: a ranked feed is a custom feed the viewer makes.

Who: Anyone, signed in or not

Parameters

  • include_repostsbooleanin query
    Reposts by the profiles the viewer follows as well.
  • include_likedbooleanin query
    What they liked as well.
  • startintegerin query
    How many to pass over. At least 0.
  • limitintegerin query
    The most to send. At least 0. 20 unless given.

Answers

  • 200
    OK
    object application/json
  • 400
    the request is not well formed, or a value in it is not one it may be

Request

curl "https://api.example.org/feeds/leaders/"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "alias": "string",
      "author": {
        "alias": null,
        "avatar_urls": null,
        "id": null,
        "name": null,
        "type": null
      },
      "authorized": {
        "add_follower": null,
        "administration": null,
        "audiences": null,
        "block_from_owner": null,
        "comment": null,
        "composers": null,
        "delete": null,
        "download": null,
        "edit": null,
        "hide": null,
        "invite": null,
        "like": null,
        "pin": null,
        "quote": null
      },
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": {
        "alias": null,
        "avatar_urls": null,
        "id": null,
        "name": null,
        "type": null
      },
      "event": {
        "address": null,
        "cancelled_at": null,
        "capacity": null,
        "ends_at": null,
        "going_count": null,
        "has_address": null,
        "has_online_url": null,
        "host": null,
        "is_full": null,
        "maybe_count": null,
        "online_url": null,
        "open_to_host_followers": null,
        "starts_at": null,
        "state": null,
        "timezone_name": null,
        "viewer_rsvp": null
      },
      "feed": {
        "definition": null,
        "icon": null
      },
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": {
        "description": null,
        "image": null,
        "site_name": null,
        "title": null,
        "url": null
      },
      "media_removed": {
        "alts": null,
        "count": null,
        "gone": null
      },
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": {
        "alias": null,
        "avatar_urls": null,
        "body": null,
        "id": null,
        "is_following_viewer": null,
        "is_leading_viewer": null,
        "name": null,
        "type": null
      },
      "parent": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "body": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "files": null,
        "id": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "link_preview": null,
        "name": null,
        "owner": null,
        "portrait_urls": null,
        "title": null,
        "type": null,
        "video": null
      },
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": {
        "post": null,
        "state": null
      },
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "body": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "files": null,
        "id": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "link_preview": null,
        "name": null,
        "owner": null,
        "portrait_urls": null,
        "title": null,
        "type": null,
        "video": null
      },
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": {
        "duration": null,
        "files": null,
        "height": null,
        "loop": null,
        "poster": null,
        "width": null
      }
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 1,
    "total": 1
  }
}

The viewer's custom feeds

GET/feeds/mine

Who: Somebody signed in

Answers

  • 200
    OK
    object application/json
  • 401
    no token, or one that has expired

Request

curl "https://api.example.org/feeds/mine" \
  -H "Authorization: Bearer $TOKEN"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "authorized": {
        "copy": null,
        "delete": null,
        "edit": null,
        "pin": null
      },
      "body": "string",
      "created_at": "2026-10-27T09:30:00Z",
      "definition": null,
      "icon": "string",
      "id": 42,
      "is_pinned": false,
      "name": "string",
      "owner": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "avatar_urls": null,
        "body": null,
        "comment_count": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "editor": null,
        "event": null,
        "feed": null,
        "files": null,
        "follower_count": null,
        "id": null,
        "is_admined_by_viewer": null,
        "is_blocked_by_viewer": null,
        "is_following_viewer": null,
        "is_leading_viewer": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "is_subscribed_by_viewer": null,
        "language": null,
        "likes_count": null,
        "link_preview": null,
        "media_removed": null,
        "mimetype": null,
        "name": null,
        "origin_domain": null,
        "owner": null,
        "parent": null,
        "pinned": null,
        "portrait_urls": null,
        "quote": null,
        "quote_count": null,
        "quote_id": null,
        "repost_count": null,
        "root": null,
        "root_id": null,
        "title": null,
        "type": null,
        "uri": null,
        "verified": null,
        "video": null
      },
      "references": [
        null
      ],
      "type": "string",
      "updated_at": "2026-10-27T09:30:00Z"
    }
  ]
}

The feeds on the viewer's home page

GET/feeds/pinned

Theirs and other people's they keep there, in order.

Who: Somebody signed in

Answers

  • 200
    OK
    object application/json
  • 401
    no token, or one that has expired

Request

curl "https://api.example.org/feeds/pinned" \
  -H "Authorization: Bearer $TOKEN"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "authorized": {
        "copy": null,
        "delete": null,
        "edit": null,
        "pin": null
      },
      "body": "string",
      "created_at": "2026-10-27T09:30:00Z",
      "definition": null,
      "icon": "string",
      "id": 42,
      "is_pinned": false,
      "name": "string",
      "owner": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "avatar_urls": null,
        "body": null,
        "comment_count": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "editor": null,
        "event": null,
        "feed": null,
        "files": null,
        "follower_count": null,
        "id": null,
        "is_admined_by_viewer": null,
        "is_blocked_by_viewer": null,
        "is_following_viewer": null,
        "is_leading_viewer": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "is_subscribed_by_viewer": null,
        "language": null,
        "likes_count": null,
        "link_preview": null,
        "media_removed": null,
        "mimetype": null,
        "name": null,
        "origin_domain": null,
        "owner": null,
        "parent": null,
        "pinned": null,
        "portrait_urls": null,
        "quote": null,
        "quote_count": null,
        "quote_id": null,
        "repost_count": null,
        "root": null,
        "root_id": null,
        "title": null,
        "type": null,
        "uri": null,
        "verified": null,
        "video": null
      },
      "references": [
        null
      ],
      "type": "string",
      "updated_at": "2026-10-27T09:30:00Z"
    }
  ]
}

Set the feeds on the viewer's home page

PUT/feeds/pins

The whole list, in order. Answers with it.

Who: Somebody signed in

Body application/json

  • idslist of integer
    The feeds kept on the viewer's home page, in order: up to 10. At most 10 of them.

Answers

  • 200
    OK
    object application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 422
    too_many_pins; or feed_not_found, one the viewer may not see
    Refusal application/json

Request

curl -X PUT "https://api.example.org/feeds/pins" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ids": [
      1
    ]
  }'

Answer · 200

{
  "data": [
    {
      "access": "string",
      "authorized": {
        "copy": null,
        "delete": null,
        "edit": null,
        "pin": null
      },
      "body": "string",
      "created_at": "2026-10-27T09:30:00Z",
      "definition": null,
      "icon": "string",
      "id": 42,
      "is_pinned": false,
      "name": "string",
      "owner": {
        "access": null,
        "alias": null,
        "author": null,
        "authorized": null,
        "avatar_urls": null,
        "body": null,
        "comment_count": null,
        "content": null,
        "cover_urls": null,
        "created_at": null,
        "editor": null,
        "event": null,
        "feed": null,
        "files": null,
        "follower_count": null,
        "id": null,
        "is_admined_by_viewer": null,
        "is_blocked_by_viewer": null,
        "is_following_viewer": null,
        "is_leading_viewer": null,
        "is_liked_by_viewer": null,
        "is_reposted_by_viewer": null,
        "is_saved_by_viewer": null,
        "is_subscribed_by_viewer": null,
        "language": null,
        "likes_count": null,
        "link_preview": null,
        "media_removed": null,
        "mimetype": null,
        "name": null,
        "origin_domain": null,
        "owner": null,
        "parent": null,
        "pinned": null,
        "portrait_urls": null,
        "quote": null,
        "quote_count": null,
        "quote_id": null,
        "repost_count": null,
        "root": null,
        "root_id": null,
        "title": null,
        "type": null,
        "uri": null,
        "verified": null,
        "video": null
      },
      "references": [
        null
      ],
      "type": "string",
      "updated_at": "2026-10-27T09:30:00Z"
    }
  ]
}

Try a definition

POST/feeds/preview

The first page of what a feed of this definition would show, before it is made.

Who: Somebody signed in, with media:write

Body application/json

  • definitionanything
    What it would show, as feeds.md describes it.

Answers

  • 200
    OK
    feed.CustomFeedPage application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    the viewer may not do this
  • 422
    why the definition was refused: malformed, unknown_field, too_broad, too_many_actors, too_many_hashtags, too_many_keywords, too_many_locations, keyword_length, invalid_hashtag, unknown_media_type, unknown_actor_type, invalid_actor, invalid_location, invalid_language, invalid_near (an area's point or radius, 1 to 500 km), unknown_origin or unknown_order; and, reading a feed of what is near its reader with no near_latitude and near_longitude, location_needed; invalid for a field
    Refusal application/json

Request

curl -X POST "https://api.example.org/feeds/preview" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "definition": null
  }'

Answer · 200

{
  "data": [
    {
      "access": "string",
      "alias": "string",
      "author": null,
      "authorized": null,
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "comment_count": 1,
      "content": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "editor": null,
      "event": null,
      "feed": null,
      "files": [
        null
      ],
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_leading_viewer": false,
      "is_liked_by_viewer": false,
      "is_reposted_by_viewer": false,
      "is_saved_by_viewer": false,
      "is_subscribed_by_viewer": false,
      "language": "en",
      "likes_count": 1,
      "link_preview": null,
      "media_removed": null,
      "mimetype": "string",
      "name": "string",
      "origin_domain": "string",
      "owner": null,
      "parent": null,
      "pinned": false,
      "portrait_urls": {
        "key": null
      },
      "quote": null,
      "quote_count": 1,
      "quote_id": 42,
      "repost_count": 1,
      "root": null,
      "root_id": 42,
      "title": "string",
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "video": null
    }
  ],
  "pagination": {
    "has_more": false,
    "limit": 1,
    "next_cursor": "string"
  }
}

Who reposted a post

GET/reposts/{parent_id}/

Who: Somebody signed in

Parameters

  • startintegerin query
    How many to pass over. At least 0.
  • limitintegerin query
    The most to send. At least 0. 20 unless given.
  • orderingstringin query
    What they are ordered by. At most 15 characters. One of updated_at, created_at, enabled. created_at unless given.
  • dirstringin query
    Which way the order runs. At most 4 characters. One of asc, desc. desc unless given.
  • parent_idintegerrequiredin path
    The id of the post reposted.

Answers

  • 200
    OK
    object application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    the viewer may not see it

Request

curl "https://api.example.org/reposts/<parent_id>/" \
  -H "Authorization: Bearer $TOKEN"

Answer · 200

{
  "data": [
    {
      "access": "string",
      "alias": "string",
      "allow_download": false,
      "allow_follow_request": false,
      "archived_at": "2026-10-27T09:30:00Z",
      "author": {
        "alias": null,
        "avatar_urls": null,
        "id": null,
        "name": null,
        "type": null
      },
      "avatar_urls": {
        "key": null
      },
      "body": "string",
      "cover_urls": {
        "key": null
      },
      "created_at": "2026-10-27T09:30:00Z",
      "deleted_at": "2026-10-27T09:30:00Z",
      "enabled": false,
      "event": {
        "address": null,
        "cancelled_at": null,
        "capacity": null,
        "ends_at": null,
        "going_count": null,
        "has_address": null,
        "has_online_url": null,
        "host": null,
        "is_full": null,
        "maybe_count": null,
        "online_url": null,
        "open_to_host_followers": null,
        "starts_at": null,
        "state": null,
        "timezone_name": null,
        "viewer_rsvp": null
      },
      "featured_at": "2026-10-27T09:30:00Z",
      "follower_count": 1,
      "id": 42,
      "is_admined_by_viewer": false,
      "is_blocked_by_viewer": false,
      "is_following_viewer": false,
      "is_invited": false,
      "is_leading_viewer": false,
      "leader_count": 1,
      "name": "string",
      "origin_domain": "string",
      "quote_policy": "string",
      "show_reposts_on_profile": false,
      "type": "string",
      "uri": "https://example.org/",
      "verified": false,
      "website_url": "https://example.org/"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 1,
    "total": 1
  }
}

Repost a post

POST/reposts/{parent_id}/

Answers with the repost.

Who: Somebody signed in

Parameters

  • parent_idintegerrequiredin path
    The id of the post to repost.

Answers

  • 201
    Created
    NodeItem application/json
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    the viewer may not repost it

Request

curl -X POST "https://api.example.org/reposts/<parent_id>/" \
  -H "Authorization: Bearer $TOKEN"

Answer · 201

{
  "access": "string",
  "alias": "string",
  "author": {
    "alias": "string",
    "avatar_urls": {
      "key": null
    },
    "id": 42,
    "name": "string",
    "type": "string"
  },
  "authorized": {
    "add_follower": false,
    "administration": false,
    "audiences": [
      "string"
    ],
    "block_from_owner": false,
    "comment": false,
    "composers": [
      "string"
    ],
    "delete": false,
    "download": false,
    "edit": false,
    "hide": false,
    "invite": false,
    "like": false,
    "pin": false,
    "quote": false
  },
  "avatar_urls": {
    "key": {
      "size": null,
      "url": "https://example.org/"
    }
  },
  "body": "string",
  "comment_count": 1,
  "content": "string",
  "cover_urls": {
    "key": {
      "size": null,
      "url": "https://example.org/"
    }
  },
  "created_at": "2026-10-27T09:30:00Z",
  "editor": {
    "alias": "string",
    "avatar_urls": {
      "key": null
    },
    "id": 42,
    "name": "string",
    "type": "string"
  },
  "event": {
    "address": {
      "city": null,
      "country": null,
      "latitude": null,
      "longitude": null,
      "postal_code": null,
      "state_province": null,
      "street": null
    },
    "cancelled_at": "2026-10-27T09:30:00Z",
    "capacity": 1,
    "ends_at": "2026-10-27T09:30:00Z",
    "going_count": 1,
    "has_address": false,
    "has_online_url": false,
    "host": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null,
      "verified": null
    },
    "is_full": false,
    "maybe_count": 1,
    "online_url": "https://example.org/",
    "open_to_host_followers": false,
    "starts_at": "2026-10-27T09:30:00Z",
    "state": "string",
    "timezone_name": "string",
    "viewer_rsvp": "string"
  },
  "feed": {
    "definition": null,
    "icon": "string"
  },
  "files": [
    {
      "alt_text": "string",
      "height": 1,
      "id": "string",
      "position": 1,
      "urls": {
        "key": null
      },
      "width": 1
    }
  ],
  "follower_count": 1,
  "id": 42,
  "is_admined_by_viewer": false,
  "is_blocked_by_viewer": false,
  "is_following_viewer": false,
  "is_leading_viewer": false,
  "is_liked_by_viewer": false,
  "is_reposted_by_viewer": false,
  "is_saved_by_viewer": false,
  "is_subscribed_by_viewer": false,
  "language": "en",
  "likes_count": 1,
  "link_preview": {
    "description": "string",
    "image": "string",
    "site_name": "string",
    "title": "string",
    "url": "https://example.org/"
  },
  "media_removed": {
    "alts": [
      "string"
    ],
    "count": 1,
    "gone": false
  },
  "mimetype": "string",
  "name": "string",
  "origin_domain": "string",
  "owner": {
    "alias": "string",
    "avatar_urls": {
      "key": null
    },
    "body": "string",
    "id": 42,
    "is_following_viewer": false,
    "is_leading_viewer": false,
    "name": "string",
    "type": "string"
  },
  "parent": {
    "access": "string",
    "alias": "string",
    "author": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "authorized": {
      "add_follower": null,
      "administration": null,
      "audiences": null,
      "block_from_owner": null,
      "comment": null,
      "composers": null,
      "delete": null,
      "download": null,
      "edit": null,
      "hide": null,
      "invite": null,
      "like": null,
      "pin": null,
      "quote": null
    },
    "body": "string",
    "content": "string",
    "cover_urls": {
      "key": null
    },
    "created_at": "2026-10-27T09:30:00Z",
    "files": [
      null
    ],
    "id": 42,
    "is_liked_by_viewer": false,
    "is_reposted_by_viewer": false,
    "is_saved_by_viewer": false,
    "link_preview": {
      "description": null,
      "image": null,
      "site_name": null,
      "title": null,
      "url": null
    },
    "name": "string",
    "owner": {
      "alias": null,
      "avatar_urls": null,
      "body": null,
      "id": null,
      "is_following_viewer": null,
      "is_leading_viewer": null,
      "name": null,
      "type": null
    },
    "portrait_urls": {
      "key": null
    },
    "title": "string",
    "type": "string",
    "video": {
      "duration": null,
      "files": null,
      "height": null,
      "loop": null,
      "poster": null,
      "width": null
    }
  },
  "pinned": false,
  "portrait_urls": {
    "key": {
      "size": null,
      "url": "https://example.org/"
    }
  },
  "quote": {
    "post": {
      "access": null,
      "alias": null,
      "author": null,
      "authorized": null,
      "body": null,
      "content": null,
      "cover_urls": null,
      "created_at": null,
      "files": null,
      "id": null,
      "is_liked_by_viewer": null,
      "is_reposted_by_viewer": null,
      "is_saved_by_viewer": null,
      "link_preview": null,
      "name": null,
      "owner": null,
      "portrait_urls": null,
      "title": null,
      "type": null,
      "video": null
    },
    "state": "string"
  },
  "quote_count": 1,
  "quote_id": 42,
  "repost_count": 1,
  "root": {
    "access": "string",
    "alias": "string",
    "author": {
      "alias": null,
      "avatar_urls": null,
      "id": null,
      "name": null,
      "type": null
    },
    "authorized": {
      "add_follower": null,
      "administration": null,
      "audiences": null,
      "block_from_owner": null,
      "comment": null,
      "composers": null,
      "delete": null,
      "download": null,
      "edit": null,
      "hide": null,
      "invite": null,
      "like": null,
      "pin": null,
      "quote": null
    },
    "body": "string",
    "content": "string",
    "cover_urls": {
      "key": null
    },
    "created_at": "2026-10-27T09:30:00Z",
    "files": [
      null
    ],
    "id": 42,
    "is_liked_by_viewer": false,
    "is_reposted_by_viewer": false,
    "is_saved_by_viewer": false,
    "link_preview": {
      "description": null,
      "image": null,
      "site_name": null,
      "title": null,
      "url": null
    },
    "name": "string",
    "owner": {
      "alias": null,
      "avatar_urls": null,
      "body": null,
      "id": null,
      "is_following_viewer": null,
      "is_leading_viewer": null,
      "name": null,
      "type": null
    },
    "portrait_urls": {
      "key": null
    },
    "title": "string",
    "type": "string",
    "video": {
      "duration": null,
      "files": null,
      "height": null,
      "loop": null,
      "poster": null,
      "width": null
    }
  },
  "root_id": 42,
  "title": "string",
  "type": "string",
  "uri": "https://example.org/",
  "verified": false,
  "video": {
    "duration": 1.5,
    "files": [
      null
    ],
    "height": 1,
    "loop": false,
    "poster": "string",
    "width": 1
  }
}

Undo a repost

DELETE/reposts/{parent_id}/

Who: Somebody signed in

Parameters

  • parent_idintegerrequiredin path
    The id of the post reposted.

Answers

  • 200
    undone
  • 400
    the request is not well formed, or a value in it is not one it may be
  • 401
    no token, or one that has expired
  • 403
    the viewer may not undo this repost

Request

curl -X DELETE "https://api.example.org/reposts/<parent_id>/" \
  -H "Authorization: Bearer $TOKEN"

Written by Claude, reviewed by Rastin Mehr · About this