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
    Files
    Uploads
    Stock photos
    Downloads
    File versions
    File analysis
    Media analysis schemas
      List schemasgetCreate a schemapostGet a schemagetDelete a schemadeleteUpdate a schemapatch
    Faces
    Albums
    People
    Media tags
    Share links
    Publications
    Distribution control
AI
Documents
Knowledge
Creative
Website & content
Automation
Customer channels
Administration
Schemas
GenuineAI API
GenuineAI API

Media analysis schemas

What the workspace adds to media analysis — the fields the vision model extracts from every analyzed image, over and above the built-in analysis.


List schemas

GET
https://api.genuineai.app/api/v1
/media-analysis-schemas

Returns the workspace's analysis schemas, including the field definitions of each. At most one is in use at a time: the one the imageAnalysisFormId workspace setting names.

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

List schemas › query Parameters

cursor
​string · maxLength: 512 · pattern: ^[A-Za-z0-9_-]+$
form_active
​boolean
​object · style: deepObject · explode: true
form_created
​array
form_description
​string
form_id
​string · uuid
form_managed_by
​string · uuid
form_name
​string
form_updated
​array
limit
​integer
offset
​integer · min: 0
sort
​string · minLength: 1 · maxLength: 64 · pattern: ^-?[a-z0-9_]+$

List schemas › 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 schemas › Responses

Success

​MediaAnalysisSchema[] · 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/media-analysis-schemas
curl https://api.genuineai.app/api/v1/media-analysis-schemas \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "data": [ { "form_id": "00000000-0000-0000-0000-000000000000", "form_name": "form_name", "form_description": "form_description", "form_config": {}, "form_metadata": {}, "form_managed_by": "form_managed_by", "form_active": true, "form_created": "2024-08-25T15:00:00Z", "form_updated": "2024-08-25T15:00:00Z" } ], "has_more": true, "next_cursor": "next_cursor" }
json
application/json

Create a schema

POST
https://api.genuineai.app/api/v1
/media-analysis-schemas

Creating a schema does not put it in use — point the imageAnalysisFormId workspace setting at it to have analysis apply it.

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

Create a schema › 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.

Create a schema › Request Body

form_name
​string · minLength: 1 · required
form_description
​string
form_config
​object
form_metadata
​object

Create a schema › Responses

Created

Fields the workspace adds to media analysis — what the vision model extracts from every analyzed image, over and above the built-in analysis.
MediaAnalysisSchema
form_id
​string · uuid
form_name
​string
form_description
​string
form_config
​object
form_metadata
​object
form_managed_by
​string
form_active
​boolean
form_created
​string · date-time
form_updated
​string · date-time
POST/media-analysis-schemas
curl https://api.genuineai.app/api/v1/media-analysis-schemas \ --request POST \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "form_name": "form_name", "form_description": "form_description", "form_config": {}, "form_metadata": {} }'
Example Request Body
{ "form_name": "form_name", "form_description": "form_description", "form_config": {}, "form_metadata": {} }
json
Example Responses
{ "form_id": "00000000-0000-0000-0000-000000000000", "form_name": "form_name", "form_description": "form_description", "form_config": {}, "form_metadata": {}, "form_managed_by": "form_managed_by", "form_active": true, "form_created": "2024-08-25T15:00:00Z", "form_updated": "2024-08-25T15:00:00Z" }
json
application/json

Get a schema

GET
https://api.genuineai.app/api/v1
/media-analysis-schemas/{id}

Returns the schema with its field definitions.

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

Get a schema › path Parameters

id
​string · uuid · required

Get a schema › 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 schema › Responses

Success

Fields the workspace adds to media analysis — what the vision model extracts from every analyzed image, over and above the built-in analysis.
MediaAnalysisSchema
form_id
​string · uuid
form_name
​string
form_description
​string
form_config
​object
form_metadata
​object
form_managed_by
​string
form_active
​boolean
form_created
​string · date-time
form_updated
​string · date-time
GET/media-analysis-schemas/{id}
curl https://api.genuineai.app/api/v1/media-analysis-schemas/:id \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "form_id": "00000000-0000-0000-0000-000000000000", "form_name": "form_name", "form_description": "form_description", "form_config": {}, "form_metadata": {}, "form_managed_by": "form_managed_by", "form_active": true, "form_created": "2024-08-25T15:00:00Z", "form_updated": "2024-08-25T15:00:00Z" }
json
application/json

Delete a schema

DELETE
https://api.genuineai.app/api/v1
/media-analysis-schemas/{id}

Deactivates the schema. Files already analyzed keep the values they were analyzed with.

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

Delete a schema › path Parameters

id
​string · uuid · required

Delete a schema › 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.

Delete a schema › Responses

Success. No content.

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

Update a schema

PATCH
https://api.genuineai.app/api/v1
/media-analysis-schemas/{id}

Applies the form_-prefixed fields present in the body. Changes reach future analysis runs; files already analyzed keep the values they were analyzed with.

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

Update a schema › path Parameters

id
​string · uuid · required

Update a schema › 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 schema › Request Body optional

form_name
​string
form_description
​string
form_active
​boolean
form_config
​object
form_metadata
​object

Update a schema › Responses

Success

Fields the workspace adds to media analysis — what the vision model extracts from every analyzed image, over and above the built-in analysis.
MediaAnalysisSchema
form_id
​string · uuid
form_name
​string
form_description
​string
form_config
​object
form_metadata
​object
form_managed_by
​string
form_active
​boolean
form_created
​string · date-time
form_updated
​string · date-time
PATCH/media-analysis-schemas/{id}
curl https://api.genuineai.app/api/v1/media-analysis-schemas/:id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "form_name": "form_name", "form_description": "form_description", "form_active": true, "form_config": {}, "form_metadata": {} }'
Example Request Body
{ "form_name": "form_name", "form_description": "form_description", "form_active": true, "form_config": {}, "form_metadata": {} }
json
Example Responses
{ "form_id": "00000000-0000-0000-0000-000000000000", "form_name": "form_name", "form_description": "form_description", "form_config": {}, "form_metadata": {}, "form_managed_by": "form_managed_by", "form_active": true, "form_created": "2024-08-25T15:00:00Z", "form_updated": "2024-08-25T15:00:00Z" }
json
application/json

File analysisFaces