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
Website & content
Automation
    Workflows
    Workflow instances
    Tasks
    Scheduled jobs
    Integrations
      List connectionsgetCreate a connectionpostGet a connectiongetDelete a connectiondeleteUpdate a connectionpatchSearch operationsgetList providersget
    Extensions
Customer channels
Administration
Schemas
GenuineAI API
GenuineAI API

Integrations

Connections to third-party products, and the actions each one exposes.


List connections

GET
https://api.genuineai.app/api/v1
/integrations

Keys are never included.

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

List connections › query Parameters

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

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

Success

​Integration[] · 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/integrations
curl https://api.genuineai.app/api/v1/integrations \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "data": [ { "conn_id": "00000000-0000-0000-0000-000000000000", "conn_active": true, "conn_created": "2024-08-25T15:00:00Z", "conn_updated": "2024-08-25T15:00:00Z", "conn_name": "conn_name", "conn_provider": "conn_provider", "conn_status": "conn_status", "conn_config": {}, "conn_provider_params": "conn_provider_params", "conn_metadata": {} } ], "has_more": true, "next_cursor": "next_cursor" }
json
application/json

Create a connection

POST
https://api.genuineai.app/api/v1
/integrations

Credentials are passed to the connector service and are not stored by this API.

conn_provider must be the key of one of the providers returned by GET /integrations/providers. That endpoint also says what the provider needs: send its credential.fields as fields and its variables as variables, each keyed by the key given there. A provider that is not in the list is rejected with 422.

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

Create a connection › 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 connection › Request Body

conn_name
​string · minLength: 1 · maxLength: 120 · required
conn_provider
​string · required
fields
​object · required
variables
​object
allow_write
​boolean

Create a connection › Responses

Created

A connection to a third-party product, and the state of that connection.
Integration
conn_id
​string · uuid
conn_active
​boolean
conn_created
​string · date-time
conn_updated
​string · date-time
conn_name
​string
conn_provider
​string
conn_status
​string
conn_config
​object
conn_provider_params
​string
conn_metadata
​object
POST/integrations
curl https://api.genuineai.app/api/v1/integrations \ --request POST \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "conn_name": "conn_name", "conn_provider": "conn_provider", "fields": {}, "variables": {}, "allow_write": true }'
Example Request Body
{ "conn_name": "conn_name", "conn_provider": "conn_provider", "fields": {}, "variables": {}, "allow_write": true }
json
Example Responses
{ "conn_id": "00000000-0000-0000-0000-000000000000", "conn_active": true, "conn_created": "2024-08-25T15:00:00Z", "conn_updated": "2024-08-25T15:00:00Z", "conn_name": "conn_name", "conn_provider": "conn_provider", "conn_status": "conn_status", "conn_config": {}, "conn_provider_params": "conn_provider_params", "conn_metadata": {} }
json
application/json

Get a connection

GET
https://api.genuineai.app/api/v1
/integrations/{id}

Returns the connection and its status. Credentials are never returned — they are held outside the database and referenced.

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

Get a connection › path Parameters

id
​string · uuid · required

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

Success

A connection to a third-party product, and the state of that connection.
Integration
conn_id
​string · uuid
conn_active
​boolean
conn_created
​string · date-time
conn_updated
​string · date-time
conn_name
​string
conn_provider
​string
conn_status
​string
conn_config
​object
conn_provider_params
​string
conn_metadata
​object
GET/integrations/{id}
curl https://api.genuineai.app/api/v1/integrations/:id \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "conn_id": "00000000-0000-0000-0000-000000000000", "conn_active": true, "conn_created": "2024-08-25T15:00:00Z", "conn_updated": "2024-08-25T15:00:00Z", "conn_name": "conn_name", "conn_provider": "conn_provider", "conn_status": "conn_status", "conn_config": {}, "conn_provider_params": "conn_provider_params", "conn_metadata": {} }
json
application/json

Delete a connection

DELETE
https://api.genuineai.app/api/v1
/integrations/{id}

Revokes the connection at the provider — every key issued through it stops working immediately — and retires the record. Anything relying on it fails from this point.

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

Delete a connection › path Parameters

id
​string · uuid · required

Delete a connection › 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 connection › Responses

Success. No content.

No data returned
DELETE/integrations/{id}
curl https://api.genuineai.app/api/v1/integrations/: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 connection

PATCH
https://api.genuineai.app/api/v1
/integrations/{id}

Applies the conn_-prefixed fields present in the body. Replacing credentials re-verifies the connection.

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

Update a connection › path Parameters

id
​string · uuid · required

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

conn_name
​string · minLength: 1 · maxLength: 120
allow_write
​boolean

Update a connection › Responses

Success

A connection to a third-party product, and the state of that connection.
Integration
conn_id
​string · uuid
conn_active
​boolean
conn_created
​string · date-time
conn_updated
​string · date-time
conn_name
​string
conn_provider
​string
conn_status
​string
conn_config
​object
conn_provider_params
​string
conn_metadata
​object
PATCH/integrations/{id}
curl https://api.genuineai.app/api/v1/integrations/:id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "conn_name": "conn_name", "allow_write": true }'
Example Request Body
{ "conn_name": "conn_name", "allow_write": true }
json
Example Responses
{ "conn_id": "00000000-0000-0000-0000-000000000000", "conn_active": true, "conn_created": "2024-08-25T15:00:00Z", "conn_updated": "2024-08-25T15:00:00Z", "conn_name": "conn_name", "conn_provider": "conn_provider", "conn_status": "conn_status", "conn_config": {}, "conn_provider_params": "conn_provider_params", "conn_metadata": {} }
json
application/json

Search operations

GET
https://api.genuineai.app/api/v1
/integrations/{id}/operations

Searches the operations this connection exposes — the actions an agent can be given through it.

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

Search operations › path Parameters

id
​string · uuid · required

Search operations › query Parameters

query
​string · minLength: 1 · required

Search operations › 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.

Search operations › Responses

Success

No data returned
GET/integrations/{id}/operations
curl 'https://api.genuineai.app/api/v1/integrations/:id/operations?query=<string>' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
No example specified for this content type

List providers

GET
https://api.genuineai.app/api/v1
/integrations/providers

The products a connection can be made to, and what each needs to connect. A static catalog, and deliberately a narrowed view of it: the credential recipe internals are not part of the answer.

key is what POST /integrations takes as its conn_provider. variables are the non-secret inputs that provider needs — a subdomain, a region — and credential.fields the secrets it authenticates with; both are keyed the way the create body expects them. Read the list rather than hardcoding it: connectors are added between releases.

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

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

Success

No data returned
GET/integrations/providers
curl https://api.genuineai.app/api/v1/integrations/providers \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
[ { "key": "hubspot", "name": "HubSpot", "icon": "ph-chart-line-up", "description": "CRM contacts, companies and deals from HubSpot.", "variables": [], "credential": { "fields": [ { "key": "token", "label": "Private app access token", "secret": true } ] } }, { "key": "wordpress", "name": "WordPress", "icon": "ph-globe-simple", "description": "Posts, pages and comments from a WordPress site (REST API + application password).", "variables": [ { "key": "site", "label": "Site domain (e.g. blog.example.com)" } ], "credential": { "fields": [ { "key": "username", "label": "WordPress username", "secret": false }, { "key": "password", "label": "Application password", "secret": true } ] } } ]
json
application/json

Scheduled jobsExtensions