Other

Generic API Integration

Connect to any external HTTP API with configurable authentication and enterprise security controls.

Capabilities

This integration enables workers to:

  • Make HTTP requests to any external API (GET, POST, PUT, PATCH, DELETE)
  • Download files from external URLs with enforced size and content-type limits
  • Support for Bearer, API Key, Basic Auth, and custom header authentication
  • Idempotency tracking to prevent duplicate requests (concurrent requests rejected)
  • Request metadata logging for audit trails (response bodies not stored)
  • Configurable timeout policies

Setup

Follow these steps to connect Generic API:

  1. Navigate to Integrations and click 'Add Connection'
  2. Select Generic API and provide a descriptive name
  3. Configure the base URL and allowed hosts for security
  4. Set up authentication credentials (Bearer token, API key, or Basic auth)
  5. Configure allowed URL paths and schemes (https required by default)
  6. For downloads: configure max file size and allowed content types
  7. Test the connection to verify settings
  8. Assign workers that should have access to this API

Security

  • SSRF protection blocks access to private IP ranges (10.x, 172.16-31.x, 192.168.x, 127.x, localhost)
  • Cloud metadata endpoints (169.254.169.254) are blocked to prevent credential theft
  • Host allowlist required - only configured domains can be accessed
  • All credentials encrypted at rest using AES-256-GCM
  • Downloads enforce size limits via streaming with immediate abort on exceeding limits
  • Content-type validation occurs before downloading file data
  • Every API call is logged with request metadata for audit (response bodies not logged)
  • Direct API execution restricted to organization owners and admins
  • Configurable path restrictions limit which endpoints workers can access

Credential Storage

All integration credentials are encrypted at rest using AES-256-GCM encryption. OAuth tokens are automatically refreshed when needed.

Supported Roles

The following roles can use this integration by default:

Related Documentation