# WhatsApp Business Multi-Partner Solutions - Access Token API | Developer Documentation

<div id="bkmrk-whatsapp-business-mu"><div><div>## WhatsApp Business Multi-Partner Solutions - Access Token API

<div><div><div><span>Copy for LLM</span></div></div><div>[<span>View as Markdown</span>](/books/meta-whatsapp/page/whatsapp-business-multi-partner-solutions-access-token-api-developer-documentation)</div></div></div><div><div>Version</div></div><div><div><div><div><div><div><span><span>API for retrieving granular BISU (Business Integration System User) access tokens for Multi-Partner Solution partners.</span></span></div></div><div><div><span><span>This endpoint allows solution partners to obtain granular access tokens that provide secure, scoped access to WhatsApp Business Accounts shared with their Multi-Partner Solution.</span></span></div></div></div></div></div></div></div><div><div>---

<div><div><div id="bkmrk-get-%2F%7Bversion%7D%2F%7Bsolu"><div id="bkmrk-get-%2F%7Bversion%7D%2F%7Bsolu-1"><div>### GET /{Version}/{Solution-ID}/access\_token

</div></div></div><div><div><div><div><div><div><span><span>Retrieve a granular BISU access token for accessing customer business resources through the Multi-Partner Solution. The token provides secure, scoped access to WhatsApp Business Accounts that have been shared with the solution.</span></span></div></div><div><div><span><span>Use Cases:</span></span></div></div><div><span><span>Obtain secure access tokens for partner applications to access customer business resources</span></span></div><div><span><span>Enable multi-tenant partner architectures with dedicated tokens per customer business</span></span></div><div><span><span>Support secure API operations on shared WhatsApp Business Accounts</span></span></div><div><span><span>Implement proper security boundaries between different customer businesses</span></span></div><div><div><span><span>Rate Limiting:</span></span></div></div><div><div><span><span>Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff.</span></span></div></div><div><div><span><span>Token Management:</span></span></div></div><div><div><span><span>Access tokens are time-limited and should be refreshed before expiration. Store tokens securely and implement proper token rotation strategies.</span></span></div></div></div></div></div></div>#### Request Syntax

<div><div><div><div><div><div><span>Try it</span></div></div></div></div></div></div><div><div><div><div><div><div><div>Select language</div></div></div></div>---

</div><div><div><div><div><div><div>Select status code</div></div></div></div>---

</div></div></div></div><div><span>Header Parameters</span>---

<div><div><span>User-Agent</span><span>string</span></div><div><div><div><div><div><div><span><span>The user agent string identifying the client software making the request.</span></span></div></div></div></div></div></div></div><div><div><span>Authorization</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Bearer token for API authentication. This should be a valid access token obtained through the appropriate OAuth flow or system user token.</span></span></div></div></div></div></div></div></div></div><div><span>Path Parameters</span>---

<div><div><span>Version</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Graph API version to use for this request. Determines the API behavior and available features.</span></span></div></div></div></div></div></div></div><div><div><span>Solution-ID</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Your Multi-Partner Solution ID. This ID is provided when you create the solution</span></span></div></div><div><div><span><span>and can be found in your Partner Dashboard or through solution management APIs.</span></span></div></div></div></div></div></div></div></div><div><span>Query Parameters</span>---

<div><div><span>business\_id</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>The customer business ID for which you want to retrieve an access token. This must be</span></span></div></div><div><div><span><span>a business that has shared a WhatsApp Business Account with your Multi-Partner Solution.</span></span></div></div></div></div></div></div></div></div><div><span>Responses</span>---

