Appearance
Facebook Account-Level Permissioning
Updated: Jun 26, 2026
Facebook account-level permissioning allows you to manage partnership ad permission relationships with creators and other partners at the account level. With account-level permissions in place, you can run partnership ads without requiring additional permissions for each piece of content.
With account-level permissioning, you can:
- List permissions — Retrieve all account-level permission relationships for your Page, with filtering by status, partner, and direction.
- Send permission requests — Request partnership ad permissions from creators or partners.
- Accept or reject requests — Respond to incoming permission requests from partners.
- Cancel, revoke, or remove permissions — Manage the lifecycle of existing permissions.
Before you begin
Perform all operations against your brand's Facebook Page ID. All endpoints support batch processing and use:
- Base URL:
https://api.facebook.com/partnership-ads/fb-account-level-permissions - Authorization: All endpoints require an
Authorization: Bearertoken in the request header.
Permissions
facebook_branded_content_ads_brand
Retrieve account-level permissions
Retrieve a list of account-level partnership ad permissions for your brand's Facebook Page with filtering by status, partner, direction, and pagination.
Parameters
| Name | Description |
|---|---|
status array of integers | Optional. Filters the response by status type. Values: * 1: PENDING_APPROVAL * 2, 7: APPROVED * 3: REJECTED * 4: REVOKED * 5: SELF_REMOVED * 6: CANCELED |
partner_page_ids array of integers | Optional. Filters the response by specific partner Facebook Page IDs. |
permission_direction string | Optional. Filters the response by permission direction. Values: * sent — Your brand's Page sent this request to a potential creator. * received — Your brand's Page received this request from another potential Facebook brand or creator. |
offset integer | Optional. Number of records to skip for pagination, with a minimum value of 0. |
limit integer | Optional. Maximum number of permissions to return, with a maximum of 1000. |
Example request
curl -X GET \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>?status=[1,2]"Example response (200 OK)
[
{
"id": <PERMISSION_ID>,
"partner_page_id": <PARTNER_PAGE_ID>,
"status": 1,
"created_at": "<TIMESTAMP>",
"permission_direction": "sent"
},
{
"id": <PERMISSION_ID>,
"partner_page_id": <PARTNER_PAGE_ID>,
"status": 2,
"created_at": "<TIMESTAMP>",
"permission_direction": "received"
}
]Manage account-level permissions
You can execute one or more permission actions in a single request. Submit all actions as an array in the request body, and the response returns per-item results. Batching actions lets the Page manage both incoming and outgoing account-level permission requests.
Available actions
The action field contains the different types of operation to be performed on the permission request.
Sent request action
- send-request — Send a new request to a creator Page. You can only perform this action if no prior request exists or if an existing request is not active.
- cancel-request — Cancel an already sent request that has not yet been accepted by the creator. Canceling a request lets you rescind incorrect requests.
- remove-permission — Deactivate an existing "approved" request. Removing the permission revokes your authorization to create partnership ads with the linked creator.
Received request actions
- accept-request — Accept a pending request from another brand or creator Page.
- reject-request — Reject a pending request.
- remove-permission — Deactivate an existing "approved" request. Removing the permission ensures that the partner Page can no longer use any of your content for creating partnership ads.
Examples
Sending a permission request
Request
curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
-H "Content-Type: application/json" \
-d '[{"partner_page_id": <PARTNER_PAGE_ID>, "action": "send-request"}]' \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>"Response (200 OK)
[
{
"partner_page_id": <PARTNER_PAGE_ID>,
"alp_permission_id": <PERMISSION_ID>,
"alp_permission_status": 1,
"status": "success"
}
]An alp_permission_status of 1 indicates the permission is now in Pending Approval, awaiting the creator's acceptance.
Accepting an incoming permission request
Request
curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
-H "Content-Type: application/json" \
-d '[{"partner_page_id": <PARTNER_PAGE_ID>, "action": "accept-request"}]' \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>"Response (200 OK)
[
{
"partner_page_id": <PARTNER_PAGE_ID>,
"alp_permission_id": <PERMISSION_ID>,
"alp_permission_status": 2,
"status": "success"
}
]An alp_permission_status of 2 confirms the permission is now Approved.
Rejecting an incoming permission request
Request
curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
-H "Content-Type: application/json" \
-d '[{"partner_page_id": <PARTNER_PAGE_ID>, "action": "reject-request"}]' \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>"Response (200 OK)
[
{
"partner_page_id": <PARTNER_PAGE_ID>,
"alp_permission_id": <PERMISSION_ID>,
"alp_permission_status": 3,
"status": "success"
}
]An alp_permission_status of 3 confirms that the permission has been Rejected.
Revoking an approved permission
Request
curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
-H "Content-Type: application/json" \
-d '[{"partner_page_id": <PARTNER_PAGE_ID>, "action": "revoke-permission"}]' \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>"Response (200 OK)
[
{
"partner_page_id": <PARTNER_PAGE_ID>,
"alp_permission_id": <PERMISSION_ID>,
"alp_permission_status": 4,
"status": "success"
}
]An alp_permission_status of 4 confirms the permission has been Revoked.
Canceling a pending outbound request
Request
curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
-H "Content-Type: application/json" \
-d '[{"partner_page_id": <PARTNER_PAGE_ID>, "action": "cancel-request"}]' \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>"Response (200 OK)
[
{
"partner_page_id": <PARTNER_PAGE_ID>,
"alp_permission_id": <PERMISSION_ID>,
"alp_permission_status": 6,
"status": "success"
}
]An alp_permission_status of 6 confirms the permission has been Canceled and can no longer be accepted by the creator.
Batching multiple actions in one request
Request
curl -X POST \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "X-API-Version: 1.0.0" \
-H "Content-Type: application/json" \
-d '[
{"partner_page_id": <PARTNER_PAGE_ID1>, "action": "send-request"},
{"partner_page_id": <PARTNER_PAGE_ID2>, "action": "accept-request"},
{"partner_page_id": <PARTNER_PAGE_ID3>, "action": "revoke-permission"}
]' \
"https://api.facebook.com/partnership-ads/fb-account-level-permissions/<PAGE_ID>"Response (200 OK)
[
{
"partner_page_id": <PARTNER_PAGE_ID1>,
"alp_permission_id": <PERMISSION_ID1>,
"alp_permission_status": 1,
"status": "success"
},
{
"partner_page_id": <PARTNER_PAGE_ID2>,
"alp_permission_id": <PERMISSION_ID2>,
"alp_permission_status": 2,
"status": "success"
},
{
"partner_page_id": <PARTNER_PAGE_ID3>,
"status": "failure",
"error_code": 404,
"error_message": "No active permission found for this partner."
}
]Best practices
- Use batch operations —
POSTcalls accept an array of actions, allowing you to process multiple permission changes in a single request. Batch operations are recommended over individual calls. - Paginate large result sets — Use
limitandoffsetwhen listing permissions. The maximum limit per request is 1000. - Filter early — Use
status,partner_page_ids, andpermission_directionquery parameters to narrow results and reduce response size. - Inspect per-item results — Batch
POSTresponses include individual status fields. Always check each item for"success"or"failure"so that you can detect and respond to partial failures.