Skip to main content

CreateLibraryJobRequest

Request body for POST /api/v1/libraries/{id}/jobs.

config objectrequired

Type-discriminated job config exposed over the wire.

Phase 9 only ships the metadata_refresh variant; future job types extend the enum.

oneOf
bookExtraFieldsstring[]

Reserved for the book-scope future work.

bookFieldGroupsstring[]

Reserved for the book-scope future work.

existingSourceIdsOnlyboolean

When true, the planner skips series with no stored external ID.

extraFieldsstring[]

Series-side individual field overrides (camelCase).

fieldGroupsstring[]

Series-side field groups (snake_case identifiers).

maxConcurrencyinteger<int32>

Per-task fan-out; clamped at run time.

Possible values: >= 0

providerstringrequired

Plugin reference, e.g. "plugin:mangabaka".

scopeRefreshScope (string)

Refresh scope. Phase 9 only honours series_only at runtime.

Possible values: [series_only, books_only, series_and_books]

skipRecentlySyncedWithinSinteger<int32>

Skip series whose last_synced_at is younger than this many seconds.

Possible values: >= 0

typestringrequired

Possible values: [metadata_refresh]

cronSchedulestringrequired
enabledboolean
namestring | nullnullable

Optional user-facing name. Auto-generated when missing or empty.

timezonestring | nullnullable
CreateLibraryJobRequest
{
"config": {
"bookExtraFields": [
"string"
],
"bookFieldGroups": [
"string"
],
"existingSourceIdsOnly": true,
"extraFields": [
"string"
],
"fieldGroups": [
"string"
],
"maxConcurrency": 0,
"provider": "string",
"scope": "series_only",
"skipRecentlySyncedWithinS": 0,
"type": "metadata_refresh"
},
"cronSchedule": "string",
"enabled": true,
"name": "string",
"timezone": "string"
}