GenuineAIGenuineAI
For usersFor developers
  • Overview
  • Guides
  • How-to
  • API reference
Documentation
  • Quickstart
  • Authentication
  • Errors
  • Rate limits
  • API reference
Platform
  • Platform overview
  • Solutions
  • Pricing
  • Sign in
Company
  • Status
  • Trust Center
  • Contact
  • Terms of Service
  • Privacy Policy

© 2026 GenuineAI Ventures LLC

support@genuinehq.com
Overview
Core
Media library
AI
Documents
Knowledge
Creative
    Designs
    Design categories
    Studio
    Infographics
    Presentations
    Presentation templates
      List templatesgetUpload a templatepostGet a templategetUpdate a templateputReplace the .pptxpostInspect a .pptxpost
Website & content
Automation
Customer channels
Administration
Schemas
GenuineAI API
GenuineAI API

Presentation templates

The .pptx files presentations are generated into.


List templates

GET
https://api.genuineai.app/api/v1
/presentation-templates

Beta — this operation may change on 30 days notice. See versioning.

Requires the module-ppt license feature. Without it the request is refused with 403 license_required — see plans and modules.

List templates › query Parameters

cursor
​string · maxLength: 512 · pattern: ^[A-Za-z0-9_-]+$
limit
​integer
offset
​integer · min: 0
ppt_tpl_active
​boolean
ppt_tpl_created
​array
ppt_tpl_created_by
​string · uuid
ppt_tpl_id
​string · uuid
ppt_tpl_name
​string
sort
​string · minLength: 1 · maxLength: 64 · pattern: ^-?[a-z0-9_]+$

List templates › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

List templates › Responses

Success

​PresentationTemplate[] · required
has_more
​boolean · required

Whether more rows exist past this page.

next_cursor
​string | null · required

Pass back as cursor for the next page. Null on the last page.

GET/presentation-templates
curl https://api.genuineai.app/api/v1/presentation-templates \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "data": [ { "ppt_tpl_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_file_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_config": {}, "ppt_tpl_metadata": {}, "ppt_tpl_active": true, "ppt_tpl_created": "2024-08-25T15:00:00Z", "ppt_tpl_updated": "2024-08-25T15:00:00Z", "file_name": "file_name", "file_replicas": [ "string" ] } ], "has_more": true, "next_cursor": "next_cursor" }
json
application/json

Upload a template

POST
https://api.genuineai.app/api/v1
/presentation-templates

Beta — this operation may change on 30 days notice. See versioning.

Takes a .pptx upload. Its slide layouts and placeholders are read out of the file and become the shapes generated content is fitted into.

Requires the module-ppt license feature. Without it the request is refused with 403 license_required — see plans and modules.

Upload a template › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Upload a template › Request Body

ppt_tpl_name
​string · minLength: 1 · required
ppt_tpl_description
​string
ppt_tpl_config
​string

Upload a template › Responses

Created

A .pptx file decks are generated into, and the layouts read out of it.
PresentationTemplate
ppt_tpl_id
​string · uuid
ppt_tpl_name
​string
ppt_tpl_description
​string
ppt_tpl_file_id
​string · uuid
ppt_tpl_config
​object
ppt_tpl_metadata
​object
ppt_tpl_active
​boolean
ppt_tpl_created
​string · date-time
ppt_tpl_updated
​string · date-time
file_name
​string
file_replicas
​string[]
POST/presentation-templates
curl https://api.genuineai.app/api/v1/presentation-templates \ --request POST \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_config": "ppt_tpl_config" }'
Example Request Body
{ "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_config": "ppt_tpl_config" }
json
Example Responses
{ "ppt_tpl_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_file_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_config": {}, "ppt_tpl_metadata": {}, "ppt_tpl_active": true, "ppt_tpl_created": "2024-08-25T15:00:00Z", "ppt_tpl_updated": "2024-08-25T15:00:00Z", "file_name": "file_name", "file_replicas": [ "string" ] }
json
application/json

Get a template

GET
https://api.genuineai.app/api/v1
/presentation-templates/{id}

Beta — this operation may change on 30 days notice. See versioning.

Requires the module-ppt license feature. Without it the request is refused with 403 license_required — see plans and modules.

