# PostEverywhere Scopes Reference > PostEverywhere API key scopes and permissions. Control access to accounts, posts, media, and AI features. **Source:** https://posteverywhere.ai/docs/scopes **Section:** Getting started **API reference:** https://posteverywhere.ai/docs/api/reference --- Scopes control which parts of the API your key can access. When you generate an API key, you choose which scopes to enable. ## The three API key scopes: read, write and ai | Scope | Endpoints | Description | |-------|-----------|-------------| | **`read`** (default) | All `GET` endpoints | List accounts, posts, media, campaigns, webhooks, analytics, and the introspection endpoint `/me`. | | **`write`** | All mutating endpoints | Create/update/delete posts, media, campaigns, webhooks. Bulk operations and retry. | | **`ai`** (opt-in) | `/v1/ai/*` | Generate images AND captions with AI. Counts against AI credit quota. | ## Choosing scopes when you create a key When creating an API key on the **Developers** page of the PostEverywhere dashboard: 1. Click **Create a key** 2. Select the scopes you need -- `read` is pre-selected; a key created through the API with no `scopes` gets `read` only 3. Enable the **ai** scope if you plan to use the [Generate Image](/docs/api/generate-image) endpoint 4. Click **Create** and copy your key You can generate multiple API keys with different scopes. For example, create one key with default access for your scheduling service and a separate key with the `ai` scope for your content generation pipeline. ## What each scope permits ### `read` Scope (always included) Grants access to all GET endpoints: - **Accounts** -- List and view connected social media accounts, [check account health](/docs/account-health) - **Posts** -- List and view scheduled and published posts (including [advanced filters](/docs/api/list-posts)) - **Media** -- View media library - **Campaigns** -- List campaigns - **Webhooks** -- List webhook subscriptions - **Analytics** -- [Aggregate metrics](/docs/analytics-summary) - **Introspection** -- [`/v1/me`](/docs/introspection): current API key context, quota, plan ### `write` Scope (always included) Grants mutating access: - **Posts** -- Create, update, delete, retry, [bulk create](/docs/bulk-operations), [bulk retry](/docs/bulk-operations#retry-every-failed-post-at-once-post-v1postsretry-failed) - **Media** -- Upload, complete, delete - **Campaigns** -- Create, update, delete - **Webhooks** -- [Create](/docs/webhooks), update, delete, test ### `ai` Scope (opt-in) Required for the AI endpoints. Grants access to: - **[Generate Image](/docs/api/generate-image)** -- Create images from text prompts using models like `nano-banana-pro`, `ideogram-v2`, `gemini-3-pro`, and `flux-schnell` - **[Generate Caption](/docs/generate-caption)** -- Create AI captions tuned to the target platform's character limits + style Both AI endpoints count against your monthly AI credit allowance. Requests without the `ai` scope return `403 insufficient_scope`. > **AI Credits** > > AI image generation consumes credits from your plan's monthly allowance. Different models cost different amounts of credits. See [Generate Image](/docs/api/generate-image) for the full model and pricing table. ## Related authentication pages - [Authentication](/docs/authentication) -- how to use your API key - [Generate Image](/docs/api/generate-image) -- AI image generation endpoint **Related:** [AI credits included in each plan](/pricing)