---
title: "Discover current operations and content versions"
method: GET
path: "/v1/partners/{partnerId}/creators/{externalCreatorId}/capabilities"
tags: ["Creator publishing"]
---

# Discover current operations and content versions

`GET /v1/partners/{partnerId}/creators/{externalCreatorId}/capabilities`

## Request

- Base URL: `https://comet-api.example.invalid`
- URL: `https://comet-api.example.invalid/v1/partners/{partnerId}/creators/{externalCreatorId}/capabilities`
- Auth: API key in header `x-api-key`

Requires page:read. May be called before binding. The legacy content descriptor is v1; contentVersions also advertises v2, currently preferred.

## Path parameters

- `partnerId` string, required
- `externalCreatorId` string, required

## Headers

- `x-grant-generation` string, required

## Response `200`

Successful operation.

- Capabilities
  - `schemaVersion` 1, required
  - `grant` object, required
    - `generation` integer, required
    - `expiresAt` string, date-time, required
    - `capabilities` string[], required
  - `content` ContentDescriptor, required: Extensible discovery metadata, including limits, field descriptors or JSON Schema, and publication requirements. Do not treat v1 field descriptors as JSON Schema.
    - `schemaVersion` 1 | 2, required
    - `sectionTypes` string[], required
    - `jsonSchema` object: Available on v2; structural JSON Schema with semantic checks enforced separately.
  - `contentVersions` ContentDescriptor[], required
    - `schemaVersion` 1 | 2, required
    - `sectionTypes` string[], required
    - `jsonSchema` object: Available on v2; structural JSON Schema with semantic checks enforced separately.
  - `preferredContentVersion` unknown, required
  - `media` MediaCapabilities: Optional capability for compatibility with earlier services. maxBytes is the decoded image bound. maxVideoBytes is additive: clients must not offer video without the advertised video bound and MIME type. upload requires configured media and current page:edit.
    - `enabled` boolean, required
    - `upload` boolean, required
    - `maxBytes` 5242880, required
    - `maxVideoBytes` 20971520
    - `mimeTypes` string[], required

## Other responses

- `400`: INVALID_INPUT or UNSUPPORTED_SECTION.
- `401`: UNAUTHENTICATED: missing or invalid app credential, or unsupported Authorization header.
- `403`: Current grant, creator or realm authority does not allow this operation.
- `404`: Scoped resource is absent or unavailable.
- `409`: VERSION_CONFLICT, PREVIEW_CONFLICT, IDEMPOTENCY_CONFLICT, BINDING_CONFLICT or UPLOAD_IN_PROGRESS (retry the same media command after its active lease).
- `413`: Request exceeds the route limit: 256 KiB normally, 28 MiB JSON for POST media; decoded media limit is 5 MiB for images and 20 MiB for videos. Ingress parser failures may use a different envelope.
- `422`: CONTENT_NOT_READY: visible content is not ready for publication.
- `503`: FEATURE_DISABLED, AUTHORITY_UNAVAILABLE or MEDIA_UNAVAILABLE (unconfigured media or provider failure).

---

[API](https://skmtc.dev/comet/apis/comet-creator-publishing-api.md) - [All operations](https://skmtc.dev/comet/apis/comet-creator-publishing-api/llms.txt) - [OpenAPI document](https://skmtc.dev/comet/apis/comet-creator-publishing-api/revisions/04f959b645f0?raw)
