Metadata-Version: 2.4
Name: prezent-sdk
Version: 0.1.1
Summary: Prezent Platform API
Home-page: 
Author: Prezent API Support
Author-email: support@prezent.ai
License: Proprietary - Prezent, Inc.
Keywords: OpenAPI,OpenAPI-Generator,Prezent Platform API
Description-Content-Type: text/markdown
Requires-Dist: urllib3<2.1.0,>=1.25.3
Requires-Dist: python-dateutil
Requires-Dist: pydantic>=2
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: license
Dynamic: requires-dist
Dynamic: summary

    The Prezent Platform API exposes Prezent&#39;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 &#x60;{ \&quot;success\&quot;: true, \&quot;data\&quot;: { ... } }&#x60; or a uniform error envelope &#x60;{ \&quot;success\&quot;: false, \&quot;data\&quot;: null, \&quot;error\&quot;: { \&quot;code\&quot;: \&quot;...\&quot;, \&quot;message\&quot;: \&quot;...\&quot;, \&quot;details\&quot;: { ... } } }&#x60;. Error codes are drawn from a stable catalog (see &#x60;ErrorCode&#x60;). 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 &#x60;callback_id&#x60; that the client polls against a corresponding status endpoint. The canonical async polling endpoint for the Template Converter family is **&#x60;GET /api/v2/template-converter/status/{callback_id}&#x60;** which uses strict HTTP-status mapping (200 only on workflow success, 4xx/5xx on workflow failure). The v1 polling endpoint at &#x60;/api/v1/template-converter/status/{callbackId}&#x60; (and its REST alias &#x60;GET /api/v1/template-conversions/{callback_id}&#x60;) continues to be served with legacy semantics (HTTP 200 with &#x60;status&#x60; 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 (&#x60;/api/v1/autogenerations&#x60;, &#x60;/api/v1/template-conversions&#x60;). The legacy RPC-style paths under &#x60;/api/v1/autogenerator/*&#x60; and &#x60;/api/v1/template-converter/*&#x60; continue to be served indefinitely; they return a &#x60;Deprecation: true&#x60; 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 — &#x60;Authorization: Bearer &lt;key&gt;&#x60;.   Each key is scoped to an allow-list of endpoint paths; an out-of-scope   call returns &#x60;404 ENDPOINT_NOT_FOUND&#x60;. - **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 &#x60;429&#x60; with &#x60;error.code&#x60;   &#x60;TOO_MANY_REQUESTS&#x60; (gateway), &#x60;RATE_LIMIT_EXCEEDED&#x60; (per-category),   or &#x60;USAGE_LIMIT_EXCEEDED&#x60; (annual). - **Errors:** every error uses the &#x60;{ success:false, data:null, error:{   code, message, details } }&#x60; envelope with stable, documented &#x60;code&#x60;   values. - **Idempotency &amp; pagination:** mutating requests accept an   &#x60;Idempotency-Key&#x60;; list endpoints accept opt-in &#x60;limit&#x60;/&#x60;cursor&#x60;   paging.  **Building with an AI agent?** Prezent ships a first-class Model Context Protocol (MCP) server. The hosted endpoint is &#x60;https://mcp.myprezent.com/mcp&#x60; (OAuth 2.1, works with Claude.ai Custom Connectors); a local stdio server is published on PyPI as &#x60;prezent-mcp-server&#x60; 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 &#x60;/api/v1/scim/*&#x60;. Those endpoints conform to RFC 7644 (SCIM 2.0) and follow a different envelope (&#x60;schemas&#x60;, &#x60;Resources&#x60;, &#x60;totalResults&#x60;, etc.). They are documented separately at /docs/scim-user-management. 
    
