Skip to main content

Facebook Page Info

Read and edit the public information of a Facebook Page connected to a profile: about, description, website, phone, emails, opening hours, profile picture and cover photo.

  • Authentication: API Key — Authorization: Apikey <YOUR_API_KEY>
Updating requires a pending Meta permission

Meta only allows editing Page info to apps approved for the pages_manage_metadata permission. Upload-Post's approval is pending Meta App Review, so for now updates answer 403 with code: "facebook_permission_missing". Reading works today with the existing connection. Once the permission is approved, Facebook will need to be reconnected once to grant it.

Which Page?

The Page is resolved in this order: page_id in the request → the Page pinned to the profile → the account's default Page → the only Page the account manages. If the account manages several Pages and none of those applies, the API answers 400 facebook_page_required with available_pages.

Read Page info​

  • Method: GET
  • Endpoint: /api/uploadposts/facebook/page-info

Query Parameters​

ParameterTypeRequiredDescription
userstringYesProfile username with Facebook connected.
page_idstringNoPage to read (see "Which Page?").

Example Request​

curl 'https://api.upload-post.com/api/uploadposts/facebook/page-info?user=agent-paris' \
-H 'Authorization: Apikey YOUR_API_KEY'

Successful Response (200 OK)​

{
"success": true,
"page_id": "555",
"page": {
"id": "555",
"name": "Agence Dupont",
"about": "Agence immobilière",
"description": "Vente, location et gestion à Paris 11e.",
"website": "https://dupont.example",
"phone": "+33 1 23 45 67 89",
"emails": ["[email protected]"],
"hours": { "mon_1_open": "09:00", "mon_1_close": "12:00", "mon_2_open": "14:00", "mon_2_close": "18:00" },
"hours_list": [
{ "day": "MONDAY", "open": "09:00", "close": "12:00" },
{ "day": "MONDAY", "open": "14:00", "close": "18:00" }
],
"link": "https://www.facebook.com/agencedupont",
"category": "Real Estate Agent",
"picture_url": "https://scontent.xx.fbcdn.net/...",
"cover_url": "https://scontent.xx.fbcdn.net/..."
}
}

If Meta refuses some fields to the current token, the response carries the basic fields only plus "partial": true.

Update Page info​

  • Method: PATCH (also accepts POST)
  • Endpoint: /api/uploadposts/facebook/page-info

Body Parameters (JSON)​

NameTypeRequiredDescription
userstringYesProfile username.
page_idstringNoPage to edit (see "Which Page?").
validate_onlybooleanNotrue validates the body and the Page access without sending anything to Facebook.
aboutstringNoShort "About" text.
descriptionstringNoLong description.
websitestringNoAbsolute http(s) URL.
phonestringNoPhone number.
emailsarray of stringNoContact emails (a single string is accepted too).
hoursarray or objectNo[{"day": "MONDAY", "open": "09:00", "close": "18:00"}] (max 2 ranges per day), or Meta's own {"mon_1_open": "09:00", "mon_1_close": "18:00"}.
picture_urlstringNoPublic image URL for the profile picture.
cover_urlstringNoPublic image URL for the cover photo.

Example Request​

curl -X PATCH https://api.upload-post.com/api/uploadposts/facebook/page-info \
-H 'Authorization: Apikey YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"user": "agent-paris",
"about": "Agence immobilière à Paris 11e",
"website": "https://dupont.example",
"phone": "+33 1 23 45 67 89",
"hours": [
{ "day": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"], "open": "09:00", "close": "18:00" }
]
}'

Successful Response (200 OK)​

{
"success": true,
"page_id": "555",
"updated_fields": ["about", "hours", "phone", "website"],
"ignored_fields": []
}

With validate_only: true the response is {"success": true, "validate_only": true, "would_update": [...]}.

Permission error (403)​

{
"success": false,
"code": "facebook_permission_missing",
"required_permission": "pages_manage_metadata",
"error": "Facebook refused to update this Page's info: it requires the pages_manage_metadata permission, which Upload-Post's Facebook app does not have yet (pending Meta App Review). Meta said: ...",
"applied": []
}

Fields, picture and cover are sent in that order; if one step fails, applied lists the steps that already went through.

Errors​

StatuscodeMeaning
400user_requiredMissing or invalid user.
404profile_not_foundThe profile does not exist.
400facebook_not_connectedThe profile has no Facebook account connected.
401facebook_reconnect_requiredThe Facebook token is no longer valid; reconnect Facebook.
400facebook_page_requiredSeveral Pages and none selected; see available_pages.
400facebook_page_not_accessibleThe page_id is not managed by the connected account.
404no_facebook_pagesThe connected account manages no Page.
403facebook_permission_missingMeta requires pages_manage_metadata (pending App Review).
400invalid_field / no_fieldsValidation failed / nothing to update.
400facebook_validation_errorFacebook rejected a value; see facebook_error.
502facebook_api_errorError on Facebook's side.