Pixelfed · Agentic Access

Pixelfed Agentic Access

x-agentic-access generated

Pixelfed exposes 68 API operations that an AI agent could call, of which 28 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 40 read and 28 write.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

FediverseActivityPubPhoto SharingSocial MediaOpen SourceDecentralizedMastodon CompatibleFederation
Operations: 68 Acting: 28 Human-in-the-loop: 0 Method: generated

By consequence

read 40 write 28

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 68
  by_action_class:
    connected: 40
    acting: 28
  by_consequence:
    read: 40
    write: 28
  human_in_the_loop_required: 0
operations:
- path: /v1/verify_credentials
  method: get
  operationId: verifyCredentials
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/update_credentials
  method: patch
  operationId: updateCredentials
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{id}
  method: get
  operationId: getAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/accounts/{id}/statuses
  method: get
  operationId: getAccountStatuses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/accounts/{id}/followers
  method: get
  operationId: getAccountFollowers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/accounts/{id}/following
  method: get
  operationId: getAccountFollowing
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/accounts/{id}/follow
  method: post
  operationId: followAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - follow
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{id}/unfollow
  method: post
  operationId: unfollowAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - follow
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{id}/block
  method: post
  operationId: blockAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{id}/unblock
  method: post
  operationId: unblockAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{id}/mute
  method: post
  operationId: muteAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/{id}/unmute
  method: post
  operationId: unmuteAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/accounts/relationships
  method: get
  operationId: getRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/search
  method: get
  operationId: searchAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/accounts/lookup
  method: get
  operationId: lookupAccount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/follow_requests
  method: get
  operationId: listFollowRequests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/follow_requests/{id}/authorize
  method: post
  operationId: authorizeFollowRequest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - follow
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/follow_requests/{id}/reject
  method: post
  operationId: rejectFollowRequest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - follow
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses
  method: post
  operationId: createStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}
  method: get
  operationId: getStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/statuses/{id}
  method: delete
  operationId: deleteStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}/context
  method: get
  operationId: getStatusContext
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/statuses/{id}/favourited_by
  method: get
  operationId: getStatusFavouritedBy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/statuses/{id}/reblogged_by
  method: get
  operationId: getStatusRebloggedBy
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/statuses/{id}/favourite
  method: post
  operationId: favouriteStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}/unfavourite
  method: post
  operationId: unfavouriteStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}/reblog
  method: post
  operationId: reblogStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}/unreblog
  method: post
  operationId: unreblogStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}/bookmark
  method: post
  operationId: bookmarkStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/statuses/{id}/unbookmark
  method: post
  operationId: unbookmarkStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/timelines/home
  method: get
  operationId: getHomeTimeline
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/timelines/public
  method: get
  operationId: getPublicTimeline
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/timelines/tag/{hashtag}
  method: get
  operationId: getHashtagTimeline
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/timelines/list/{list_id}
  method: get
  operationId: getListTimeline
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/media
  method: post
  operationId: uploadMedia
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/media/{id}
  method: get
  operationId: getMedia
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/media/{id}
  method: put
  operationId: updateMedia
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v2/media
  method: post
  operationId: uploadMediaV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/notifications
  method: get
  operationId: listNotifications
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/notifications/{id}
  method: get
  operationId: getNotification
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/notifications/clear
  method: post
  operationId: clearNotifications
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/notifications/{id}/dismiss
  method: post
  operationId: dismissNotification
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v2/search
  method: get
  operationId: search
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/instance
  method: get
  operationId: getInstance
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v2/instance
  method: get
  operationId: getInstanceV2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /nodeinfo/2.0.json
  method: get
  operationId: getNodeInfo
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/trends
  method: get
  operationId: getTrends
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/suggestions
  method: get
  operationId: getSuggestions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/directory
  method: get
  operationId: getDirectory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - follow
    - push
    - read
    - write
- path: /v1/lists
  method: get
  operationId: listLists
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/lists
  method: post
  operationId: createList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/lists/{id}
  method: get
  operationId: getList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/lists/{id}
  method: put
  operationId: updateList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/lists/{id}
  method: delete
  operationId: deleteList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/lists/{id}/accounts
  method: get
  operationId: getListAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/lists/{id}/accounts
  method: post
  operationId: addAccountsToList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/lists/{id}/accounts
  method: delete
  operationId: removeAccountsFromList
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - write
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /v1/bookmarks
  method: get
  operationId: listBookmarks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/favourites
  method: get
  operationId: listFavourites
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/blocks
  method: get
  operationId: listBlocks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/mutes
  method: get
  operationId: listMutes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1/domain_blocks
  method: get
  operationId: listDomainBlocks
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1.1/collections/create
  method: get
  operationId: createCollection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - write
    token:
      max-ttl: 3600
    audit: none
- path: /v1.1/collections/update
  method: get
  operationId: updateCollection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - write
    token:
      max-ttl: 3600
    audit: none
- path: /v1.1/collections/delete
  method: get
  operationId: deleteCollection
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - write
    token:
      max-ttl: 3600
    audit: none
- path: /v1.1/direct
  method: get
  operationId: getDirectMessages
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1.1/stories
  method: get
  operationId: getStories
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - read
    token:
      max-ttl: 3600
    audit: none
- path: /v1.1/push/update-subscription
  method: post
  operationId: updatePushSubscription
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - push
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required