# SubmitDock Pages API for AI Agents > SubmitDock is an API-first service that generates compliant, persistent Support and Privacy Policy web pages for iOS applications submitted to Apple App Store Connect. ## Core Capabilities - **Create iOS public pages**: Issues `https:///support/` and `https:///privacy/`. - **Markdown-first**: Formats descriptions, FAQ sections, and privacy policies using clean GitHub Flavored Markdown (headings, lists, bold, tables, links, code). - **Direct Image Uploads**: AI agents can upload screenshot images and app icons directly via JSON (`base64` or Data URIs) or `multipart/form-data`. - **Edit & Lifecycle**: Pages return an `editToken` upon creation, enabling `PATCH`, `PUT`, and `DELETE` operations via Bearer authorization. - **Claim & Update Existing Pages**: Issue an `editToken` for any existing page using `POST /api/pages/:id/token` via admin password or current edit token, preserving the exact same App Store submission URLs. ## Endpoints Summary | Method | Path | Auth | Description | |---|---|---|---| | `POST` | `/api/pages` | None | Create a new page pair. Returns `id`, `editToken`, `supportUrl`, `privacyUrl`. | | `GET` | `/api/pages/:id` | None | Get page metadata and markdown content. | | `PATCH` | `/api/pages/:id` | `Bearer ` | Update specific fields or replace screenshots. | | `PUT` | `/api/pages/:id` | `Bearer ` | Replace entire page content. | | `DELETE` | `/api/pages/:id` | `Bearer ` | Delete the page and all uploaded images. | | `POST` | `/api/pages/:id/token` | Edit token or Admin | Issue/claim editToken for an existing page without changing its URLs. | ## Quick JSON Example (for AI Agents) ```bash curl -X POST https:///api/pages \ -H "Content-Type: application/json" \ -d '{ "appName": "HabitQuest", "developerName": "Studio Hino", "supportEmail": "support@example.com", "appStoreUrl": "https://apps.apple.com/app/id1234567890", "appDescription": "## Simple habit tracker\nTrack your daily routines with ease.\n\n- No ads\n- iCloud sync", "supportContent": "## FAQ\n\n### How to sync?\nSign into iCloud in iOS Settings.", "privacyPolicy": "## Privacy Policy\n\n### Data Collection\nWe do **not** collect or store personal data.", "screenshots": [ { "name": "home.png", "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" } ] }' ``` Response: ```json { "id": "m1abcde-1234", "editToken": "sdk_a1b2c3d4...", "supportUrl": "https:///support/m1abcde-1234", "privacyUrl": "https:///privacy/m1abcde-1234", "page": { ... } } ``` ## Specifications - OpenAPI Spec: `/openapi.json` - Full documentation & guides: `/llms-full.txt` ## Private release workspace - /admin/releases manages multiple apps, Markdown drafts, observed review states, revision history, and publication. Existing admin login required. - Download /downloads/submitdock-releasekit.zip for the portable Python 3.10+ CLI and templates. - Release registry APIs are under /admin/api/releases; mutations require admin Bearer authorization or session CSRF. - Never store passwords, API keys, private review contacts, or local execution settings in the hosted registry.