API Reference
Get job configuration schema and values
Returns top-level job config schema from the job's snapshotted template YAML plus current persisted values from the job config table. This is the native job-owned configuration…
GET /api/jobs/{id}/config
Returns top-level job_config schema from the job's snapshotted template
YAML plus current persisted values from the job_config table. This is
the native job-owned configuration surface; dashboard input widgets remain
compatible writers for the same keys.
Operation ID: getJobConfig
Authentication
Option 1
- BearerAuth (
http bearer) API key token. Create via POST /api/api-keys. Format:envoy_<hex>
Option 2
- CookieAuth (
apiKey) Session cookie set after login + TOTP verification
Path parameters
id—integer,requiredResource ID
Success responses
200
Job configuration schema and values
Content type: application/json
- Reference:
JobConfigResponse- Type:
object - Properties:
schema(object,required) — Top-level job_config schema from the job snapshot, keyed by config key.- Description: Top-level job_config schema from the job snapshot, keyed by config key.
- Additional properties:
- Reference:
JobConfigEntry- Type:
DashboardFieldMappingWidget | DashboardFormWidget - Description: Schema-backed job_config entry copied from the job template snapshot.
- One of:
- Variant 1:
- Reference:
DashboardFieldMappingWidget- Type:
object - Description: Two-column source→target field mapping. Stored value is an array of mappings.
- Properties:
id(string,required)type(string,required)- Allowed values:
field_mapping
- Allowed values:
title(string)config_key(string,required)source(OptionSource,required) — Connector-agnostic option source for input-widget pickers.options_sourceis a readonly call_method config resolved server-side; the*_exprfields map each raw row to{ label, value, subText }. Whensearch.on_frontendis set the server returns one bounded page and the picker filters locally.- Reference:
OptionSource- Description: Connector-agnostic option source for input-widget pickers.
options_sourceis a readonly call_method config resolved server-side; the*_exprfields map each raw row to{ label, value, subText }. Whensearch.on_frontendis set the server returns one bounded page and the picker filters locally. - Properties:
options_source(unknown,required) — Readonly call_method config (object) or JSONata string resolving to one.label_expr(string)value_expr(string)subtext_expr(string)transform_expr(string)depends_on(array<string>)- Items:
- Type:
string
- Type:
- Items:
search(object)- Properties:
param(string,required)on_frontend(boolean)placeholder(string)empty_text(string)
- Properties:
- Description: Connector-agnostic option source for input-widget pickers.
- Reference:
target(OptionSource,required) — Connector-agnostic option source for input-widget pickers.options_sourceis a readonly call_method config resolved server-side; the*_exprfields map each raw row to{ label, value, subText }. Whensearch.on_frontendis set the server returns one bounded page and the picker filters locally.- Reference:
OptionSource- Description: Connector-agnostic option source for input-widget pickers.
options_sourceis a readonly call_method config resolved server-side; the*_exprfields map each raw row to{ label, value, subText }. Whensearch.on_frontendis set the server returns one bounded page and the picker filters locally. - Properties:
options_source(unknown,required) — Readonly call_method config (object) or JSONata string resolving to one.label_expr(string)value_expr(string)subtext_expr(string)transform_expr(string)depends_on(array<string>)- Items:
- Type:
string
- Type:
- Items:
search(object)- Properties:
param(string,required)on_frontend(boolean)placeholder(string)empty_text(string)
- Properties:
- Description: Connector-agnostic option source for input-widget pickers.
- Reference:
allow_transform(boolean)default(unknown) — Optional default mapping array when used from top-level job_config.validation_expr(string)
- Type:
- Reference:
- Variant 2:
- Reference:
DashboardFormWidget- Type:
object - Description: Generic typed form. Stored value is an object keyed by field key.
- Properties:
id(string,required)type(string,required)- Allowed values:
form
- Allowed values:
title(string)config_key(string,required)fields(array<DashboardFormField>,required)- Items:
- Reference:
DashboardFormField- Type:
object - Properties:
key(string,required)label(string)type(string,required)- Allowed values:
text,number,boolean,select,multi_select
- Allowed values:
required(boolean)default(unknown)format(string)options(array<object>)- Items:
- Schema expansion stopped at depth 10.
- Items:
options_source(OptionSource) — Connector-agnostic option source for input-widget pickers.options_sourceis a readonly call_method config resolved server-side; the*_exprfields map each raw row to{ label, value, subText }. Whensearch.on_frontendis set the server returns one bounded page and the picker filters locally.- Reference:
OptionSource- Schema expansion stopped at depth 10.
- Reference:
depends_on(array<string>)- Items:
- Schema expansion stopped at depth 10.
- Items:
hide_if_expr(string)
- Type:
- Reference:
- Items:
validation_expr(string)transform_expr(string)
- Type:
- Reference:
- Variant 1:
- Type:
- Reference:
config(object,required) — Current persisted job_config values keyed by config key.- Description: Current persisted job_config values keyed by config key.
- Additional properties: allowed
- Type:
Error responses
400
Validation error
Content type: application/json
- Reference:
Error- Type:
object - Properties:
error(string)- Example:
NOT_FOUND
- Example:
message(string)- Example:
Resource not found
- Example:
- Type:
Example:
{
"error": "VALIDATION_ERROR",
"message": "Invalid input"
}404
Resource not found
Content type: application/json
- Reference:
Error- Type:
object - Properties:
error(string)- Example:
NOT_FOUND
- Example:
message(string)- Example:
Resource not found
- Example:
- Type:
Example:
{
"error": "NOT_FOUND",
"message": "Resource not found"
}Examples
cURL
curl --request GET \
--url 'https://your-envoy.example.com/api/jobs/YOUR_ID/config' \
--header 'Authorization: Bearer $API_KEY'JavaScript (fetch)
const response = await fetch('https://your-envoy.example.com/api/jobs/YOUR_ID/config', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = response.status === 204 ? null : await response.json();
console.log(data);