<div><div><div><div><div><div><span><span>Retrieve a granular BISU access token for accessing customer business resources through the Multi-Partner Solution. The token provides secure, scoped access to WhatsApp Business Accounts that have been shared with the solution.</span></span></div></div><div><div><span><span>Use Cases:</span></span></div></div><div><span><span>Obtain secure access tokens for partner applications to access customer business resources</span></span></div><div><span><span>Enable multi-tenant partner architectures with dedicated tokens per customer business</span></span></div><div><span><span>Support secure API operations on shared WhatsApp Business Accounts</span></span></div><div><span><span>Implement proper security boundaries between different customer businesses</span></span></div><div><div><span><span>Rate Limiting:</span></span></div></div><div><div><span><span>Standard Graph API rate limits apply. Use appropriate retry logic with exponential backoff.</span></span></div></div><div><div><span><span>Token Management:</span></span></div></div><div><div><span><span>Access tokens are time-limited and should be refreshed before expiration. Store tokens securely and implement proper token rotation strategies.</span></span></div></div></div></div></div></div><div><span>400</span><div><div><div><div><div><div><span><span>Bad Request - Invalid parameters or malformed request</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-1"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-2"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>401</span><div><div><div><div><div><div><span><span>Unauthorized - Invalid or missing access token</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-3"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-1"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-4"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-1"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>403</span><div><div><div><div><div><div><span><span>Forbidden - Insufficient permissions or access denied</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-5"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-2"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-6"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-2"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>404</span><div><div><div><div><div><div><span><span>Not Found - Solution ID or business ID does not exist or is not accessible</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-7"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-3"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-8"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-3"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>422</span><div><div><div><div><div><div><span><span>Unprocessable Entity - Request parameters are valid but cannot be processed</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-9"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-4"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-10"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-4"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>429</span><div><div><div><div><div><div><span><span>Too Many Requests - Rate limit exceeded</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-11"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-5"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-12"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-5"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><span>500</span><div><div><div><div><div><div><span><span>Internal Server Error - Unexpected server error</span></span></div></div></div></div></div></div><div><div><span>Content Type: </span><span>application/json</span></div><div><div><span>Schema: </span><span>GraphAPIError</span></div><div><div><div id="bkmrk-show-child-attribute-13"><div><span>Show child attributes</span></div></div><div id="bkmrk-graphapierrorerrorob-6"><div>---

<div><span>GraphAPIError</span></div><div>---

<div><div><span>error</span><span>object</span><span>·</span><span>required</span></div></div><div><div><div id="bkmrk-show-child-attribute-14"><div><span>Show child attributes</span></div></div><div id="bkmrk-messagestring%C2%B7requir-6"><div><div>---

<div><div><span>message</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Human-readable error message</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>type</span><span>string</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Error category type</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>code</span><span>integer</span><span>·</span><span>required</span></div><div><div><div><div><div><div><span><span>Numeric error code</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_subcode</span><span>integer</span></div><div><div><div><div><div><div><span><span>More specific error subcode when available</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>fbtrace\_id</span><span>string</span></div><div><div><div><div><div><div><span><span>Unique identifier for debugging and support requests with Meta</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>is\_transient</span><span>boolean</span></div><div><div><div><div><div><div><span><span>Indicates whether this error is temporary and the request should be retried</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_title</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error title for display purposes</span></span></div></div></div></div></div></div></div></div><div>---

<div><div><span>error\_user\_msg</span><span>string</span></div><div><div><div><div><div><div><span><span>User-friendly error message for display purposes</span></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><div><div><div><div><div><div>Select language</div></div></div></div>---

</div><div><div><div><div><div><div>Select status code</div></div></div></div>---

</div></div></div></div></div></div></div><div><div id="bkmrk-authentication"><div id="bkmrk-authentication-1"><div>### Authentication

</div></div></div><div><table><tbody><tr><td><div>**Scheme**</div></td><td><div>**Type**</div></td><td><div>**Location**</div></td></tr><tr><td><div><div><div><div><div><div><div><span><span>bearerAuth</span></span></div></div></div></div></div></div></div></td><td><div><div><div><div><div><div><div><span><span>HTTP Bearer</span></span></div></div></div></div></div></div></div></td><td><div><div><div><div><div><div><div><span><span>Header: </span></span>`<span><span>Authorization</span></span>`</div></div></div></div></div></div></div></td></tr></tbody></table>

</div><div>#### Usage Examples

<div><span>bearerAuth:</span><div><div><div><div><div><div><span><span>Include </span></span>`<span><span>Authorization: Bearer your-token-here</span></span>`<span><span> in request headers</span></span></div></div></div></div></div></div></div></div><div>#### Global Authentication Requirements

<div><span>All endpoints require:</span><div><div><div><div><div><div><span><span>bearerAuth</span></span></div></div></div></div></div></div></div></div></div></div>