Skip to content

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: Bearer token 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

NameDescription
status array of integersOptional. 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 integersOptional. Filters the response by specific partner Facebook Page IDs.
permission_direction stringOptional. 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 integerOptional. Number of records to skip for pagination, with a minimum value of 0.
limit integerOptional. 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 operationsPOST calls 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 limit and offset when listing permissions. The maximum limit per request is 1000.
  • Filter early — Use status, partner_page_ids, and permission_direction query parameters to narrow results and reduce response size.
  • Inspect per-item results — Batch POST responses include individual status fields. Always check each item for "success" or "failure" so that you can detect and respond to partial failures.

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About