Skip to content
docs Explore the platform

ANTSAND · GUIDE

Masterclass

> Production API availability: use /api/v1/help?view=guides and the resource operations catalog before following a recipe. Some localhost capabilities are not deployed yet; an absent operation is unavailable.

What this module owns

Ebook and curriculum authoring. Published content is projected into generated sites; Ecommerce controls associated selling configuration.

Author before activating a product

POST /api/v1/masterclass/ebooks creates or reuses an unpublished ebook. Start with title, description, source_key and a verified writable group_id. source_key provides a stable authoring identity; do not reuse it for unrelated books.

Examplejson
{
  "title": "A technical field guide",
  "description": "A draft for review",
  "source_key": "technical-field-guide-v1",
  "group_id": "REPLACE_WITH_WRITABLE_GROUP_ID"
}

PUT /ebooks/{objectid}/manuscript requires replace=true and manuscript with content_type=ebook and chapters. Read the complete current chapter schema before replacing it. A published chapter uses the dedicated chapter endpoint with expected_sha256 and confirm=revise_published_chapter; it preserves the previous content. Publishing the ebook is a separate explicit operation, and activating a product is another operation owned by Ecommerce. Never infer protected delivery or billing readiness from a saved curriculum.

First read

Use API_URL with /api/v1, for example http://localhost/api/v1. Set API_KEY privately. Replace any resource placeholder with an ID returned by discovery.

Examplebash
curl --fail-with-body "$API_URL/masterclass/ebooks" \
  -H "Authorization: Bearer $API_KEY"

Registered agent routes

The entries below are extracted from the current route and handler source. Scope tokens can represent alternatives or different method branches, not a requirement to grant every listed scope. Body fields are observed inputs, not a complete required-field schema. Follow the resource guide and the deployed validation response for a write.

/api/v1/masterclass/ebooks

Intended request methods: GET, POST. Confirm allowed_methods and method_evidence in the deployed operations catalog; documented methods do not grant access.

Scope tokens in the implementation: masterclass:read, masterclass:write

Observed JSON fields: description, group_id, source_key, title.

Selected rejection messages:

  • Use GET or POST
  • Ebook metadata is too large
  • Invalid ebook metadata
  • Group not found or not writable
  • Ebook creation failed

/api/v1/masterclass/ebooks/{objectid}

Intended request methods: GET. Confirm allowed_methods and method_evidence in the deployed operations catalog; documented methods do not grant access.

Scope tokens in the implementation: masterclass:read

Selected rejection messages:

  • Use GET
  • Ebook not found

/api/v1/masterclass/ebooks/{objectid}/manuscript

Intended request methods: PUT. Confirm allowed_methods and method_evidence in the deployed operations catalog; documented methods do not grant access.

Scope tokens in the implementation: masterclass:write

Observed JSON fields: manuscript, replace.

Selected rejection messages:

  • Use PUT
  • Manuscript is too large
  • Explicit replace=true is required
  • Draft ebook not found
  • Draft changed or was not saved

/api/v1/masterclass/ebooks/{objectid}/chapters/{index}

Unavailable in this production release. This reference describes a pending capability. Do not call this endpoint; use deployed discovery to check availability. Intended request methods: GET, PUT. Confirm allowed_methods and method_evidence in the deployed operations catalog; documented methods do not grant access.

Scope tokens in the implementation: masterclass:read, masterclass:write

Observed JSON fields: chapter, confirm, expected_sha256.

Selected rejection messages:

  • Use GET or PUT
  • Invalid chapter index
  • Published ebook not found
  • Chapter not found
  • Chapter is too large
  • Explicit revision confirmation, expected hash, and chapter are required
  • Chapter changed before revision; retry from a fresh GET

/api/v1/masterclass/ebooks/{objectid}/publish

Unavailable in this production release. This reference describes a pending capability. Do not call this endpoint; use deployed discovery to check availability. Intended request methods: POST. Confirm allowed_methods and method_evidence in the deployed operations catalog; documented methods do not grant access.

Scope tokens in the implementation: masterclass:write

Observed JSON fields: confirm.

Selected rejection messages:

  • POST required
  • confirm=publish_ebook is required
  • Ebook not found
  • Ebook changed before publishing

/api/v1/masterclass/ebooks/{objectid}/author-notes

Intended request methods: GET, POST. Confirm allowed_methods and method_evidence in the deployed operations catalog; documented methods do not grant access.

Scope tokens in the implementation: masterclass:read, masterclass:write

Selected rejection messages:

  • Use GET or POST
  • Draft ebook not found
  • Author note is too large
  • Notes changed; refresh and retry

Access boundary

External agents use only the versioned operations documented above and returned by the deployed catalog. Browser actions and internal controllers are not substitutes for missing API operations.

Verification before automation

Read back the owned record after a write. On a dedicated local fixture, test missing input, wrong owner, missing scope and stale revisions where supported. Confirm the request did not change state when rejected. Check the generated projection separately from the source record. Never replay sends, payments or deletion requests merely to test connectivity.

See API validation and remaining gaps for the shared test strategy.

HTTP discovery and safety contract

Read GET /api/v1/help?view=guide&resource=masterclass for this module's machine-readable guidance. Discover supported operations through its discovery_url when present. A null discovery_url means no direct resource API is documented; related endpoints, when provided, have their own ownership and scope requirements.

Use GET /api/v1/me with your key to confirm identity and scopes. Only request methods and fields supported by this deployment. The shared transport boundary rejects unsupported methods and malformed JSON on covered routes, but field schemas and revision checks remain resource-specific. Notes and Carousels expose typed save schemas and payload-only validation; other modules must not be assumed to share that contract.

Create, update, replace, patch, delete, send and publish are distinct capabilities. An operation absent from the returned catalog is unavailable, not permission to guess a URL. Read back after writes; after a timeout inspect the result before retrying. Never automatically replay a payment, message, deployment or deletion.

See HTTP-only agent workflow and validation contracts.