The Prezent Platform API exposes Prezent's AutoGenerator, Template Converter, Audiences, Themes, and File-upload services as a uniform JSON HTTP API. This contract describes the **target agent-ready shape** of the API: every documented endpoint returns a uniform success envelope `{ \"success\": true, \"data\": { ... } }` or a uniform error envelope `{ \"success\": false, \"data\": null, \"error\": { \"code\": \"...\", \"message\": \"...\", \"details\": { ... } } }`. Error codes are drawn from a stable catalog (see `ErrorCode`). The contract is additive: handlers may continue to emit legacy keys alongside the documented ones for backwards compatibility, so schemas explicitly allow additional properties at the envelope and data levels. Several endpoints kick off long-running background work and return a `callback_id` that the client polls against a corresponding status endpoint. The canonical async polling endpoint for the Template Converter family is **`GET /api/v2/template-converter/status/{callback_id}`** which uses strict HTTP-status mapping (200 only on workflow success, 4xx/5xx on workflow failure). The v1 polling endpoint at `/api/v1/template-converter/status/{callbackId}` (and its REST alias `GET /api/v1/template-conversions/{callback_id}`) continues to be served with legacy semantics (HTTP 200 with `status` field) and is intentionally omitted from this documentation. **REST resource aliases (v1.1).** AutoGenerator and Template Converter endpoints are documented here under their REST-resource path names (`/api/v1/autogenerations`, `/api/v1/template-conversions`). The legacy RPC-style paths under `/api/v1/autogenerator/*` and `/api/v1/template-converter/*` continue to be served indefinitely; they return a `Deprecation: true` header pointing to the successor alias. **Conventions that apply to every endpoint** (full reference in the companion guides on this documentation site): - **Auth:** API key as a Bearer token — `Authorization: Bearer <key>`. Each key is scoped to an allow-list of endpoint paths; an out-of-scope call returns `404 ENDPOINT_NOT_FOUND`. - **Rate limits:** gateway throttle 10 req/s sustained, 5 burst, 1,000 req/day per key; per-company per-category 60-second sliding windows; annual quotas (50,000 slide generations/yr, 1,000,000 downloads/yr). Limit breaches return `429` with `error.code` `TOO_MANY_REQUESTS` (gateway), `RATE_LIMIT_EXCEEDED` (per-category), or `USAGE_LIMIT_EXCEEDED` (annual). - **Errors:** every error uses the `{ success:false, data:null, error:{ code, message, details } }` envelope with stable, documented `code` values. - **Idempotency & pagination:** mutating requests accept an `Idempotency-Key`; list endpoints accept opt-in `limit`/`cursor` paging. **Building with an AI agent?** Prezent ships a first-class Model Context Protocol (MCP) server. The hosted endpoint is `https://mcp.myprezent.com/mcp` (OAuth 2.1, works with Claude.ai Custom Connectors); a local stdio server is published on PyPI as `prezent-mcp-server` and plugs into Claude Desktop, Cursor, Cline, Continue, and Zed. The MCP tools wrap the same REST endpoints described here. **Official SDKs.** Typed REST clients are published for Python, TypeScript, Go, Java, Ruby, C#, and PHP — generated from and versioned against this spec. See the SDKs guide for per-language install commands. **Out of scope of this document:** SCIM endpoints under `/api/v1/scim/*`. Those endpoints conform to RFC 7644 (SCIM 2.0) and follow a different envelope (`schemas`, `Resources`, `totalResults`, etc.). They are documented separately at /docs/scim-user-management.
Metadata
Release files for prezent-sdk 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| prezent_sdk-0.1.1.tar.gz | 125.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| prezent_sdk-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 633.5 kB
Release files / prezent_sdk-0.1.1.tar.gz
| Download URL | prezent_sdk-0.1.1.tar.gz |
|---|---|
| Size | 125.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64376094ac7e30e48defe42dd1b87c179af3022926ca95b85adb5c06e343ad11
|
|
BLAKE2b-256 checksum How to use checksums |
b89b08a4731bd679738ea9101121dcc7abe432c7b0fcad20aa723580134d9b6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|
Release files / prezent_sdk-0.1.1-py3-none-any.whl
| Download URL | prezent_sdk-0.1.1-py3-none-any.whl |
|---|---|
| Size | 507.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48e7e156e474fb080a23cfd3e4d24b8ff8edb0c30b46ec0408427b5e2b1dc1b0
|
|
BLAKE2b-256 checksum How to use checksums |
3889c8812c41aad380ac2531c5ee65e6ee3f1b4229966ee3b9686f8c55d8202c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|
Security for prezent-sdk 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.