Skip to content

Account settings

GET/api/v1/apps/verify_credentials

Verify app credentials

Mastodon compatible User token

Returns

curl "https://pixelfed.social/api/v1/apps/verify_credentials" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "name": "Tintype",
  "website": null,
  "vapid_key": null
}
POST/api/v1/avatar/update

Update avatar

Pixelfed only User token

Body parameters

uploadfilerequired

Returns

curl -X POST "https://pixelfed.social/api/v1/avatar/update" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -F "upload=@dansup-avatar.jpg"
Response
{
  "code": 200,
  "msg": "Avatar successfully updated"
}
DELETE/api/v1.1/accounts/avatar

Remove avatar

Pixelfed only User token Scope write

Returns

curl -X DELETE "https://pixelfed.social/api/v1.1/accounts/avatar" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "id": "2",
  "username": "dansup",
  "acct": "dansup",
  "display_name": "dansup",
  "discoverable": true,
  "locked": false,
  "followers_count": 1284,
  "following_count": 312,
  "statuses_count": 468,
  "note": "Pixelfed developer",
  "note_text": "Pixelfed developer",
  "url": "https://pixelfed.social/dansup",
  "avatar": "https://pixelfed.social/storage/avatars/default.jpg",
  "website": null,
  "local": true,
  "is_admin": false,
  "created_at": "2019-03-02T18:21:07.000000Z",
  "header_bg": null,
  "last_fetched_at": null,
  "pronouns": [],
  "location": null,
  "has_story": false
}
GET/api/v2.1/account/timeline/settings

Get timeline settings

Pixelfed only User token Scope read

Returns

curl "https://pixelfed.social/api/v2.1/account/timeline/settings" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "reblogs_enabled": true,
  "photo_reblogs_only": false
}
POST/api/v2.1/account/timeline/settings

Update timeline settings

Pixelfed only User token Scope write

Body parameters

reblogs_enabledboolean

photo_reblogs_onlyboolean

Returns

curl -X POST "https://pixelfed.social/api/v2.1/account/timeline/settings" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reblogs_enabled": true,
    "photo_reblogs_only": true
  }'
Response
{
  "reblogs_enabled": true,
  "photo_reblogs_only": true
}
POST/api/v1.1/accounts/change-password

Change password

Pixelfed only User token Scope security:write

Body parameters

current_passwordstringrequired

new_passwordstringrequired

confirm_passwordstringrequired

revoke_other_sessionsboolean

Returns

curl -X POST "https://pixelfed.social/api/v1.1/accounts/change-password" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "current_password": "harbour-fog-1987",
    "new_password": "pier-light-at-six",
    "confirm_password": "pier-light-at-six",
    "revoke_other_sessions": true
  }'
Response
{
  "id": "2",
  "username": "dansup",
  "acct": "dansup",
  "display_name": "dansup",
  "locked": false,
  "url": "https://pixelfed.social/dansup",
  "avatar": "https://pixelfed.social/storage/avatars/412/760/avatar.jpg",
  "local": true,
  "created_at": "2019-03-02T18:21:07.000000Z"
}
GET/api/v1.1/accounts/two-factor

Get two-factor status

Pixelfed only User token Scope security:read

Returns

curl "https://pixelfed.social/api/v1.1/accounts/two-factor" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "active": true,
  "setup_at": "2024-06-18T09:42:11.000000Z"
}
GET/api/v1.1/accounts/login-activity

Get login activity

Pixelfed only User token Scope read

Returns

curl "https://pixelfed.social/api/v1.1/accounts/login-activity" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
[{
  "id": 90412,
  "action": "auth.login",
  "ip": "203.0.113.24",
  "ip_current": true,
  "is_mobile": true,
  "device": "Google Pixel 8",
  "browser": "Chrome Mobile",
  "platform": "Android",
  "created_at": "2026-10-16T07:12:40.000Z"
}, {
  "id": 88731,
  "action": "auth.login",
  "ip": "198.51.100.7",
  "ip_current": false,
  "is_mobile": false,
  "device": "",
  "browser": "Firefox",
  "platform": "Ubuntu",
  "created_at": "2026-09-28T19:03:15.000Z"
}]
GET/api/v1.1/accounts/emails-from-pixelfed

List security emails

Pixelfed only User token Scope security:read

Returns

curl "https://pixelfed.social/api/v1.1/accounts/emails-from-pixelfed" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
[{
  "type": "Password Change",
  "subject": "Password Change",
  "to_address": "dansup@example.com",
  "from_address": "noreply@pixelfed.social",
  "created_at": "Oct 9, 2026 at 8:31:02 PM"
}, {
  "type": "Email Verification",
  "subject": "Confirm Email",
  "to_address": "dansup@example.com",
  "from_address": "noreply@pixelfed.social",
  "created_at": "Oct 4, 2026 at 6:15:47 AM"
}]
GET/api/v1.1/accounts/apps-and-applications

List authorized apps

Pixelfed only User token Scope security:read

Query parameters

filterstring

limitinteger

cursorstring

Returns

