Claude Platform Docs

List Plugin Marketplaces

$client->beta->organization->pluginMarketplaces->list(?int limit, ?string organizationID, ?OwnerType ownerType, ?string page, ?Source source, ?list<AnthropicBeta> betas): PageCursor<PluginMarketplace>
GET/v1/organizations/plugin_marketplaces

List the plugin marketplaces Plugins live in, newest first: the organization's own and its members' personal ones.

Plugin marketplaces are created, connected to a repository and deleted in claude.ai, not through this API. The organization's library marketplace, the organization-owned manual marketplace that uploads go to when no marketplace is named, is created the first time something is put in it and is listed from then on.

Accepted credentials: an Admin API key with the read:plugins or read:org_audit scope, or a Compliance Access Key with the read:compliance_org_data scope.

Every request must include the beta header anthropic-beta: ce-plugins-2026-09-01. A request without it returns 404, exactly as if the endpoint did not exist. The Plugins API is in beta and is available to Claude Enterprise organizations only. It is not available to Claude Platform (Claude Console) organizations, or to organizations with HIPAA readiness enabled.

Parameters
limit?:optional int⁠Query parameter

Number of items to return per page.

Defaults to 20. Ranges from 1 to 1000.

default20
organizationID?:optional string⁠Query parameter

For a read:org_audit or read:compliance_org_data key created for all of a parent organization's linked organizations: a child organization of that parent to read instead of the organization the key was created in, given as the organization's UUID or its org_-prefixed ID. A value that is neither returns a 400; an organization that is not a child of the key's parent, or where the Plugins API is not available, returns a 404. Any other key may pass only its own organization's ID here; another organization returns a 404.

ownerType?:optional OwnerType⁠Query parameter

organization for the organization's plugin marketplaces, user for members' personal plugin marketplaces.

page?:optional string⁠Query parameter

Optionally set to the next_page token from the previous response.

source?:optional Source⁠Query parameter

Only plugin marketplaces with this source: manual for those whose Plugins are uploaded; github, gitlab or public_git for those synchronized from a Git repository. directory (Anthropic's catalog) is never listed here.

betas?:optional list<AnthropicBeta>⁠Header parameter

This endpoint is in beta: requests must send ce-plugins-2026-09-01 in this header.

Returns
class PluginMarketplace { $type = 'plugin_marketplace'; $id; $createdAt; /* 7 more */ }
"plugin_marketplace" type

Always plugin_marketplace.

string id

The plugin marketplace's ID, prefixed marketplace_.

\Datetime createdAt

RFC 3339.

?DefaultInstallationPreference defaultInstallationPreference

Organization plugin marketplace: the organization-wide setting every Plugin in it with no setting of its own gets. Null for a member's personal plugin marketplace. One of required, auto_install, available, not_available; a value this API does not yet name is returned as stored.

?\Datetime lastSyncEndedAt

RFC 3339. When the most recent synchronization attempt to finish did so, whatever its outcome; for a repository plugin marketplace no synchronization has run on yet, when it was created. Null for a plugin marketplace that is not synchronized from a repository.

?string lastSyncReadSha

The commit the last synchronization attempt that reached the repository read, whether or not its content was then accepted (see sync_status); an attempt that ends failed_auth or failed_transient leaves it unchanged. Null until an attempt has first read the repository, and for a plugin marketplace that is not synchronized from a repository.

string name

Fixed for the plugin marketplace's lifetime.

Owner owner

The organization, or the member whose personal plugin marketplace it is.

Source source

Where the plugin marketplace's Plugins come from: manual when they are uploaded; github, gitlab or public_git when they are synchronized from the Git repository the owner connected, into which nothing can be uploaded; directory is Anthropic's own catalog, which this API does not list. A value this API does not yet name is returned as stored.

?SyncStatus syncStatus

Outcome of the plugin marketplace's most recent synchronization: one of success, in_progress, failed_content, failed_transient, failed_auth, failed_limits; a value this API does not yet name is returned as stored. Null until a synchronization is first attempted — so always for a manual plugin marketplace.

List Plugin Marketplaces
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;

$client = new Client(apiKey: 'my-anthropic-api-key');

$page = $client->beta->organization->pluginMarketplaces->list(
  limit: 1,
  organizationID: 'organization_id',
  ownerType: 'organization',
  page: 'page',
  source: 'directory',
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
);

var_dump($page);
Returns Examples
Response 200
{
  "data": [
    {
      "id": "marketplace_01HxQ3v9KpZ2mTn8RwLc4Ys7",
      "created_at": "2026-03-14T09:26:53.589793Z",
      "default_installation_preference": "available",
      "last_sync_ended_at": "2026-03-14T09:26:53.589793Z",
      "last_sync_read_sha": "9fceb02d0ae598e95dc970b74767f19372d61af8",
      "name": "engineering-tools",
      "owner": {
        "type": "organization"
      },
      "source": "github",
      "sync_status": "success",
      "type": "plugin_marketplace"
    }
  ],
  "next_page": "page_MjAyNi0wOS0xNlQxNDowNTowOVo"
}