Testing flows
As you click on the "Start testing" button, you will see a list of Testing flows which you can run to verify integration of your app. Following is a brief overview of these testing flows:
OAuth server redirect
Purpose
Validates that Meta can successfully redirect users to your OAuth authorization server, receive an authorization code, and be redirected back to the Testing page.

How it works
- Click Test to initiate the OAuth server redirect flow.
- You'll be redirected to your OAuth server endpoint (the URL you provided in the "OAuth URL" field of the OAuth information form).
- This flow works as described in the OAuth 2.0 Authorization Code Flow, with the specified parameters sent as the query parameters.
- After authorization, you redirect back to the testing page with an authorization code.

Status indicators
- In case of success, a Success pill appears in the lower left corner of the test card as shown above. You can hover over such a status pill to see the relevant message.
- In case of error, an Error pill appears.
Debugging tip: If needed, use the OAuth server url hyperlink in the test card description to preview the complete generated URL before being redirected by clicking the Test button.
OAuth access token
Purpose
Verifies that Meta can exchange the authorization code for an access token using your token endpoint.

Prerequisites
- OAuth server redirect testing flow must be completed successfully as the authorization code received in OAuth server redirect step will be used here to call the OAuth token endpoint.
If the prerequisites are not met, this test flow will show an Unavailable pill in the lower left side as can be seen in the screenshot above. At this point, the Test button will not work.
How it works
- Click Test to initiate the flow that exchanges the authorization code for an access token.
- The endpoint used here is the one you provided in the field "Access Token URL" while filling out the OAuth information form.
- This flow works as per the exchange logic described in the OAuth 2.0 Authorization Code Flow.
Status indicators

- In case of success, a Success pill appears with the following response information in tooltip as shown above:
- Access token: "Successfully received"
- Refresh token: "Successfully received" or "Not received" based on whether refresh token was present in response.
- Scope: Space-separated scope strings returned by your endpoint.

- In case of error, an Error pill appears. If the error was caused by your endpoint, the response message should appear in the tooltip as shown above. If the error did not occur at your endpoint and the tooltip shows something generic like "An error occurred", contact us for help.
OAuth refresh token
Purpose
Tests your server's ability to refresh access tokens using refresh tokens, enabling recurring data transfers.

Prerequisites
- OAuth access token testing flow completed successfully along with a valid refresh token received.
Like the previous testing flow, this test flow will show an Unavailable pill in the lower left side as can be seen in the screenshot above if the prerequisites are not met. At this point, the Test button will not work.
How it works
- Click Test to initiate the flow.
-
This uses the same endpoint as the OAuth access token testing flow. The request parameters are slightly different, as shown in the screenshot below. Refer Refreshing Access Tokens
for more context.

Status indicators

- In case of success, a Success pill appears with the following response information in tooltip as shown above:
- Access token: "Successfully updated"
- Refresh token: "Successfully updated" or "Not received" based on whether refresh token was present in response.
- In case of error, an Error pill appears with a relevant message as explained in the previous testing flow.
Important notes
- If no new refresh token is returned in response to the refresh token call, the old refresh token will continue to be used for subsequent calls.
- Having a refresh token functionality is critical for recurring transfers (daily/monthly/yearly data transfers).
OAuth revoke token (if supported)
Purpose
Validates that Meta can properly revoke access tokens when data transfers are complete, ensuring security and compliance.
Availability
This testing flow only appears if you provided a valid value in the field "Access Token Revocation URL" of your OAuth information form. If no revocation URL was provided, this step will be hidden.
Prerequisites
- OAuth access token testing flow completed successfully.
How it works
- Click Test to initiate the flow and call your Access Token Revocation URL endpoint.
-
For token revocation we use a POST request as shown in the curl command below:
curl -X POST <Access Token Revocation URL> --header "Authorization: Bearer <access token>" --header "Content-Type: application/json"
- Your server should invalidate the token and return success.
Status indicators

- In case of success, a Success pill appears as shown above. You can now execute the OAuth refresh token testing flow again and expect an error, confirming that the tokens were revoked properly.
- In case of error, an Error pill appears with a relevant message as explained in the previous testing flows.