Global Configurator API
The Global Configurator is a configuration management service that stores connection credentials, global variables, certificates, datasets, files, and API templates used by automations. When a plugin needs to connect to an external system, it retrieves the connection details from the Global Configurator.
Base URL: http://localhost:8081
What the Global Configurator Manages
| Resource Type | Description | Prefix |
|---|---|---|
| Connections | Credentials and configuration for external systems (databases, email servers, cloud services, APIs). | /connection |
| Global Variables | Key-value pairs accessible across all automations. Support encryption for sensitive values. | /global-variable |
| Certificates | SSL/TLS certificates for secure connections. | /certificate |
| Datasets | Structured data sets used as test data or reference data in automations. | /dataset |
| Files | File storage for templates, scripts, and other static assets. | /file |
| API Templates | Reusable API request templates with pre-configured headers, authentication, and base URLs. | /api |
Architecture Role
The Global Configurator sits between the job-executor/plugins and the external systems they connect to:
Plugin (during step execution)
|
| GET /connection/decrypted/{connectionId}
v
Global Configurator
|
| Decrypts credentials, returns full connection config
v
Plugin uses credentials to connect to external system
When a step's configuration references a connectionId, the plugin calls the Global Configurator's internal API to retrieve the decrypted connection details at runtime. This means credentials are never stored in job or step definitions -- only the connection reference.
Authentication
All endpoints require authentication and specific authorities:
| Authority Pattern | Description |
|---|---|
GlobalConfigurator:Connection:upsert | Create/update connections |
GlobalConfigurator:Connection:read | Read connections |
GlobalConfigurator:Connection:delete | Delete connections |
GlobalConfigurator:GlobalVariable:upsert | Create/update variables |
GlobalConfigurator:GlobalVariable:read | Read variables |
GlobalConfigurator:GlobalVariable:delete | Delete variables |
Common Response Format
All endpoints use the same ApiResponse wrapper as the Job Executor:
{
"status": "Success",
"message": "Description of the result",
"data": { },
"error": null,
"meta": null
}
Paginated endpoints include a meta object with totalElements, page, and size.
Search Pattern
Most resource types support search via a POST /search endpoint that accepts the same FilterRequest structure used by the Job Executor. See Search API for the full FilterRequest/FilterGroup/FilterConstraint documentation.
Connection Types
The Global Configurator supports a wide range of connection types:
| Type | Description | Example Fields |
|---|---|---|
email-smtp | SMTP email server | host, port, username, password, encryption |
database-mysql | MySQL database | host, port, database, username, password |
database-mongodb | MongoDB database | connectionString, database, username, password |
database-postgresql | PostgreSQL database | host, port, database, username, password |
ssh | SSH remote server | host, port, username, password/privateKey |
sftp | SFTP file server | host, port, username, password/privateKey, remotePath |
ftp | FTP file server | host, port, username, password |
aws-s3 | AWS S3 storage | accessKeyId, secretAccessKey, region, bucket |
slack | Slack workspace | webhookUrl, botToken |
salesforce | Salesforce CRM | instanceUrl, clientId, clientSecret, username, password |
microsoft-graph | Microsoft 365 | tenantId, clientId, clientSecret |
rest-api | Generic REST API | baseUrl, authType, headers |
Encryption
The Global Configurator encrypts sensitive fields (passwords, API keys, tokens) at rest. When a connection is created or updated via the API:
- Sensitive fields are identified by the connection type template.
- These fields are encrypted using AES-256 before storage in MongoDB.
- The regular
GET /connection/\{id\}endpoint returns encrypted values. - The internal
GET /connection/decrypted/\{connectionId\}endpoint returns decrypted values (used only by plugins at runtime).
Clients can decrypt individual values using POST /connection/decrypt.
API Sections
- Connections API -- Full CRUD for connection credentials.
- Variables API -- Full CRUD for global variables.