{ "opencollection": "1.0.0", "info": { "name": "ChartHop access app API", "version": "V1.0.0" }, "items": [ { "info": { "name": "app", "type": "folder" }, "items": [ { "info": { "name": "Return all publicly visible global apps", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app", "params": [ { "name": "tag", "value": "", "type": "query", "description": "Tag to filter by" }, { "name": "from", "value": "", "type": "query", "description": "App id to start from" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return" } ] }, "docs": "Return all publicly visible global apps" }, { "info": { "name": "Create a new app", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app" }, "docs": "Create a new app" }, { "info": { "name": "Get all active installs of this app", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/install/:appId", "params": [ { "name": "appId", "value": "", "type": "path", "description": "App id" }, { "name": "orgTypes", "value": "", "type": "query", "description": "Comma-separated list of org types to include. Defaults to all org types." }, { "name": "hasRunProcess", "value": "", "type": "query", "description": "Whether to require that the app has run at least one process. Defaults to true." }, { "name": "internalOptions", "value": "", "type": "query", "description": "Filter app users by internal option key-value pair" } ] }, "docs": "Get all active installs of this app" }, { "info": { "name": "Return a particular app by name", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/name/:appName", "params": [ { "name": "appName", "value": "", "type": "path", "description": "App name" } ] }, "docs": "Return a particular app by name" }, { "info": { "name": "Send an email notification to the configured notify users, on behalf of an app", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/notify" }, "docs": "Send an email notification to the configured notify users, on behalf of an app" }, { "info": { "name": "Return all active apps available for a particular org", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "q", "value": "", "type": "query", "description": "Search query" }, { "name": "type", "value": "", "type": "query", "description": "Filter by type (app, bundle)" }, { "name": "tags", "value": "", "type": "query", "description": "Filter by tags" }, { "name": "from", "value": "", "type": "query", "description": "App id to start from" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return" } ] }, "docs": "Return all active apps available for a particular org" }, { "info": { "name": "Find installed app users", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId/install", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "type", "value": "", "type": "query", "description": "Filter by type (app, bundle)" }, { "name": "tags", "value": "", "type": "query", "description": "Filter by tag" }, { "name": "statuses", "value": "", "type": "query", "description": "Filter by App User statuses, comma-separated. Accepted values: ['NORMAL', 'INACTIVE', 'UNINSTALLED']" }, { "name": "includeFormer", "value": "", "type": "query", "description": "Whether to include app users with NONE access to orgs they pertain to. Default is false" }, { "name": "from", "value": "", "type": "query", "description": "App id to start from" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return" } ] }, "docs": "Find installed app users" }, { "info": { "name": "Install an app for a particular org", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" } ] }, "docs": "Install an app for a particular org" }, { "info": { "name": "Get an installed app by name", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId/install/name/:appName", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appName", "value": "", "type": "path", "description": "App name" }, { "name": "includeInactive", "value": "", "type": "query", "description": "If the installed appUser is inactive, load inactive instead" } ] }, "docs": "Get an installed app by name" }, { "info": { "name": "Validate the installation of an app for a particular org", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/validate", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" } ] }, "docs": "Validate the installation of an app for a particular org" }, { "info": { "name": "Get an installed app", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Get an installed app" }, { "info": { "name": "Update the settings of an installed app", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" }, { "name": "includeInactive", "value": "", "type": "query", "description": "If the installed appUser is inactive, load inactive instead" } ] }, "docs": "Update the settings of an installed app" }, { "info": { "name": "Uninstall an app", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" }, { "name": "keepEntityIds", "value": "", "type": "query", "description": "Comma-separated list of bundle-installed entities to delete -- if this parameter is omitted, all bundle-installed entities will be deleted" } ] }, "docs": "Uninstall an app" }, { "info": { "name": "Execute one configured external API operation against the live external service (the app config 'Test' action). Requires readExternal for a read-only operation, writeExternal otherwise; a non-read-only operation runs against the live API and may create, change, or delete real data.", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/api-operation/:operation", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" }, { "name": "operation", "value": "", "type": "path", "description": "Operation id" }, { "name": "from", "value": "", "type": "query", "description": "Pagination cursor (opaque 'next' from a prior result)" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of records to return" }, { "name": "tokenLevel", "value": "", "type": "query", "description": "OAuth identity to call as: USER (caller's own connection) or ORG (shared connection). Defaults to the installation's mode." } ] }, "docs": "Execute one configured external API operation against the live external service (the app config 'Test' action). Requires readExternal for a read-only operation, writeExternal otherwise; a non-read-only operation runs against the live API and may create, change, or delete real data." }, { "info": { "name": "Retrieve an Oauth2 authorization code for this app, which can be exchanged for an access token", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/code", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" }, { "name": "scope", "value": "", "type": "query", "description": "Scopes" } ] }, "docs": "Retrieve an Oauth2 authorization code for this app, which can be exchanged for an access token" }, { "info": { "name": "List an installed agent's active MCP connections (one per connected user token)", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/connections", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "List an installed agent's active MCP connections (one per connected user token)" }, { "info": { "name": "Revoke MCP connections for an installed agent", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/connections", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Revoke MCP connections for an installed agent" }, { "info": { "name": "Disable automatic sync for an app installation whose credentials are failing", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/disable-sync", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Disable automatic sync for an app installation whose credentials are failing" }, { "info": { "name": "Retrieve the current token for this app", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/installdata/:installDataName", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" }, { "name": "installDataName", "value": "", "type": "path", "description": "Name" } ] }, "docs": "Retrieve the current token for this app" }, { "info": { "name": "Force-refresh the vendor OAuth token for an app installation", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/oauth-token/refresh", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Force-refresh the vendor OAuth token for an app installation" }, { "info": { "name": "Run an installed app", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/run", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Run an installed app" }, { "info": { "name": "Retrieve the current token for this app", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/token", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Retrieve the current token for this app" }, { "info": { "name": "Generate or regenerate a long-lived access token for the app", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/v1/app/org/:orgId/install/:appUserId/token", "params": [ { "name": "orgId", "value": "", "type": "path", "description": "Org identifier (either id or slug)" }, { "name": "appUserId", "value": "", "type": "path", "description": "App user id" } ] }, "docs": "Generate or regenerate a long-lived access token for the app" }, { "info": { "name": "Return a particular app by id", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/v1/app/:appId", "params": [ { "name": "appId", "value": "", "type": "path", "description": "App id" } ] }, "docs": "Return a particular app by id" }, { "info": { "name": "Update an existing app", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/v1/app/:appId", "params": [ { "name": "appId", "value": "", "type": "path", "description": "App id" } ] }, "docs": "Update an existing app" }, { "info": { "name": "Delete an app", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/v1/app/:appId", "params": [ { "name": "appId", "value": "", "type": "path", "description": "App id" } ] }, "docs": "Delete an app" } ] } ], "bundled": true }