# Admin FASP Remote

Administrative endpoints for managing a remote FASP server. Allows Wellesley admins to configure connection to a FASP server and manage Fediverse server registrations remotely.

## List FASP backfill requests

 - [GET /api/v1/admin/fasp-remote/backfills](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1backfills/get.md): Lists all backfill requests on the FASP server.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

## Get blocked domains

 - [GET /api/v1/admin/fasp-remote/blocklist](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1blocklist/get.md): Retrieves the list of blocked domains from the FASP server.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

## Remove domain from blocklist

 - [DELETE /api/v1/admin/fasp-remote/blocklist/{domain}](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1blocklist~1%7Bdomain%7D/delete.md): Removes a domain from the FASP blocklist. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Add domain to blocklist

 - [POST /api/v1/admin/fasp-remote/blocklist/{domain}](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1blocklist~1%7Bdomain%7D/post.md): Adds a domain to the FASP blocklist. Future content from this domain will be blocked. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Remove FASP remote configuration

 - [DELETE /api/v1/admin/fasp-remote/config](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1config/delete.md): Removes the FASP remote admin configuration, disconnecting from the remote FASP server. The operation is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Get FASP remote configuration

 - [GET /api/v1/admin/fasp-remote/config](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1config/get.md): Returns the current FASP remote admin configuration with masked token.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

## Configure FASP remote connection

 - [POST /api/v1/admin/fasp-remote/config](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1config/post.md): Sets up the connection to a remote FASP server by providing the base URL and admin token. Validates the connection before saving the configuration. The base URL is normalized before storage. The operation is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Trigger global state recovery

 - [POST /api/v1/admin/fasp-remote/recover-state](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1recover-state/post.md): Triggers global state recovery on the FASP server, rebuilding internal state from stored data. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## List server registrations

 - [GET /api/v1/admin/fasp-remote/registrations](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1registrations/get.md): Lists server registrations on the FASP server with optional status filter.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

## Approve server registration

 - [POST /api/v1/admin/fasp-remote/registrations/{serverId}/approve](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1registrations~1%7Bserverid%7D~1approve/post.md): Approves a pending Fediverse server registration on the remote FASP server. The action is audit-logged with the server's domain. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Trigger backfill for a server

 - [POST /api/v1/admin/fasp-remote/registrations/{serverId}/backfill](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1registrations~1%7Bserverid%7D~1backfill/post.md): Triggers a data backfill for a specific server registration on the FASP server. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Block server registration

 - [POST /api/v1/admin/fasp-remote/registrations/{serverId}/block](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1registrations~1%7Bserverid%7D~1block/post.md): Blocks a Fediverse server and its domain on the remote FASP server. Future registration attempts from this domain will be rejected. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Decline server registration

 - [POST /api/v1/admin/fasp-remote/registrations/{serverId}/decline](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1registrations~1%7Bserverid%7D~1decline/post.md): Declines and permanently deletes a Fediverse server registration on the remote FASP server. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Trigger state recovery for a server

 - [POST /api/v1/admin/fasp-remote/registrations/{serverId}/recover-state](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1registrations~1%7Bserverid%7D~1recover-state/post.md): Triggers state recovery for a specific server registration on the FASP server. The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Confirm token rotation

 - [POST /api/v1/admin/fasp-remote/rotate-token/confirm](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1rotate-token~1confirm/post.md): Confirms token rotation with the verification code and updates the stored token.

RBAC: requires Federation.Manage

## Request admin token rotation

 - [POST /api/v1/admin/fasp-remote/rotate-token/request](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1rotate-token~1request/post.md): Requests a new admin token. A verification code will be sent to the configured admin email.

RBAC: requires Federation.Manage

## Get FASP server statistics

 - [GET /api/v1/admin/fasp-remote/stats](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1stats/get.md): Retrieves statistics from the configured FASP server.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

## List FASP subscriptions

 - [GET /api/v1/admin/fasp-remote/subscriptions](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1subscriptions/get.md): Lists all event subscriptions on the FASP server.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

## Initiate admin token recovery

 - [POST /api/v1/admin/fasp-remote/token/recover](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1token~1recover/post.md): Initiates the admin token recovery flow by sending a verification code to the admin email. This proxies to the FASP server without the admin token (forgot-token flow). The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Confirm admin token recovery

 - [POST /api/v1/admin/fasp-remote/token/recover/confirm](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1token~1recover~1confirm/post.md): Confirms admin token recovery with the verification code. This proxies to the FASP server without the admin token (forgot-token flow). The action is audit-logged. Requires Federation.Manage permission.

RBAC: requires Federation.Manage

## Check for FASP server updates

 - [GET /api/v1/admin/fasp-remote/update](https://docs.wellesley.social/openapi/admin-fasp-remote/paths/~1api~1v1~1admin~1fasp-remote~1update/get.md): Checks whether a newer version of the FASP server is available.

RBAC:
- requires ANY of Federation.Read, Federation.Manage