Get a template › path Parameters

id
​string · uuid · required

Get a template › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Get a template › Responses

Success

A .pptx file decks are generated into, and the layouts read out of it.
PresentationTemplate
ppt_tpl_id
​string · uuid
ppt_tpl_name
​string
ppt_tpl_description
​string
ppt_tpl_file_id
​string · uuid
ppt_tpl_config
​object
ppt_tpl_metadata
​object
ppt_tpl_active
​boolean
ppt_tpl_created
​string · date-time
ppt_tpl_updated
​string · date-time
file_name
​string
file_replicas
​string[]
GET/presentation-templates/{id}
curl https://api.genuineai.app/api/v1/presentation-templates/:id \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "ppt_tpl_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_file_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_config": {}, "ppt_tpl_metadata": {}, "ppt_tpl_active": true, "ppt_tpl_created": "2024-08-25T15:00:00Z", "ppt_tpl_updated": "2024-08-25T15:00:00Z", "file_name": "file_name", "file_replicas": [ "string" ] }
json
application/json

Update a template

PUT
https://api.genuineai.app/api/v1
/presentation-templates/{id}

Beta — this operation may change on 30 days notice. See versioning.

Requires the module-ppt license feature. Without it the request is refused with 403 license_required — see plans and modules.

Update a template › path Parameters

id
​string · uuid · required

Update a template › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Update a template › Request Body optional

ppt_tpl_name
​string
ppt_tpl_description
​string
ppt_tpl_config
​string
ppt_tpl_active
​boolean

Update a template › Responses

Success

A .pptx file decks are generated into, and the layouts read out of it.
PresentationTemplate
ppt_tpl_id
​string · uuid
ppt_tpl_name
​string
ppt_tpl_description
​string
ppt_tpl_file_id
​string · uuid
ppt_tpl_config
​object
ppt_tpl_metadata
​object
ppt_tpl_active
​boolean
ppt_tpl_created
​string · date-time
ppt_tpl_updated
​string · date-time
file_name
​string
file_replicas
​string[]
PUT/presentation-templates/{id}
curl https://api.genuineai.app/api/v1/presentation-templates/:id \ --request PUT \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_config": "ppt_tpl_config", "ppt_tpl_active": true }'
Example Request Body
{ "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_config": "ppt_tpl_config", "ppt_tpl_active": true }
json
Example Responses
{ "ppt_tpl_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_name": "ppt_tpl_name", "ppt_tpl_description": "ppt_tpl_description", "ppt_tpl_file_id": "00000000-0000-0000-0000-000000000000", "ppt_tpl_config": {}, "ppt_tpl_metadata": {}, "ppt_tpl_active": true, "ppt_tpl_created": "2024-08-25T15:00:00Z", "ppt_tpl_updated": "2024-08-25T15:00:00Z", "file_name": "file_name", "file_replicas": [ "string" ] }
json
application/json

Replace the .pptx

POST
https://api.genuineai.app/api/v1
/presentation-templates/{id}/file

Beta — this operation may change on 30 days notice. See versioning.

Swaps the underlying file and re-derives the layout catalog from it, because the placeholders in the old file may not exist in the new one.

Requires the module-ppt license feature. Without it the request is refused with 403 license_required — see plans and modules.

Replace the .pptx › path Parameters

id
​string · uuid · required

Replace the .pptx › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Replace the .pptx › Responses

Success

No data returned
POST/presentation-templates/{id}/file
curl https://api.genuineai.app/api/v1/presentation-templates/:id/file \ --request POST \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
No example specified for this content type

Inspect a .pptx

POST
https://api.genuineai.app/api/v1
/presentation-templates/parse

Beta — this operation may change on 30 days notice. See versioning.

Reads an uploaded file and returns the layouts found in it plus a suggested configuration, without storing anything. This is what lets an upload be reviewed before it becomes a template.

Requires the module-ppt license feature. Without it the request is refused with 403 license_required — see plans and modules.

Inspect a .pptx › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Inspect a .pptx › Responses

Success

No data returned
POST/presentation-templates/parse
curl https://api.genuineai.app/api/v1/presentation-templates/parse \ --request POST \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
No example specified for this content type

PresentationsWebsite content