Files
ombi-mcp/docs/schema/03-input-schemas.md
gronod 6926a91c80
Build and publish / Test and build (darwin) (pull_request) Successful in 1m52s
Build and publish / Test and build (linux) (pull_request) Successful in 2m30s
Build and publish / Test and build (windows) (pull_request) Successful in 3m7s
Build and publish / Test and build (windows) (push) Successful in 3m7s
Build and publish / Test and build (darwin) (push) Successful in 1m45s
Build and publish / Test and build (linux) (push) Successful in 2m12s
Build and publish / Build and publish Docker image (pull_request) Successful in 1m49s
Build and publish / Build and publish Docker image (push) Successful in 2m4s
Fix M7 admin/server wire contracts
2026-09-19 18:36:03 +01:00

4752 lines
107 KiB
Markdown

# Complete MCP input schemas
These are design contracts, not server implementation code. Each JSON block is a complete JSON Schema 2020-12 object for the named tool. Required discriminators have no implicit defaults. Branches are disjoint and reject irrelevant properties. Scalar bounds are MCP design limits, not claims about Ombi limits. An omitted `page` means offset 0 and limit 25; omitted sort means request_date descending. Defaults must be applied by the adapter after validation.
The settings schema is long because every section has a typed allowlist; the default core catalogue does not carry this administrative schema. Do not replace it with an arbitrary `payload` object. Additional runtime constraints and route verification gates in the mapping document remain mandatory.
| Tool | Bundle | Read only | Destructive | Idempotent | Open world |
|---|---|---|---|---|---|
| `read_search` | core | true | false | true | true |
| `read_discover` | core | true | false | true | true |
| `read_media` | core | true | false | true | true |
| `read_reference` | core | true | false | true | true |
| `read_requests` | core | true | false | true | true |
| `read_request_stats` | core | true | false | true | true |
| `read_issues` | core | true | false | true | true |
| `read_votes` | core | true | false | true | true |
| `read_users` | core | true | false | true | true |
| `read_library` | core | true | false | true | true |
| `read_server` | core | true | false | true | true |
| `read_integration` | core | true | false | true | true |
| `write_request_create` | core | false | false | false | true |
| `write_request_subscribe` | core | false | false | false | true |
| `write_issue_create` | core | false | false | false | true |
| `write_issue_comment` | core | false | false | false | true |
| `write_vote` | core | false | false | false | true |
| `write_user_preferences` | core | false | false | false | true |
| `write_request_moderate` | moderation | false | true | false | true |
| `write_request_delete` | moderation | false | true | false | true |
| `write_request_options` | moderation | false | true | false | true |
| `write_request_reprocess` | moderation | false | true | false | true |
| `write_issue_manage` | moderation | false | true | false | true |
| `read_settings` | administration | true | false | true | true |
| `write_settings_patch` | administration | false | true | false | true |
| `write_user_manage` | administration | false | true | false | true |
| `write_integration_test` | administration | false | false | false | true |
| `write_job_run` | administration | false | true | false | true |
| `write_notification_send` | administration | false | false | false | true |
| `write_retry_remove` | administration | false | true | false | true |
| `read_logs` | administration | true | false | true | true |
## read_search
Search media by text, with explicit movie refinements or a multi-search filter.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "text"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv",
"artist",
"album"
]
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"media",
"query"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "multi"
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"include": {
"type": "array",
"items": {
"type": "string",
"enum": [
"movies",
"tv_shows",
"music",
"people"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"query",
"include"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "movie_refine"
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"year": {
"type": "integer",
"minimum": 1870,
"maximum": 9999
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"query"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "actor"
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"query"
],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_discover
Browse supported lists, related movies, actor credits, artist albums, or advanced movie discovery.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "browse"
},
"media": {
"const": "movie"
},
"category": {
"type": "string",
"enum": [
"popular",
"now_playing",
"top_rated",
"upcoming",
"seasonal",
"requested"
]
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"media",
"category"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "browse"
},
"media": {
"const": "tv"
},
"category": {
"type": "string",
"enum": [
"popular",
"anticipated",
"most_watched",
"trending",
"requested"
]
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"media",
"category"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "similar"
},
"tmdb_id": {
"type": "integer",
"minimum": 1
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 20
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"tmdb_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "collection"
},
"collection_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"action",
"collection_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "credits"
},
"person_id": {
"type": "integer",
"minimum": 1
},
"person_name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"media": {
"type": "string",
"enum": [
"movie",
"tv"
]
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"person_id",
"person_name",
"media"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "artist_albums"
},
"artist_id": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"artist_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "advanced_movie"
},
"filters": {
"type": "object",
"properties": {
"release_year": {
"type": "integer",
"minimum": 1901,
"maximum": 9999
},
"decade": {
"type": "integer",
"minimum": 1870,
"maximum": 9990,
"multipleOf": 10
},
"genre_ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"minItems": 1,
"maxItems": 100,
"uniqueItems": true
},
"keyword_ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"minItems": 1,
"maxItems": 100,
"uniqueItems": true
},
"watch_provider_ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"minItems": 1,
"maxItems": 100,
"uniqueItems": true
}
},
"required": [],
"additionalProperties": false,
"minProperties": 1
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"filters"
],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_media
Get media details, ratings or streaming availability using an explicit identifier namespace. For TV `details`, `provider` selects the namespace `id` belongs to: `tmdb` resolves via v2 `Search/tv/moviedb/{id}` and `tvdb` via the legacy v1 `Search/tv/info/{tvdbId}` route (the v2 `Search/tv/{id}` route is a TMDB-keyed alias, never a TVDB lookup).
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "details" },
"target": { "$ref": "#/$defs/external" }
},
"required": ["action", "target"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "by_request" },
"media": { "type": "string", "enum": ["movie", "tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "movie_localized" },
"tmdb_id": { "type": "integer", "minimum": 1 },
"language": { "type": "string", "minLength": 1, "maxLength": 20 }
},
"required": ["action", "tmdb_id", "language"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "ratings" },
"media": { "type": "string", "enum": ["movie", "tv"] },
"name": { "type": "string", "minLength": 1, "maxLength": 300 },
"year": { "type": "integer", "minimum": 1870, "maximum": 9999 }
},
"required": ["action", "media", "name", "year"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "streaming" },
"media": { "type": "string", "enum": ["movie", "tv"] },
"tmdb_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "media", "tmdb_id"],
"additionalProperties": false
}
],
"$defs": {
"external": {
"oneOf": [
{
"type": "object",
"properties": {
"media": { "const": "movie" },
"provider": { "const": "tmdb" },
"id": { "type": "integer", "minimum": 1 }
},
"required": ["media", "provider", "id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"media": { "const": "movie" },
"provider": { "const": "imdb" },
"id": { "type": "string", "minLength": 1, "maxLength": 32, "pattern": "^tt[0-9]+$" }
},
"required": ["media", "provider", "id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"media": { "const": "tv" },
"provider": { "type": "string", "enum": ["tmdb", "tvdb"] },
"id": { "type": "integer", "minimum": 1 }
},
"required": ["media", "provider", "id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"media": { "type": "string", "enum": ["artist", "album"] },
"provider": { "const": "musicbrainz" },
"id": { "type": "string", "minLength": 1, "maxLength": 100 }
},
"required": ["media", "provider", "id"],
"additionalProperties": false
}
]
}
}
}
```
## read_reference
Read genres, languages, keyword/provider lookups, supported countries or issue categories.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "genres"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv"
]
}
},
"required": [
"action",
"media"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "languages"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "keywords"
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"query"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "keyword"
},
"keyword_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"action",
"keyword_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "watch_providers"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv"
]
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"media"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "streaming_countries"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "issue_categories"
}
},
"required": [
"action"
],
"additionalProperties": false
}
]
}
```
## read_requests
List, search or inspect requests; TV list items identify parents or children explicitly.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "list" },
"media": { "type": "string", "enum": ["movie", "tv"] },
"status": {
"type": "string",
"enum": ["all", "pending", "processing", "available", "denied", "unavailable"],
"default": "all"
},
"sort_direction": { "type": "string", "enum": ["asc", "desc"], "default": "desc" },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "media"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "list" },
"media": { "const": "album" },
"status": {
"type": "string",
"enum": ["all", "pending", "processing", "available", "denied"],
"default": "all"
},
"sort_direction": { "type": "string", "enum": ["asc", "desc"], "default": "desc" },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "media"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "get" },
"target": {
"type": "object",
"properties": {
"kind": { "type": "string", "enum": ["movie", "tv_parent"] },
"id": { "type": "integer", "minimum": 1 }
},
"required": ["kind", "id"],
"additionalProperties": false
}
},
"required": ["action", "target"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "children" },
"parent_request_id": { "type": "integer", "minimum": 1 },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "parent_request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "search" },
"media": { "type": "string", "enum": ["movie", "tv", "album"] },
"query": { "type": "string", "minLength": 1, "maxLength": 200 },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "media", "query"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "recent" },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "retry_queue" },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action"],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": { "type": "integer", "minimum": 0, "default": 0 },
"limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 25 }
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_request_stats
Read request counts, totals, remaining allowance or whether a user has requests.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "counts"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "total"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv",
"album"
]
}
},
"required": [
"action",
"media"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "quota"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv",
"album"
]
}
},
"required": [
"action",
"media"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "has_requests"
},
"user_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"user_id"
],
"additionalProperties": false
}
]
}
```
## read_issues
Read issue records, provider-grouped summaries, comments or counts.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "list" },
"status": { "type": "string", "enum": ["pending", "in_progress", "resolved", "closed"] },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "status"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "summary" },
"status": { "type": "string", "enum": ["pending", "in_progress", "resolved", "closed"] },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "status"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "get" },
"issue_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "issue_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "by_request" },
"request_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "by_provider" },
"provider_id": { "type": "string", "minLength": 1, "maxLength": 200 }
},
"required": ["action", "provider_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "provider_summary" },
"provider_id": { "type": "string", "minLength": 1, "maxLength": 200 }
},
"required": ["action", "provider_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "comments" },
"issue_id": { "type": "integer", "minimum": 1 },
"page": { "$ref": "#/$defs/page" }
},
"required": ["action", "issue_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "counts" }
},
"required": ["action"],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": { "type": "integer", "minimum": 0, "default": 0 },
"limit": { "type": "integer", "minimum": 1, "maximum": 100, "default": 25 }
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_votes
Read all voteable requests or votes for a movie, TV or album request.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "list"
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "get"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv",
"album"
]
},
"request_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"action",
"media",
"request_id"
],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_users
Read the current user or authorized user lookup data; secrets and hidden identities are omitted.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "self"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "list"
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "dropdown"
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "get"
},
"user_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"user_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "claims"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "online"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "notification_preferences"
},
"user_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action"
],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_library
Read recent library additions, calendar or media artwork references.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "recent"
},
"media": {
"const": "movie"
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"media"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "recent"
},
"media": {
"const": "tv"
},
"grouped": {
"type": "boolean"
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action",
"media",
"grouped"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "calendar"
},
"page": {
"$ref": "#/$defs/page"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "image"
},
"media": {
"const": "movie"
},
"provider": {
"const": "tmdb"
},
"id": {
"type": "integer",
"minimum": 1
},
"kind": {
"type": "string",
"enum": [
"poster",
"background",
"banner"
]
}
},
"required": [
"action",
"media",
"provider",
"id",
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "image"
},
"media": {
"const": "tv"
},
"provider": {
"type": "string",
"enum": [
"tmdb",
"tvdb"
]
},
"id": {
"type": "integer",
"minimum": 1
},
"kind": {
"type": "string",
"enum": [
"poster",
"background"
]
}
},
"required": [
"action",
"media",
"provider",
"id",
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "tv_images"
},
"tvdb_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"action",
"tvdb_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "album_art"
},
"musicbrainz_id": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"action",
"musicbrainz_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "default_poster"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "random_background"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "background_info"
}
},
"required": [
"action"
],
"additionalProperties": false
}
],
"$defs": {
"page": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"required": [],
"additionalProperties": false
}
}
}
```
## read_server
Read server status, feature availability, version, update information or usage statistics.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "status"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "status_info"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "about"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "update_info"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "update_check"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "landing"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "features"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "stats"
},
"from": {
"type": "string",
"format": "date-time"
},
"to": {
"type": "string",
"format": "date-time"
}
},
"required": [
"action",
"from",
"to"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "cron_validate"
},
"expression": {
"type": "string",
"description": "Quartz cron expression — 6 or 7 fields (seconds minutes hours day-of-month month day-of-week [year]); one of the two day fields must be ?",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"expression"
],
"additionalProperties": false
}
]
}
```
## read_integration
Read saved integration options without accepting credentials or connection overrides.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "options"
},
"service": {
"const": "radarr"
},
"resource": {
"type": "string",
"enum": [
"profiles",
"root_folders"
]
},
"variant": {
"type": "string",
"enum": [
"standard",
"4k"
]
}
},
"required": [
"action",
"service",
"resource",
"variant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "options"
},
"service": {
"const": "radarr"
},
"resource": {
"type": "string",
"enum": [
"tags",
"enabled"
]
}
},
"required": [
"action",
"service",
"resource"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "options"
},
"service": {
"const": "sonarr"
},
"resource": {
"type": "string",
"enum": [
"profiles",
"root_folders",
"tags",
"language_profiles",
"enabled",
"version"
]
}
},
"required": [
"action",
"service",
"resource"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "options"
},
"service": {
"const": "lidarr"
},
"resource": {
"type": "string",
"enum": [
"profiles",
"root_folders",
"metadata",
"enabled"
]
}
},
"required": [
"action",
"service",
"resource"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "options"
},
"service": {
"const": "couchpotato"
},
"resource": {
"const": "profiles"
}
},
"required": [
"action",
"service",
"resource"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "plex"
},
"resource": {
"type": "string",
"enum": [
"servers",
"friends",
"watchlist_users"
]
}
},
"required": [
"action",
"resource"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "plex_libraries"
},
"machine_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"machine_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "media_server"
},
"service": {
"type": "string",
"enum": [
"emby",
"jellyfin"
]
},
"resource": {
"const": "users"
}
},
"required": [
"action",
"service",
"resource"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "media_server"
},
"service": {
"type": "string",
"enum": [
"emby",
"jellyfin"
]
},
"resource": {
"type": "string",
"enum": [
"info",
"libraries"
]
},
"server_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"service",
"resource",
"server_id"
],
"additionalProperties": false
}
]
}
```
## write_request_create
Create one movie, TV or album request, or explicitly request a collection; no automatic write fallback. For TV, `provider` selects the namespace `id` belongs to (`tmdb` or `tvdb`); `season` selection expands episode lists from a details read in the same namespace.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "movie" },
"tmdb_id": { "type": "integer", "minimum": 1 },
"is_4k": { "type": "boolean", "default": false },
"language": { "type": "string", "minLength": 1, "maxLength": 20 },
"on_behalf_user_id": { "type": "string", "minLength": 1, "maxLength": 200 },
"overrides": { "$ref": "#/$defs/overrides" }
},
"required": ["action", "tmdb_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "tv" },
"provider": { "const": "tmdb" },
"id": { "type": "integer", "minimum": 1 },
"selection": { "$ref": "#/$defs/selection" },
"language": { "type": "string", "minLength": 1, "maxLength": 20 },
"language_profile_id": { "type": "integer", "minimum": 1 },
"on_behalf_user_id": { "type": "string", "minLength": 1, "maxLength": 200 },
"overrides": { "$ref": "#/$defs/overrides" }
},
"required": ["action", "provider", "id", "selection"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "tv" },
"provider": { "const": "tvdb" },
"id": { "type": "integer", "minimum": 1 },
"selection": { "$ref": "#/$defs/selection" },
"language_profile_id": { "type": "integer", "minimum": 1 },
"on_behalf_user_id": { "type": "string", "minLength": 1, "maxLength": 200 },
"overrides": { "$ref": "#/$defs/overrides" }
},
"required": ["action", "provider", "id", "selection"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "album" },
"musicbrainz_id": { "type": "string", "minLength": 1, "maxLength": 100 },
"requested_by_alias": { "type": "string", "minLength": 1, "maxLength": 200 }
},
"required": ["action", "musicbrainz_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "collection" },
"collection_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "collection_id"],
"additionalProperties": false
}
],
"$defs": {
"overrides": {
"type": "object",
"properties": {
"root_folder_id": { "type": "integer", "minimum": 1 },
"quality_profile_id": { "type": "integer", "minimum": 1 }
},
"required": [],
"additionalProperties": false,
"minProperties": 1
},
"selection": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": { "type": "string", "enum": ["all", "first_season", "latest_season"] }
},
"required": ["mode"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": { "const": "season" },
"season_numbers": {
"type": "array",
"items": { "type": "integer", "minimum": 0 },
"minItems": 1,
"maxItems": 200,
"uniqueItems": true
}
},
"required": ["mode", "season_numbers"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": { "const": "episodes" },
"seasons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"season_number": { "type": "integer", "minimum": 0 },
"episodes": {
"type": "array",
"items": { "type": "integer", "minimum": 1 },
"minItems": 1,
"maxItems": 1000,
"uniqueItems": true
}
},
"required": ["season_number", "episodes"],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 200,
"uniqueItems": true
}
},
"required": ["mode", "seasons"],
"additionalProperties": false
}
]
}
}
}
```
## write_request_subscribe
Subscribe or unsubscribe to a movie or TV request as the configured principal.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "subscribe"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv"
]
},
"request_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"action",
"media",
"request_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "unsubscribe"
},
"media": {
"type": "string",
"enum": [
"movie",
"tv"
]
},
"request_id": {
"type": "integer",
"minimum": 1
}
},
"required": [
"action",
"media",
"request_id"
],
"additionalProperties": false
}
]
}
```
## write_issue_create
Report an issue using a minimal editable body; author and timestamps are owned by Ombi.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": { "type": "string", "minLength": 1, "maxLength": 300 },
"subject": { "type": "string", "minLength": 1, "maxLength": 300 },
"description": { "type": "string", "minLength": 1, "maxLength": 10000 },
"category_id": { "type": "integer", "minimum": 1 },
"request_type": { "type": "string", "enum": ["movie", "tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 },
"provider_id": { "type": "string", "minLength": 1, "maxLength": 200 }
},
"required": ["title", "description", "category_id", "request_type"],
"additionalProperties": false,
"anyOf": [
{ "required": ["request_id"] },
{ "required": ["provider_id"] }
]
}
```
## write_issue_comment
Add a comment to an issue as the configured principal.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"issue_id": { "type": "integer", "minimum": 1 },
"comment": { "type": "string", "minLength": 1, "maxLength": 10000 }
},
"required": ["issue_id", "comment"],
"additionalProperties": false
}
```
## write_vote
Cast a vote on an existing request. Repeating a vote is not assumed idempotent.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"media": { "type": "string", "enum": ["movie", "tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 },
"direction": { "type": "string", "enum": ["up", "down"] }
},
"required": ["media", "request_id", "direction"],
"additionalProperties": false
}
```
## write_user_preferences
Set the current user language/country or explicitly unsubscribe a user from the newsletter.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "language"
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 20
}
},
"required": [
"action",
"language"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "streaming_country"
},
"country_code": {
"type": "string",
"minLength": 1,
"maxLength": 2,
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"action",
"country_code"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "unsubscribe_newsletter"
},
"user_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"user_id"
],
"additionalProperties": false
}
]
}
```
## write_request_moderate
Approve, deny or change request availability; TV targets are child requests after adapter verification.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "approve" },
"media": { "const": "movie" },
"request_id": { "type": "integer", "minimum": 1 },
"is_4k": { "type": "boolean", "default": false }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "deny" },
"media": { "const": "movie" },
"request_id": { "type": "integer", "minimum": 1 },
"is_4k": { "type": "boolean", "default": false },
"reason": { "type": "string", "minLength": 1, "maxLength": 2000 }
},
"required": ["action", "media", "request_id", "reason"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "mark_available" },
"media": { "const": "movie" },
"request_id": { "type": "integer", "minimum": 1 },
"is_4k": { "type": "boolean", "default": false }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "mark_unavailable" },
"media": { "const": "movie" },
"request_id": { "type": "integer", "minimum": 1 },
"is_4k": { "type": "boolean", "default": false }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "approve" },
"media": { "type": "string", "enum": ["tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "deny" },
"media": { "type": "string", "enum": ["tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 },
"reason": { "type": "string", "minLength": 1, "maxLength": 2000 }
},
"required": ["action", "media", "request_id", "reason"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "mark_available" },
"media": { "type": "string", "enum": ["tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "mark_unavailable" },
"media": { "type": "string", "enum": ["tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "media", "request_id"],
"additionalProperties": false
}
]
}
```
## write_request_delete
Delete one request. Explicitly distinguish a TV parent from one child.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"target": { "$ref": "#/$defs/target" }
},
"required": ["target"],
"additionalProperties": false,
"$defs": {
"target": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": { "type": "string", "enum": ["movie", "tv_parent", "tv_child", "album"] },
"id": { "type": "integer", "minimum": 1 }
},
"required": ["kind", "id"],
"additionalProperties": false
}
]
}
}
}
```
## write_request_options
Change routing/profile options on an existing request with verified target semantics.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "advanced" },
"media": { "type": "string", "enum": ["movie", "tv"] },
"request_id": { "type": "integer", "minimum": 1 },
"options": {
"type": "object",
"properties": {
"root_folder_id": { "type": "integer", "minimum": 1 },
"quality_profile_id": { "type": "integer", "minimum": 1 },
"language_profile_id": { "type": "integer", "minimum": 1 }
},
"required": [],
"additionalProperties": false,
"minProperties": 1
}
},
"required": ["action", "media", "request_id", "options"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "tv_root" },
"parent_request_id": { "type": "integer", "minimum": 1 },
"root_folder_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "parent_request_id", "root_folder_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "tv_quality" },
"parent_request_id": { "type": "integer", "minimum": 1 },
"quality_profile_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "parent_request_id", "quality_profile_id"],
"additionalProperties": false
}
]
}
```
## write_request_reprocess
Resubmit an existing request through its verified media adapter; does not create a retry-queue item.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"request_type": { "type": "string", "enum": ["movie", "tv", "album"] },
"request_id": { "type": "integer", "minimum": 1 },
"is_4k": { "type": "boolean", "default": false }
},
"required": ["request_type", "request_id"],
"additionalProperties": false
}
```
## write_issue_manage
Change issue state, delete issues/comments, or manage issue categories.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": { "const": "set_status" },
"issue_id": { "type": "integer", "minimum": 1 },
"status": { "type": "string", "enum": ["pending", "in_progress", "resolved", "closed"] }
},
"required": ["action", "issue_id", "status"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "delete" },
"issue_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "issue_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "delete_comment" },
"comment_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "comment_id"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "create_category" },
"value": { "type": "string", "minLength": 1, "maxLength": 200 }
},
"required": ["action", "value"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": { "const": "delete_category" },
"category_id": { "type": "integer", "minimum": 1 }
},
"required": ["action", "category_id"],
"additionalProperties": false
}
]
}
```
## read_settings
Read a sanitized settings section and an opaque revision for authorized patching.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"section": {
"type": "string",
"enum": [
"custom_page", "ombi", "base_url", "plex", "client_id", "emby",
"jellyfin", "landingpage", "customization", "default_language",
"themes", "sonarr", "radarr", "lidarr", "lidarrenabled",
"authentication", "update", "user_management", "couchpotato",
"dognzb", "sickrage", "jobs", "issues", "issuesenabled", "vote",
"voteenabled", "themoviedb", "notifications.email",
"notifications.email.enabled", "notifications.discord",
"notifications.telegram", "notifications.pushbullet",
"notifications.pushover", "notifications.slack",
"notifications.mattermost", "notifications.twilio",
"notifications.mobile", "notifications.gotify",
"notifications.ntfy", "notifications.webhook",
"notifications.newsletter"
]
}
},
"required": ["section"],
"additionalProperties": false
}
```
## write_settings_patch
Patch typed non-secret settings while preserving omitted/private fields; destination and credential changes are excluded.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "custom_page"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_CustomPageSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "ombi"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_OmbiSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "plex"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_PlexSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "emby"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_EmbySettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "jellyfin"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_JellyfinSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "landingpage"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_LandingPageSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "customization"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_CustomizationSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "sonarr"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_SonarrSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "radarr"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_RadarrCombinedModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "lidarr"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_LidarrSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "authentication"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_AuthenticationSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "update"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_UpdateSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "user_management"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_UserManagementSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "couchpotato"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_CouchPotatoSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "dognzb"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_DogNzbSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "sickrage"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_SickRageSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "jobs"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_JobSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "issues"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_IssueSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "vote"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_VoteSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "themoviedb"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_TheMovieDbSettings",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.email"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_EmailNotificationsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.discord"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_DiscordNotificationsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.telegram"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_TelegramNotificationsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.pushbullet"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_PushbulletNotificationViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.pushover"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_PushoverNotificationViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.slack"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_SlackNotificationsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.mattermost"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_MattermostNotificationsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.twilio"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_TwilioSettingsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.mobile"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_MobileNotificationsViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.gotify"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_GotifyNotificationViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.ntfy"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_NtfyNotificationViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.webhook"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_WebhookNotificationViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "patch"
},
"section": {
"const": "notifications.newsletter"
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"changes": {
"$ref": "#/$defs/Ombi_Core_Models_UI_NewsletterNotificationViewModel",
"minProperties": 1
}
},
"required": [
"action",
"section",
"revision",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "feature"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"enabled": {
"type": "boolean"
}
},
"required": [
"action",
"name",
"enabled"
],
"additionalProperties": false
}
],
"$defs": {
"Ombi_Core_Models_UI_DiscordNotificationsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"username": {
"type": "string"
},
"icon": {
"type": "string"
},
"hideUser": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_EmailNotificationsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"senderName": {
"type": "string"
},
"senderAddress": {
"type": "string"
},
"username": {
"type": "string"
},
"authentication": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_GotifyNotificationViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"priority": {
"type": "integer"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_MattermostNotificationsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"channel": {
"type": "string"
},
"username": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_MobileNotificationsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_NewsletterNotificationViewModel": {
"type": "object",
"properties": {
"notificationTemplate": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"disableTv": {
"type": "boolean"
},
"disableMovies": {
"type": "boolean"
},
"disableMusic": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"externalEmails": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_NtfyNotificationViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"topic": {
"type": "string"
},
"priority": {
"type": "integer"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_PushbulletNotificationViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"channelTag": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_PushoverNotificationViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"priority": {
"type": "integer"
},
"sound": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_SlackNotificationsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"channel": {
"type": "string"
},
"username": {
"type": "string"
},
"iconEmoji": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_TelegramNotificationsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"chatId": {
"type": "string"
},
"parseMode": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_TwilioSettingsViewModel": {
"type": "object",
"properties": {
"whatsAppSettings": {
"$ref": "#/$defs/Ombi_Core_Models_UI_WhatsAppSettingsViewModel"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_WebhookNotificationViewModel": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Models_UI_WhatsAppSettingsViewModel": {
"type": "object",
"properties": {
"notificationTemplates": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Store_Entities_NotificationTemplates"
},
"maxItems": 200
},
"enabled": {
"type": "boolean"
},
"from": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_EmbySelectedLibraries": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"collectionType": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_EmbyServers": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"enableEpisodeSearching": {
"type": "boolean"
},
"embySelectedLibraries": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_EmbySelectedLibraries"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_EmbySettings": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"servers": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_EmbyServers"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_JellyfinSelectedLibraries": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"title": {
"type": "string"
},
"collectionType": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_JellyfinServers": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"enableEpisodeSearching": {
"type": "boolean"
},
"jellyfinSelectedLibraries": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_JellyfinSelectedLibraries"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_JellyfinSettings": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"servers": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_JellyfinServers"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_PlexSelectedLibraries": {
"type": "object",
"properties": {
"key": {
"type": "integer"
},
"title": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_PlexServers": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"episodeBatchSize": {
"type": "integer"
},
"plexSelectedLibraries": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_PlexSelectedLibraries"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_PlexSettings": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"enableWatchlistImport": {
"type": "boolean"
},
"monitorAll": {
"type": "boolean"
},
"servers": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Core_Settings_Models_External_PlexServers"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_External_TheMovieDbSettings": {
"type": "object",
"properties": {
"showAdultMovies": {
"type": "boolean"
},
"excludedKeywordIds": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 200
},
"excludedMovieGenreIds": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 200
},
"excludedTvGenreIds": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 200
},
"originalLanguages": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Core_Settings_Models_LandingPageSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"noticeEnabled": {
"type": "boolean"
},
"noticeText": {
"type": "string"
},
"timeLimit": {
"type": "boolean"
},
"startDateTime": {
"type": "string"
},
"endDateTime": {
"type": "string"
},
"expired": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Helpers_NotificationAgent": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
]
},
"Ombi_Helpers_NotificationType": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
]
},
"Ombi_Settings_Settings_Models_AuthenticationSettings": {
"type": "object",
"properties": {
"allowNoPassword": {
"type": "boolean"
},
"requireDigit": {
"type": "boolean"
},
"requiredLength": {
"type": "integer"
},
"requireLowercase": {
"type": "boolean"
},
"requireNonAlphanumeric": {
"type": "boolean"
},
"requireUppercase": {
"type": "boolean"
},
"enableOAuth": {
"type": "boolean"
},
"enableHeaderAuth": {
"type": "boolean"
},
"headerAuthVariable": {
"type": "string"
},
"headerAuthCreateUser": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_Branch": {
"type": "integer",
"enum": [
0,
1
]
},
"Ombi_Settings_Settings_Models_CustomPageSettings": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"html": {
"type": "string"
},
"fontAwesomeIcon": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_CustomizationSettings": {
"type": "object",
"properties": {
"applicationName": {
"type": "string"
},
"customCss": {
"type": "string"
},
"enableCustomDonations": {
"type": "boolean"
},
"customDonationMessage": {
"type": "string"
},
"recentlyAddedPage": {
"type": "boolean"
},
"useCustomPage": {
"type": "boolean"
},
"hideAvailableFromDiscover": {
"type": "boolean"
},
"hideAvailableRecentlyRequested": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_CouchPotatoSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"defaultProfileId": {
"type": "string"
},
"username": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_DogNzbSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"movies": {
"type": "boolean"
},
"tvShows": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_DropDownModel": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"display": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_LidarrSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"defaultQualityProfile": {
"type": "string"
},
"defaultRootPath": {
"type": "string"
},
"albumFolder": {
"type": "boolean"
},
"metadataProfileId": {
"type": "integer"
},
"addOnly": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_Radarr4KSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"defaultQualityProfile": {
"type": "string"
},
"defaultRootPath": {
"type": "string"
},
"addOnly": {
"type": "boolean"
},
"minimumAvailability": {
"type": "string"
},
"scanForAvailability": {
"type": "boolean"
},
"prioritizeArrAvailability": {
"type": "boolean"
},
"tag": {
"type": "integer"
},
"sendUserTags": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_RadarrCombinedModel": {
"type": "object",
"properties": {
"radarr": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_RadarrSettings"
},
"radarr4K": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_Radarr4KSettings"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_RadarrSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"defaultQualityProfile": {
"type": "string"
},
"defaultRootPath": {
"type": "string"
},
"addOnly": {
"type": "boolean"
},
"minimumAvailability": {
"type": "string"
},
"scanForAvailability": {
"type": "boolean"
},
"prioritizeArrAvailability": {
"type": "boolean"
},
"tag": {
"type": "integer"
},
"sendUserTags": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_SickRageSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"qualityProfile": {
"type": "string"
},
"qualities": {
"type": "array",
"items": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_External_DropDownModel"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_External_SonarrSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"qualityProfile": {
"type": "string"
},
"seasonFolders": {
"type": "boolean"
},
"rootPath": {
"type": "string"
},
"qualityProfileAnime": {
"type": "string"
},
"rootPathAnime": {
"type": "string"
},
"animeTag": {
"type": "integer"
},
"tag": {
"type": "integer"
},
"sendUserTags": {
"type": "boolean"
},
"addOnly": {
"type": "boolean"
},
"languageProfile": {
"type": "integer"
},
"languageProfileAnime": {
"type": "integer"
},
"scanForAvailability": {
"type": "boolean"
},
"prioritizeArrAvailability": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_IssueSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"enableInProgress": {
"type": "boolean"
},
"deleteIssues": {
"type": "boolean"
},
"daysAfterResolvedToDelete": {
"type": "integer"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_JobSettings": {
"type": "object",
"properties": {
"embyContentSync": {
"type": "string"
},
"embyRecentlyAddedSync": {
"type": "string"
},
"jellyfinContentSync": {
"type": "string"
},
"sonarrSync": {
"type": "string"
},
"radarrSync": {
"type": "string"
},
"plexContentSync": {
"type": "string"
},
"plexRecentlyAddedSync": {
"type": "string"
},
"couchPotatoSync": {
"type": "string"
},
"automaticUpdater": {
"type": "string"
},
"userImporter": {
"type": "string"
},
"sickRageSync": {
"type": "string"
},
"newsletter": {
"type": "string"
},
"lidarrArtistSync": {
"type": "string"
},
"issuesPurge": {
"type": "string"
},
"retryRequests": {
"type": "string"
},
"mediaDatabaseRefresh": {
"type": "string"
},
"autoDeleteRequests": {
"type": "string"
},
"plexWatchlistImport": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_OmbiSettings": {
"type": "object",
"properties": {
"collectAnalyticData": {
"type": "boolean"
},
"doNotSendNotificationsForAutoApprove": {
"type": "boolean"
},
"hideRequestsUsers": {
"type": "boolean"
},
"disableHealthChecks": {
"type": "boolean"
},
"defaultLanguageCode": {
"type": "string"
},
"autoDeleteAvailableRequests": {
"type": "boolean"
},
"autoDeleteAfterDays": {
"type": "integer"
},
"branch": {
"$ref": "#/$defs/Ombi_Settings_Settings_Models_Branch"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_UpdateSettings": {
"type": "object",
"properties": {
"autoUpdateEnabled": {
"type": "boolean"
},
"username": {
"type": "string"
},
"testMode": {
"type": "boolean"
},
"updateSchedule": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_UserManagementSettings": {
"type": "object",
"properties": {
"importPlexAdmin": {
"type": "boolean"
},
"importPlexUsers": {
"type": "boolean"
},
"cleanupPlexUsers": {
"type": "boolean"
},
"importEmbyUsers": {
"type": "boolean"
},
"importJellyfinUsers": {
"type": "boolean"
},
"movieRequestLimit": {
"type": "integer"
},
"movieRequestLimitType": {
"$ref": "#/$defs/Ombi_Store_Entities_RequestLimitType"
},
"episodeRequestLimit": {
"type": "integer"
},
"episodeRequestLimitType": {
"$ref": "#/$defs/Ombi_Store_Entities_RequestLimitType"
},
"musicRequestLimit": {
"type": "integer"
},
"musicRequestLimitType": {
"$ref": "#/$defs/Ombi_Store_Entities_RequestLimitType"
},
"defaultStreamingCountry": {
"type": "string"
},
"defaultRoles": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
},
"bannedPlexUserIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
},
"bannedEmbyUserIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
},
"bannedJellyfinUserIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 200
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Settings_Settings_Models_VoteSettings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"movieVoteMax": {
"type": "integer"
},
"musicVoteMax": {
"type": "integer"
},
"tvShowVoteMax": {
"type": "integer"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Store_Entities_NotificationTemplates": {
"type": "object",
"properties": {
"notification_type": {
"type": "string",
"enum": [
"new_request",
"issue",
"request_available",
"request_approved",
"admin_note",
"test",
"request_declined",
"item_added_to_fault_queue",
"welcome_email",
"issue_resolved",
"issue_comment",
"newsletter",
"partially_available",
"plex_watchlist_token_expired",
"request_deleted",
"issue_in_progress",
"issue_deleted"
]
},
"agent": {
"type": "string",
"enum": [
"email",
"discord",
"pushbullet",
"pushover",
"telegram",
"slack",
"mattermost",
"mobile",
"gotify",
"webhook",
"whatsapp",
"ntfy"
]
},
"subject": {
"type": "string"
},
"message": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
},
"Ombi_Store_Entities_RequestLimitType": {
"type": "integer",
"enum": [
0,
1,
2
]
}
}
}
```
## write_user_manage
Delete an Ombi user or send a welcome email to an explicitly selected existing user.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "delete"
},
"user_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"user_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "welcome_email"
},
"user_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"action",
"user_id"
],
"additionalProperties": false
}
]
}
```
## write_integration_test
Test a saved integration or notification profile; may send an actual message.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"service": {
"type": "string",
"enum": [
"discord", "pushbullet", "pushover", "gotify", "ntfy", "webhook",
"mattermost", "slack", "email", "plex", "emby", "jellyfin",
"radarr", "sonarr", "couchpotato", "telegram", "sickrage",
"newsletter", "mobile", "lidarr", "whatsapp"
]
},
"profile_id": { "type": "string", "minLength": 1, "maxLength": 200 }
},
"required": ["service", "profile_id"],
"additionalProperties": false
}
```
## write_job_run
Trigger an explicitly enabled background job or revalidate Plex watchlist users; accepted does not mean completed.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "run"
},
"job": {
"type": "string",
"enum": [
"update",
"plexuserimporter",
"plexwatchlist",
"embyuserimporter",
"jellyfinuserimporter",
"plexcontentcacher",
"clearmediaserverdata",
"plexrecentlyadded",
"embycontentcacher",
"embyrecentlyadded",
"jellyfincontentcacher",
"arrAvailability",
"autodeleterequests",
"newsletter"
]
}
},
"required": [
"action",
"job"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "revalidate_watchlist"
}
},
"required": [
"action"
],
"additionalProperties": false
}
]
}
```
## write_notification_send
Send email to explicit existing user IDs; recipient entities are resolved internally.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"subject": { "type": "string", "minLength": 1, "maxLength": 300 },
"body": { "type": "string", "minLength": 1, "maxLength": 20000 },
"bcc": { "type": "boolean" },
"user_ids": {
"type": "array",
"items": { "type": "string", "minLength": 1, "maxLength": 200 },
"minItems": 1,
"maxItems": 100,
"uniqueItems": true
}
},
"required": ["subject", "body", "bcc", "user_ids"],
"additionalProperties": false
}
```
## write_retry_remove
Remove one failed-request queue entry. This does not retry or delete the underlying request.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"queue_id": { "type": "integer", "minimum": 1 }
},
"required": ["queue_id"],
"additionalProperties": false
}
```
## read_logs
Read bounded sanitized diagnostics through an opaque file ID; raw downloads are excluded.
```json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"const": "list"
}
},
"required": [
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"const": "read"
},
"file_id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 100
}
},
"required": [
"action",
"file_id"
],
"additionalProperties": false
}
]
}
```