> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# External Account

An External Account represents a profile on another platform connected to a Whop account or user, such as a Facebook page, Instagram account, or TikTok account. Connecting an external account lets Whop run [ads](/api-reference/beta/ads/ad) under that profile's identity and promote its existing posts. External account IDs are prefixed `sacc_`.

Use the External Accounts API to list connected accounts, create a Whop-managed Facebook page, start an OAuth connection, disconnect an external account, and list a connected profile's posts or a Facebook page's lead forms.

## Endpoints

| Endpoint | Request |
| - | - |
| [List External Accounts](/api-reference/beta/external-accounts/list-external-accounts) | <Badge color="blue" size="sm" stroke>GET</Badge> `/external_accounts` |
| [List External Account Lead Forms](/api-reference/beta/external-accounts/list-external-account-lead-forms) | <Badge color="blue" size="sm" stroke>GET</Badge> `/external_accounts/{id}/lead_forms` |
| [List External Account Partners](/api-reference/beta/external-accounts/list-external-account-partners) | <Badge color="blue" size="sm" stroke>GET</Badge> `/external_accounts/{external_account_id}/partners` |
| [List External Account Posts](/api-reference/beta/external-accounts/list-external-account-posts) | <Badge color="blue" size="sm" stroke>GET</Badge> `/external_accounts/{id}/posts` |
| [Create an External Account](/api-reference/beta/external-accounts/create-an-external-account) | <Badge color="green" size="sm" stroke>POST</Badge> `/external_accounts` |
| [Add Partner](/api-reference/beta/external-accounts/add-partner) | <Badge color="green" size="sm" stroke>POST</Badge> `/external_accounts/{external_account_id}/partners` |
| [Refresh](/api-reference/beta/external-accounts/refresh) | <Badge color="green" size="sm" stroke>POST</Badge> `/external_accounts/{id}/refresh` |
| [Connect an External Account](/api-reference/beta/external-accounts/connect-an-external-account) | <Badge color="green" size="sm" stroke>POST</Badge> `/external_accounts/connect` |
| [Delete an External Account](/api-reference/beta/external-accounts/delete-an-external-account) | <Badge color="red" size="sm" stroke>DELETE</Badge> `/external_accounts/{id}` |
| [Remove Partner](/api-reference/beta/external-accounts/remove-partner) | <Badge color="red" size="sm" stroke>DELETE</Badge> `/external_accounts/{external_account_id}/partners/{id}` |

## Attributes

<Columns cols={2}>
  <Column>
    <ResponseField name="id" type="string" required>
      Unique identifier for the external account.
    </ResponseField>

    <ResponseField name="error" type="string | null" required>
      Why this external account currently can't be used for advertising — a failed
      share or a Meta-side restriction. Null when the account is healthy.
    </ResponseField>

    <ResponseField name="external_id" type="string | null" required>
      The platform-specific ID for this external account.
    </ResponseField>

    <ResponseField name="name" type="string | null" required>
      The display name of the external account on the platform.
    </ResponseField>

    <ResponseField name="parent_external_account" type="object | null" required>
      The external account this one belongs to on the platform, such as the Facebook page that owns an Instagram account. Null when the external account stands on its own, or when it is a partner.

      <Accordion title="Properties" defaultOpen={true}>
        <ResponseField name="id" type="string" required>
          External account ID, prefixed `sacc_`.
        </ResponseField>

        <ResponseField name="external_id" type="string | null" required>
          The platform-specific ID for the parent external account.
        </ResponseField>

        <ResponseField name="name" type="string | null" required>
          The display name of the parent external account on the platform.
        </ResponseField>

        <ResponseField name="platform" type="string" required>
          The platform the parent external account exists on.

          Available options: `x`, `instagram`, `youtube`, `tiktok`, `facebook`, `linkedin`, `snapchat`
        </ResponseField>

        <ResponseField name="profile_picture_url" type="string | null" required>
          The URL where the profile picture of the parent external account can be
          accessed.
        </ResponseField>

        <ResponseField name="username" type="string | null" required>
          The username of the parent external account on the platform.
        </ResponseField>

        <ResponseField name="verified" type="boolean" required>
          Whether the parent external account is verified on the platform.
        </ResponseField>
      </Accordion>
    </ResponseField>

    <ResponseField name="partnership_status" type="string | null" required>
      Where a partner creator's permission to run partnership ads stands. `pending` until the creator approves it in the Instagram app, `approved` once they have, and `revoked` once it no longer holds. Null when the external account isn't a partner.

      Available options: `pending`, `approved`, `revoked`
    </ResponseField>

    <ResponseField name="platform" type="string" required>
      The platform the external account exists on.

      Available options: `x`, `instagram`, `youtube`, `tiktok`, `facebook`, `linkedin`, `snapchat`
    </ResponseField>

    <ResponseField name="profile_picture_url" type="string | null" required>
      The URL where the profile picture of the external account can be accessed.
    </ResponseField>

    <ResponseField name="scopes" type="string[]" required>
      Capabilities Whop retains specific to this external account. For example, Whop
      may request the ability to run advertisements that use this external account's
      identity, reflected by `advertise`. Personal profile connections have no
      additional Whop scopes.
    </ResponseField>

    <ResponseField name="url" type="string | null" required>
      The URL where the external account can be accessed on the platform. Null while
      a Whop-owned account is still being provisioned.
    </ResponseField>

    <ResponseField name="username" type="string | null" required>
      The username of the external account on the platform. Null while a Whop-owned
      account is still being provisioned.
    </ResponseField>

    <ResponseField name="verified" type="boolean" required>
      Whether the external account is verified on the platform.
    </ResponseField>
  </Column>

  <Column>
    <div className="api-resource-sticky-example">
      ```json ExternalAccount theme={null}
      {
      	"id": "sacc_xxxxxxxxxxxx",
      	"external_id": "17841400000000000",
      	"name": "Pickaxe Pro",
      	"parent_external_account": {
      		"id": "sacc_yyyyyyyyyyyy",
      		"platform": "facebook",
      		"username": "pickaxepro",
      		"name": "Pickaxe Pro",
      		"profile_picture_url": "https://img.whop.com/sacc_yyyyyyyyyyyy.png",
      		"verified": true,
      		"external_id": "112233445566778"
      	},
      	"platform": "instagram",
      	"profile_picture_url": "https://img.whop.com/sacc_xxxxxxxxxxxx.png",
      	"scopes": ["advertise"],
      	"partnership_status": null,
      	"error": null,
      	"url": "https://instagram.com/pickaxepro",
      	"username": "pickaxepro",
      	"verified": true
      }
      ```
    </div>
  </Column>
</Columns>