curl "https://pixelfed.social/api/v1.1/accounts/apps-and-applications?filter=active&limit=20" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
[{
  "id": "5b1f0c9e2d7a48b3e6f1a0c4d9b27e8f13a6c5d0e4b9f2a7c1d8e3b6a0f5c9d2e7b4a1f8c3d6e0b5",
  "current_session": true,
  "name": "Tintype",
  "scopes": ["read", "write", "follow", "push", "security:read"],
  "revoked": false,
  "status": "active",
  "created_at": "2026-10-16T07:12:41+00:00",
  "expires_at": "2027-10-07T07:12:41+00:00"
}, {
  "id": "9c4e1a7b3f0d82e5c6a9b1f4d7e0c3a8b5f2e9d6c1a4b7e0f3d8c5a2b9e6f1d4c7a0b3e8f5d2c9",
  "current_session": false,
  "name": "Pixelfed for Web",
  "scopes": ["read", "write", "follow", "push"],
  "revoked": false,
  "status": "active",
  "created_at": "2026-07-02T14:20:09+00:00",
  "expires_at": "2027-06-23T14:20:09+00:00"
}]
POST/api/v1.1/accounts/apps-and-applications/{id}/revoke

Revoke an app

Pixelfed only User token Scope security:write

Path parameters

idstringrequired

Returns

curl -X POST "https://pixelfed.social/api/v1.1/accounts/apps-and-applications/9c4e1a7b3f0d82e5c6a9b1f4d7e0c3a8b5f2e9d6c1a4b7e0f3d8c5a2b9e6f1d4c7a0b3e8f5d2c9/revoke" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "id": "9c4e1a7b3f0d82e5c6a9b1f4d7e0c3a8b5f2e9d6c1a4b7e0f3d8c5a2b9e6f1d4c7a0b3e8f5d2c9",
  "current_session": false,
  "name": "Pixelfed for Web",
  "scopes": ["read", "write", "follow", "push"],
  "revoked": true,
  "status": "revoked",
  "created_at": "2026-07-02T14:20:09+00:00",
  "expires_at": "2027-06-23T14:20:09+00:00"
}
GET/api/v1.1/accounts/username/{username}

Look up an account by username

Pixelfed only User token Scope read

Path parameters

usernamestringrequired

Returns

curl "https://pixelfed.social/api/v1.1/accounts/username/jonas" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
{
  "id": "412760184563377",
  "username": "jonas",
  "acct": "jonas",
  "display_name": "Jonas Berg",
  "locked": false,
  "followers_count": 527,
  "following_count": 401,
  "statuses_count": 193,
  "url": "https://pixelfed.social/jonas",
  "avatar": "https://pixelfed.social/storage/avatars/412/760/377/avatar.jpg",
  "local": true,
  "created_at": "2020-05-14T10:02:33.000000Z"
}
GET/api/v1.1/accounts/{id}/posts

Get recent posts by account

Pixelfed only User token Scope read

Path parameters

idstringrequired

Query parameters

usernamestring

Returns

curl "https://pixelfed.social/api/v1.1/accounts/2/posts?username=dansup" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
[{
  "id": "728341901556629504",
  "shortcode": "ZnL2wq8xVb",
  "url": "https://pixelfed.social/p/dansup/728341901556629504",
  "content": "Golden hour at the old pier.",
  "content_text": "Golden hour at the old pier.",
  "created_at": "2026-10-12T17:41:09.000Z",
  "favourites_count": 86,
  "reblogs_count": 4,
  "reply_count": 7,
  "sensitive": false,
  "visibility": "public",
  "pf_type": "photo",
  "media_attachments": [{
    "id": "728341067224219648",
    "type": "image",
    "url": "https://pixelfed.social/storage/m/_v2/2/pier.jpg"
  }],
  "account": {
    "id": "2",
    "username": "dansup",
    "display_name": "dansup"
  }
}]
GET/api/v1.1/accounts/mutuals/{id}

Get mutual accounts

Pixelfed only User token Scope follow

Path parameters

idstringrequired

Returns

curl "https://pixelfed.social/api/v1.1/accounts/mutuals/412760184563377" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN"
Response
[{
  "id": "412760184563512",
  "username": "liisa",
  "acct": "liisa",
  "display_name": "Liisa Kask",
  "url": "https://pixelfed.social/liisa",
  "avatar": "https://pixelfed.social/storage/avatars/412/760/512/avatar.jpg",
  "local": true
}, {
  "id": "523018847720194",
  "username": "tomasz",
  "acct": "tomasz@photog.example",
  "display_name": "Tomasz",
  "url": "https://photog.example/tomasz",
  "avatar": "https://pixelfed.social/storage/cache/avatars/523/018/avatar.jpg",
  "local": false
}]
POST/api/v2.1/account/remove/permanent

Delete account permanently

Pixelfed only User token Scope write security:write

Body parameters

current_passwordstringrequired

Returns

curl -X POST "https://pixelfed.social/api/v2.1/account/remove/permanent" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "current_password": "harbour-fog-1987"
  }'
Response
{
  "message": "Account deleted"
}
Pixelfed is free and open source software. Edit this page Report a docs issue