# Developers - **Get started** - [Build with your collection](https://holofolder.com/app/docs/markdown): The cards you collect. The tools you already use. - [API keys](https://holofolder.com/app/docs/markdown/api-keys): Your first request, in a few minutes. - [API conventions](https://holofolder.com/app/docs/markdown/contracts): Permissions, pagination, errors and image availability. - [Collection history](https://holofolder.com/app/docs/markdown/collection-history): See what changed in your collection and safely undo a change. - [Changes saved on this device](https://holofolder.com/app/docs/markdown/device-changes): How device-only changes work now that guests are read-only. - [Native storage contracts](https://holofolder.com/app/docs/markdown/native-storage): Authenticated native storage commands, replay and recovery through REST and MCP. - [Native inventory reads](https://holofolder.com/app/docs/markdown/native-reads): Authenticated physical-copy, collection and stable-slot projections for REST and MCP. - [Manual copy grading](https://holofolder.com/app/docs/markdown/manual-grading): Record and edit private grading details for a single owned copy. - [Slabs view](https://holofolder.com/app/docs/markdown/slabs): Provider-specific holder previews for graded copies in a collection. - [Copied preset previews](https://holofolder.com/app/docs/markdown/preset-previews): Authenticated discovery and bounded previews of independent ordered target lists. - [Public binder links](https://holofolder.com/app/docs/markdown/public-binder-links): Read-only token and named binder links, with optional prices. - [Pockets and targets](https://holofolder.com/app/docs/markdown/slot-selection): Choose what each pocket is for, place your cards and edit a binder's layout. - [Scanning into your binder](https://holofolder.com/app/docs/markdown/scan-destinations): Scan a binder page or a single card, choose where each card goes, and add them in one save. - [Bulk layout](https://holofolder.com/app/docs/markdown/bulk-layout): Select, move, fill and remove several binder pockets at once. - [Set checklists](https://holofolder.com/app/docs/markdown/set-checklist-drafts) - [Find sets by year](https://holofolder.com/app/docs/markdown/set-lookup): Identify a set from the year and symbol printed on a card. - [Saved collections offline](https://holofolder.com/app/docs/markdown/native-offline-startup): What saved startup can show and when a connection is required. - **AI & agents** - [AI & agents](https://holofolder.com/app/docs/markdown/mcp): Your collection, one conversation away. - [Claude](https://holofolder.com/app/docs/markdown/agents/claude): Connect Holo Folder to Claude and Claude Code. - [ChatGPT](https://holofolder.com/app/docs/markdown/agents/chatgpt): Connect your collection through a custom MCP connection. - [Cursor](https://holofolder.com/app/docs/markdown/agents/cursor): Bring your collection into Cursor's agent. - [Codex](https://holofolder.com/app/docs/markdown/agents/codex): Give your coding agent access to Holo Folder. - **API explorer** - [API explorer](https://holofolder.com/app/docs/markdown/reference): Build a request. Run it. See what comes back. - Catalog - [Search cards](https://holofolder.com/app/docs/markdown/reference/catalog/list-cards): Browse all card printings, including Trainers and Energy, with pagination. Records declare game:pokemon; IDs are globally unique opaque application IDs, not provider-local keys. Required permissions: `catalog:read`. MCP tool: `list_cards`. - [Get card](https://holofolder.com/app/docs/markdown/reference/catalog/get-card): Look up a printing by its exact global application ID. game:pokemon is the only implemented catalog. externalIds are provider-local evidence scoped by game and source, never aliases. Required permissions: `catalog:read`. MCP tool: `get_card`. - [List sets](https://holofolder.com/app/docs/markdown/reference/catalog/list-sets): List card sets with game:pokemon and global application IDs. Filter by release year, for example 2017. Available symbol and logo URLs are served from the Holo Folder CDN. Required permissions: `catalog:read`. MCP tool: `list_sets`. - [Get set](https://holofolder.com/app/docs/markdown/reference/catalog/get-set): Look up a card set by global application ID, with game:pokemon. Required permissions: `catalog:read`. MCP tool: `get_set`. - [List series](https://holofolder.com/app/docs/markdown/reference/catalog/list-series): List card series with game:pokemon and global application IDs. Required permissions: `catalog:read`. MCP tool: `list_series`. - [Get series](https://holofolder.com/app/docs/markdown/reference/catalog/get-series): Look up a card series by global application ID, with game:pokemon. Required permissions: `catalog:read`. MCP tool: `get_series`. - [List languages](https://holofolder.com/app/docs/markdown/reference/catalog/list-languages): List supported card languages. Required permissions: `catalog:read`. MCP tool: `list_languages`. - [List pokemon](https://holofolder.com/app/docs/markdown/reference/catalog/list-pokemon): List Pokédex entries. Required permissions: `catalog:read`. MCP tool: `list_pokemon`. - [Get pokemon](https://holofolder.com/app/docs/markdown/reference/catalog/get-pokemon): Look up a Pokédex entry. Required permissions: `catalog:read`. MCP tool: `get_pokemon`. - [List illustrators](https://holofolder.com/app/docs/markdown/reference/catalog/list-illustrators): List card illustrators. Required permissions: `catalog:read`. MCP tool: `list_illustrators`. - [Get pokemon set slots](https://holofolder.com/app/docs/markdown/reference/catalog/get-pokemon-set-slots): Read Pokémon species grouped by National Dex number within a set. These are not stable storage slots. Use list_cards for all printings, including Trainers and Energy. Required permissions: `catalog:read`. MCP tool: `get_pokemon_set_slots`. - Binders - [List binders](https://holofolder.com/app/docs/markdown/reference/collection/list-binders): List your accessible binders with slot counts. Required permissions: `binders:read`. MCP tool: `list_binders`. - [Create binder](https://holofolder.com/app/docs/markdown/reference/collection/create-binder): Create a named binder. Required permissions: `binders:write`. MCP tool: `create_binder`. - [Update binder](https://holofolder.com/app/docs/markdown/reference/collection/update-binder): Rename a binder. Required permissions: `binders:write`. MCP tool: `update_binder`. - [Delete binder](https://holofolder.com/app/docs/markdown/reference/collection/delete-binder): Delete a binder. Populated binders need explicit confirmation. Required permissions: `binders:write`. MCP tool: `delete_binder`. - [Reorder binders](https://holofolder.com/app/docs/markdown/reference/collection/reorder-binders): Reorder all your binders. Required permissions: `binders:write`. MCP tool: `reorder_binders`. - History & recovery - [List collection audit](https://holofolder.com/app/docs/markdown/reference/collection/list-collection-audit): Read private account-lifetime committed collection history. Filter operationId for the exact original acknowledged command; zero or multiple entries do not identify a single recovery event. Keyset cursor is bound to filters; private certificates and label assets are redacted. Legacy actors are Unknown. Requires current collection access. Required permissions: `collection:read`. MCP tool: `list_collection_audit`. - [Get collection audit](https://holofolder.com/app/docs/markdown/reference/collection/get-collection-audit): Read one private committed audit event, including safe retained deltas and the original event ID for an undo. Required permissions: `collection:read`. MCP tool: `get_collection_audit`. - Sharing & appearance - [Get binder identity](https://holofolder.com/app/docs/markdown/reference/collection/get-binder-identity): Read the public identity assigned to an accessible binder. Required permissions: `binders:read`. MCP tool: `get_binder_identity`. - [Update binder identity](https://holofolder.com/app/docs/markdown/reference/collection/update-binder-identity): Set a public slug on a binder you own. Required permissions: `sharing:manage`. MCP tool: `update_binder_identity`. - [Get sharing](https://holofolder.com/app/docs/markdown/reference/collection/get-sharing): Read sharing state. Only the collection owner may access share tokens. Required permissions: `sharing:manage`. MCP tool: `get_sharing`. - [Update sharing](https://holofolder.com/app/docs/markdown/reference/collection/update-sharing): Enable or disable sharing on a binder you own, with explicit price disclosure. Required permissions: `sharing:manage`. MCP tool: `update_sharing`. - [Get appearance](https://holofolder.com/app/docs/markdown/reference/collection/get-appearance): Read the collection binder appearance and revision. Required permissions: `binders:read`. MCP tool: `get_appearance`. - [Update appearance](https://holofolder.com/app/docs/markdown/reference/collection/update-appearance): Save a binder appearance only if its revision still matches. Required permissions: `binders:write`. MCP tool: `update_appearance`. - [Prepare artwork upload](https://holofolder.com/app/docs/markdown/reference/collection/prepare-artwork-upload): Create a signed private R2 upload URL and artworkRef for the appearance design. Send the returned headers and exact file bytes. Required permissions: `binders:write`. MCP tool: `prepare_artwork_upload`. - [Get artwork](https://holofolder.com/app/docs/markdown/reference/collection/get-artwork): Get a five-minute download URL for your private binder artwork. Required permissions: `binders:read`. MCP tool: `get_artwork`. - Show purchases - [List show purchases](https://holofolder.com/app/docs/markdown/reference/collection/list-show-purchases): Read paginated account show purchases. Required permissions: `collection:read`. MCP tool: `list_show_purchases`. - [Add show purchase](https://holofolder.com/app/docs/markdown/reference/collection/add-show-purchase): Record a purchase once using a client-generated purchase ID. Required permissions: `collection:write`. MCP tool: `add_show_purchase`. - [Remove show purchase](https://holofolder.com/app/docs/markdown/reference/collection/remove-show-purchase): Undo a purchase from your accessible collection account. Required permissions: `collection:write`. MCP tool: `remove_show_purchase`. - Inventory - [List inventory items](https://holofolder.com/app/docs/markdown/reference/collection/list-inventory-items): List physical copies with stable IDs, identity, recorded grade and placement. Certificates, private label assets and immutable source evidence are omitted. Pages are scope/filter/revision-bound and never complete snapshots or queue ACKs. Required permissions: `collection:read`, `binders:read`. MCP tool: `list_inventory_items`. - [Get inventory item](https://holofolder.com/app/docs/markdown/reference/collection/get-inventory-item): Read one physical copy with its current item and placement revisions, using the same redacted private developer projection. Required permissions: `collection:read`, `binders:read`. MCP tool: `get_inventory_item`. - Presets - [List storage presets](https://holofolder.com/app/docs/markdown/reference/collection/list-storage-presets): Discover versioned copied target presets and explicit unsupported scopes. Metadata only, no owner planning snapshot or creation intent. Existing Premium/lifetime key or OAuth authority is required. Required permissions: `catalog:read`, `binders:read`. MCP tool: `list_storage_presets`. - [Preview storage preset](https://holofolder.com/app/docs/markdown/reference/collection/preview-storage-preset): Preview a detached ordered copied manifest without saving, assigning ownership, creating wants or allocating operation/collection/slot IDs. Use version 1, with speciesIds only for selected-species or printings only for selected-printings. Exact catalog language and requested finish evidence must be available; incomplete/ambiguous evidence fails the whole preview. Set/master-set scopes are unsupported. Manifest entries are preset entry IDs, not slot IDs. Not complete planner or queue ACK evidence; no autosync. Required permissions: `catalog:read`, `binders:read`. MCP tool: `preview_storage_preset`. - Native storage - [Restore raw collection content](https://holofolder.com/app/docs/markdown/reference/collection/restore-raw-collection-content): Bounded explicit same-owner raw content reconciliation of one existing collection, same stable slot IDs, no copied manifest/configuration change. Version 4 is the only command version: it carries the exact current copied manifest, per-slot origins and slotOrder.before/after (identical, or a permutation that also advances the layout revision). Content and origins bind by ID; slot versions advance. At most 1025 slots/manifest entries, 2050 distinct raw-copy refs, 100 wants/slot, 8192 work units (2S+I+W) and 1.75 MiB UTF-8/JSONB command text plus a 2.5 MiB complete prospective audit/undo graph. SQL independently refuses oversized graphs before writes with invalid_input, never a terminal rejection proof. Other command versions return invalid_input. Receipts and dedicated rejections carry version:4. These bounds do not establish production full-Dex availability. Current actor/owner/session or credential and partner preconditions are required, file IDs never prove provenance. Exact item/slot/placement/content/layout versions bind review. Explicit releases retain ownership in Unassigned; copies placed elsewhere cannot move. SQL checks the complete actual graph and its undo before commit. No acquisition, metadata replacement, graded copies, structural slot-set/configuration/grid, multi-collection/settings/assets/CSV restore. Lifetime exact accepted/rejected replay precedes mutable reconstruction after current authority checks. Only committed dedicated inventory/collection/content predicate rejection yields REST409 storage_restore_rejected or MCP isError with error.rejection. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas declares errors. Arbitrary conflicts, cancellation and failed COMMIT remain unknown; retain original intent and require a fresh complete read plus explicit reconciliation. Required permissions: `collection:write`, `binders:write`. MCP tool: `restore_raw_collection_content`. - [Import storage arrangement](https://holofolder.com/app/docs/markdown/reference/collection/import-storage-arrangement): Migration 093 adds committed terminal noncommit proofs: REST 409 storage_creation_rejected or storage_import_rejected, MCP isError with strict error.rejection (outcome, original operationId, known code, inventoryRevision). Exact accepted/rejected replay is permanent and precedes mutable reconstruction after current authority checks. Arbitrary conflicts, billing, cancellation, failed COMMIT and network errors remain unknown. Consumers must bind the trusted response to the original family, immutable intent and owner/session scope; proof alone never authorizes discard. Fresh complete current reads and explicit reconciliation are a separate consumer gate. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas declares errors. Atomic JSON v2 arrangement into an empty or target-only native collection with an already identical copied manifest. Every copy needs an explicit add or versioned existing-copy move. Retain the immutable request after unknown outcome. Does not replace collections/configuration, import assets, restore changed same-owner snapshots or authorize backup IDs. Required permissions: `collection:write`, `binders:write`. MCP tool: `import_storage_arrangement`. - [Execute slot commands](https://holofolder.com/app/docs/markdown/reference/collection/execute-slot-commands): A committed terminal ledger rejection returns REST 409 storage_command_rejected or MCP isError with the same error.rejection: outcome, original operationId, known code and inventoryRevision. Other conflicts/timeouts are not rejection proof. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas metadata declares errors. Atomic stable-ID slot insert/update/clear/remove/reorder. Requires exact inventory, collection, layout, slot/item/placement revisions and retry-stable operationId. Clear/remove release copies to Unassigned; neither deletes ownership. Set privateFields=preserve for create/reorder/target-only updates without replacing hidden wants; omitted or replace retains legacy full-replacement semantics. Required permissions: `collection:write`, `binders:write`. MCP tool: `execute_slot_commands`. - [Execute inventory commands](https://holofolder.com/app/docs/markdown/reference/collection/execute-inventory-commands): A committed terminal ledger rejection returns REST 409 storage_command_rejected or MCP isError with the same error.rejection: outcome, original operationId, known code and inventoryRevision. Other conflicts/timeouts are not rejection proof. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas metadata declares errors. Atomic insertAssign, owned-copy add/edit/remove/unassign/assign/move or collection deletion through the trusted executor. insertAssign creates one stable slot before an exact existing slot reference or appends with before:null, retaining explicit target:null/free or target intent. selection:null creates no ownership; existing requires an exact Unassigned item/version, new explicitly creates that stable item. It never auto-selects a grade or moves an assigned copy. Maximum 4096 slots and 8192 insertion work rows per request, 100 commands, 256 affected selected entities, 256 KiB ordinary request, 1 MiB ordinary receipt and unchanged 16 MiB/16384 audit bounds and 10s deadline; oversized evidence rejects atomically. Full selected-copy/destination and revision preconditions are mandatory. Only explicit removeOwned (a command, or removeOwned:true on deleteCollection, which deletes the raw copies in that collection and leaves graded copies Unassigned) deletes ownership; idempotent receipts require a fresh complete read before reconciliation. Set privateFields=preserve for add, explicit removeOwned, unassign or placement with fulfillWant:null; patchGrading updates only declared public fields on existing grading; setFinish corrects the recorded finish of a card copy in place (migration 114) and must still match the target of its pocket; selected-want expectedPublic compares the exact locked slot/index public projection. Hidden certificates/assets/provenance and unrelated wants are retained by migration 090 after original-intent replay lookup. Omitted or replace retains full-replacement semantics. Required permissions: `collection:write`, `binders:write`. MCP tool: `execute_inventory_commands`. - [List storage collections](https://holofolder.com/app/docs/markdown/reference/collection/list-storage-collections): Page current native storage metadata, the copied initial presetManifest including optional setScope historical evidence, private location, counts and independent collection/layout revisions. Mixed legacy owners fail closed. Copied preset discovery/preview uses the separate preset operations. Required permissions: `collection:read`, `binders:read`. MCP tool: `list_storage_collections`. - [Create storage collection](https://holofolder.com/app/docs/markdown/reference/collection/create-storage-collection): Migration 093 adds committed terminal noncommit proofs: REST 409 storage_creation_rejected or storage_import_rejected, MCP isError with strict error.rejection (outcome, original operationId, known code, inventoryRevision). Exact accepted/rejected replay is permanent and precedes mutable reconstruction after current authority checks. Arbitrary conflicts, billing, cancellation, failed COMMIT and network errors remain unknown. Consumers must bind the trusted response to the original family, immutable intent and owner/session scope; proof alone never authorizes discard. Fresh complete current reads and explicit reconciliation are a separate consumer gate. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas declares errors. Atomically create native storage from an ordered copied manifest, never a legacy create-then-edit. Migration 101 additionally accepts manifest.setScope, the exact reviewed language, verified finishes, promos, exclusions, coverage warnings and capture time. This is an independent copied initial list; goals remain editable and free slots can be appended. Catalog eligibility is checked at creation, not enforced on later edits. Preserve collection/slot/operation IDs across retries. Empty goals and spacers create no ownership or wants; recoverySupported remains conservative false. Required permissions: `collection:write`, `binders:write`. MCP tool: `create_storage_collection`. - [Preview storage recovery](https://holofolder.com/app/docs/markdown/reference/collection/preview-storage-recovery): Preview supported native audit evidence using the private native backend, never the legacy Activity facade. Unsupported events return conflicts/unsupported with no usable plan. Default-creation recovery needs explicit v2 replacement. Required permissions: `collection:read`, `collection:write`, `binders:write`. MCP tool: `preview_storage_recovery`. - [Apply storage recovery](https://holofolder.com/app/docs/markdown/reference/collection/apply-storage-recovery): A committed terminal rejection returns REST 409 storage_recovery_rejected or MCP isError with strict error.rejection (outcome, original operationId, code, inventoryRevision). Only recovery_plan_conflict and recovery_dependency_conflict are terminal. Accepted/rejected exact replay precedes mutable plan reconstruction but requires current authority. Preserve unknown requests; status, billing errors and cancellation are not proof. After proof, obtain a fresh complete current owner/session read and explicitly discard, or review a new preview and confirm a new operationId. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas metadata declares errors. Apply exactly reviewed native version-1 recovery with confirmation, planToken and retry-stable operationId. Current authority and newer/ABA changes remain enforced. No fallback to legacy recovery. Required permissions: `collection:read`, `collection:write`, `binders:write`. MCP tool: `apply_storage_recovery`. - [Preview storage recovery v2](https://holofolder.com/app/docs/markdown/reference/collection/preview-storage-recovery-v2): Preview default-creation recovery with one explicit same-owner replacement and its current inventory/content/layout revisions. Does not select a replacement or restore authority implicitly. Required permissions: `collection:read`, `collection:write`, `binders:write`. MCP tool: `preview_storage_recovery_v2`. - [Apply storage recovery v2](https://holofolder.com/app/docs/markdown/reference/collection/apply-storage-recovery-v2): A committed terminal rejection returns REST 409 storage_recovery_rejected or MCP isError with strict error.rejection (outcome, original operationId, code, inventoryRevision). Only recovery_plan_conflict and recovery_dependency_conflict are terminal. Accepted/rejected exact replay precedes mutable plan reconstruction but requires current authority. Preserve unknown requests; status, billing errors and cancellation are not proof. After proof, obtain a fresh complete current owner/session read and explicitly discard, or review a new preview and confirm a new operationId. MCP outputSchema describes accepted receipts only; holofolder.com/errorSchemas metadata declares errors. Apply the exact confirmed version-2 default-creation plan with explicit replacement and stable operationId. Unsupported dependencies and conflicts reject atomically; no legacy fallback. Required permissions: `collection:read`, `collection:write`, `binders:write`. MCP tool: `apply_storage_recovery_v2`. - [List storage slots](https://holofolder.com/app/docs/markdown/reference/collection/list-storage-slots): Page ordered stable slots, current targets and wanted entries with item/placement/collection/layout preconditions. Empty targets are goals, not ownership. Cursor rejects changed revisions, scope or filters. Required permissions: `collection:read`, `binders:read`. MCP tool: `list_storage_slots`. - [Get storage slot](https://holofolder.com/app/docs/markdown/reference/collection/get-storage-slot): Read one stable slot and all current edit preconditions. Removing a slot must retain its owned copy as Unassigned. No private planning/source/certificate/assets are returned. Required permissions: `collection:read`, `binders:read`. MCP tool: `get_storage_slot`. - Prices - [Get prices](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/get-prices): Read existing price evidence without contacting providers. Required permissions: `prices:read`. MCP tool: `get_prices`. - [Refresh prices](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/refresh-prices): Refresh a bounded batch of card prices with existing provider cooldowns. Required permissions: `prices:refresh`. MCP tool: `refresh_prices`. - [Get price checks](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/get-price-checks): Read existing exact-printing market comparisons. Required permissions: `prices:read`. MCP tool: `get_price_checks`. - [Refresh price checks](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/refresh-price-checks): Refresh eBay asking comparisons within provider limits. Set source to ebay; sold-comps refreshes are app-only. Required permissions: `prices:refresh`. MCP tool: `refresh_price_checks`. - [Get price history](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/get-price-history): Read all recorded price evidence with bounded keyset pagination. Required permissions: `prices:read`. MCP tool: `get_price_history`. - Comparisons - [Get comparison job](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/get-comparison-job): Read a background comparison job. Required permissions: `prices:read`. MCP tool: `get_comparison_job`. - [Cancel comparison job](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/cancel-comparison-job): Cancel your accessible comparison job. Required permissions: `prices:refresh`. MCP tool: `cancel_comparison_job`. - [Inspect comparison job](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/inspect-comparison-job): Estimate comparison work and inspect existing jobs before starting. Required permissions: `prices:read`. MCP tool: `inspect_comparison_job`. - [Start comparison job](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/start-comparison-job): App-only: starting background comparisons through REST or MCP returns ui_only. Read, inspect and cancel existing jobs instead. Required permissions: `prices:refresh`. MCP tool: `start_comparison_job`. - Deal checks - [Check deal](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/check-deal): Evaluate an asking price using existing saved market evidence. Required permissions: `prices:read`. MCP tool: `check_deal`. - [Get listings](https://holofolder.com/app/docs/markdown/reference/prices-and-insights/get-listings): Read current eBay listings. May contact the provider. Required permissions: `prices:refresh`. MCP tool: `get_listings`. - Account - [Get settings](https://holofolder.com/app/docs/markdown/reference/account/get-settings): Read persisted binder settings. Required permissions: `settings:read`. MCP tool: `get_settings`. - [Update settings](https://holofolder.com/app/docs/markdown/reference/account/update-settings): Replace persisted collection settings and optionally a binder layout. Required permissions: `settings:write`. MCP tool: `update_settings`. - [Get identity](https://holofolder.com/app/docs/markdown/reference/account/get-identity): Read your account username and display name. Required permissions: `settings:read`. MCP tool: `get_identity`. - [Update identity](https://holofolder.com/app/docs/markdown/reference/account/update-identity): Update your own public username or display name. Required permissions: `settings:write`. MCP tool: `update_identity`. - [List partners](https://holofolder.com/app/docs/markdown/reference/account/list-partners): Read your current partnership and paginated invitations. Required permissions: `partners:manage`. MCP tool: `list_partners`. - [Disconnect partner](https://holofolder.com/app/docs/markdown/reference/account/disconnect-partner): Disconnect your partnership. This removes your access to a partner-owned collection. Required permissions: `partners:manage`. MCP tool: `disconnect_partner`. - [Invite partner](https://holofolder.com/app/docs/markdown/reference/account/invite-partner): Invite a partner. Repeating a pending invitation does not create another. Required permissions: `partners:manage`. MCP tool: `invite_partner`. - [Accept partner invite](https://holofolder.com/app/docs/markdown/reference/account/accept-partner-invite): Accept an invitation addressed to your verified account email. Required permissions: `partners:manage`. MCP tool: `accept_partner_invite`. - [Reject partner invite](https://holofolder.com/app/docs/markdown/reference/account/reject-partner-invite): Reject an invitation addressed to your account. Required permissions: `partners:manage`. MCP tool: `reject_partner_invite`. ## Machine-readable resources - [All documentation in one file](https://holofolder.com/app/docs/llms-full.txt) - [OpenAPI 3.1 contract](https://holofolder.com/app/openapi.json) - [MCP server](https://holofolder.com/app/mcp) REST requires a personal API key. MCP uses OAuth. Documentation is public; API operations require the access and permissions described in the guides.