Tools API

Manage tool integrations programmatically, create connections, set visibility, validate credentials, and configure the AWS/Azure bundles.

Base path: /api/v1/tools · Permission resource: tools. Tool IDs are UUIDs. All requests require authentication.

Endpoints

MethodPathPurposePermission
POST/tools/Create a tool configurationtools:create
GET/tools/?tool_type=List tools (optionally by type)tools:read
GET/tools/{id}Get one tooltools:read
PUT/tools/{id}Update a tooltools:update
PATCH/tools/{id}/capabilitiesUpdate tool capabilitiestools:update
DELETE/tools/{id}Delete a tooltools:delete
GET/tools/{type}/schemaThe config schema for a tool typetools:read
GET/tools/providers/catalogThe full provider cataloguetools:read
GET/tools/providers/{type}/config-schemaA provider's config schematools:read
POST/tools/validate-credentialsTest credentials before savingauthenticated
POST/tools/bundles/awsCreate an AWS bundletools:create
POST/tools/bundles/azureCreate an Azure bundletools:create
GET/tools/bundlesList bundlestools:read
GET/tools/bundles/{bundleId}Get a bundletools:read
PUT/tools/bundles/{bundleId}Update a bundletools:update
PUT/tools/bundles/azure/{bundleId}Update an Azure bundletools:update
DELETE/tools/bundles/{bundleId}Delete a bundletools:delete

Create a tool

POST /api/v1/tools/: body:

FieldTypeNotes
namestring≤255 chars
typestringthe provider type (see below)
visibilityobjectexactly one of { "global": true }, { "tenant": true }, or { "user": "<id>" }
credential_dataobjectprovider credentials
configobjectprovider configuration
descriptionstringoptional
curl -s -X POST "http://localhost:8000/api/v1/tools/" \
  -H "Authorization: Bearer $CLOUDPEEK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "name": "splunk-prod",
        "type": "splunk",
        "visibility": { "tenant": true },
        "credential_data": { "token": "…" },
        "config": { "host": "https://splunk.internal:8089" }
      }'

Provider types

The type field accepts the supported provider identifiers, including: splunk, opensearch, elasticsearch, github, virustotal, shodan, greynoise, netskope, posthog, nvd, cloudflare, abuseipdb, the aws_* services (e.g. aws_security_hub, aws_guardduty, aws_ssm), the azure_* services, and cloudpeek. Use GET /tools/providers/catalog to see exactly what your deployment supports, and GET /tools/providers/{type}/config-schema for the fields a given provider needs.

Validate credentials first

POST /tools/validate-credentials lets you test a provider's credentials before creating the tool, the same check the Test Connection button performs in the UI.

AWS and Azure bundles

Bundles let you configure cloud credentials once and enable multiple services. Create them with POST /tools/bundles/aws or POST /tools/bundles/azure. A bundle carries credential_data, shared configuration, a services map of the services to enable, and a visibility. Some services require extra fields (for example Azure Sentinel needs a subscription id, resource group and workspace name), the request is validated and tells you what's missing. See Tools & Integrations.

The tool object

A listed tool includes: id (UUID), name, type, visibility, has_credentials (booleans never return the secret itself), config, description, playbook_id, created_at, updated_at.

© 2026 CloudPeek. Agentic AI for high-consequence security operations.