# API

Information about Pixelfed&rsquo;s REST API

Last modified Mon Oct 17, 2022

Our v1 API is based on the mastodon v1 API
. You can reference the Mastodon documentation, we listed the differences below.

## Authorization [link]

We use OAuth for api authentication, you can create an OAuth app or Personal Access Token in the Account Settings on Pixelfed.

To create a personal access client :

Add `OAUTH_ENABLED=true` to .env

    php artisan passport:keys
    php artisan config:cache
    php artisan route:cache
    php artisan passport:client --personal

You can then create a new token on this page `/settings/applications`

## Differences with Mastodon API [link]

- Some endpoints return empty arrays as they are not applicable to Pixelfed
- Link Header Pagination is not supported
- Custom limits for captions and albums, they are listed on the /api/v1/instance endpoint
- OAuth Tokens will expire after 15 days, and must be refreshed after that
- Statuses do not honor the (optional) `idempotency-key`

## Libraries [link]

### PHP [link]

- dansup/pixelfed-php