# push-live · endpoints only Base URL: https://push-live.com Auth: Authorization: Bearer (mint via /api/auth/agent/request-code → /verify-code). Anonymous publish is allowed for /api/v1/publish; sites expire after 24 h. ## Sites POST /api/v1/publish create PUT /api/v1/publish/{slug} update POST /api/v1/publish/{slug}/finalize commit pending version POST /api/v1/publish/{slug}/uploads/refresh refresh presigned URLs POST /api/v1/publish/{slug}/claim claim anonymous PATCH /api/v1/publish/{slug}/metadata ttl/viewer/password/price/spaMode/forkable POST /api/v1/publish/{slug}/duplicate server-side copy POST /api/v1/publish/from-drive publish Drive snapshot GET /api/v1/publishes list GET /api/v1/publish/{slug} details DELETE /api/v1/publish/{slug} delete (Every path above is also aliased under /api/v1/artifact{slug}.) ## Drives POST /api/v1/drives create GET /api/v1/drives list GET /api/v1/drives/default get or create default GET /api/v1/drives/{driveId} details PATCH /api/v1/drives/{driveId} update DELETE /api/v1/drives/{driveId} delete GET /api/v1/drives/{driveId}/files list (prefix, cursor) PATCH /api/v1/drives/{driveId}/files batch put/delete/move/copy POST /api/v1/drives/{driveId}/files/uploads stage upload POST /api/v1/drives/{driveId}/files/finalize commit upload POST /api/v1/drives/{driveId}/files/move move GET /api/v1/drives/{driveId}/files/{path} read; ?versions=true | ?at= DELETE /api/v1/drives/{driveId}/files/{path} delete; ?recursive=true POST /api/v1/drives/{driveId}/tokens mint share token GET /api/v1/drives/{driveId}/tokens list DELETE /api/v1/drives/{driveId}/tokens/{tokenId} revoke ## Domains, handle, links, variables, wallet POST/GET/DELETE /api/v1/domains[/...] custom domains POST/GET/PATCH/DELETE /api/v1/handle account subdomain POST/GET/PATCH/DELETE /api/v1/links/{location} route paths to sites GET/PUT/DELETE /api/v1/me/variables/{name} encrypted secrets GET/PATCH /api/v1/wallet payout wallet ## Payments POST /api/pay/{slug}/session start session, returns deposit address GET /api/pay/{slug}/poll?session= poll status POST /api/pay/{slug}/grant JSON grant with txHash GET /api/pay/{slug}/confirm?session=&tx= browser grant (sets cookie, redirects) ## Errors Shape: { error, code, message, docs_url, retry_after?, ... }. docs_url anchors at /docs#auth|errors|limits|payments.