# Cardigann indexer definition Schema ```txt Cardigann ``` Schema for Jackett Cardigann YAML indexer definitions. See the Definition-format page on the Jackett wiki for examples. | Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | | :--------------------- | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :---------------------------------------------------------------------------------- | | Cannot be instantiated | Yes | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [schema.json](../src/Jackett.Common/Definitions/schema.json "open original schema") | ## Cardigann indexer definition Type `object` ([Cardigann indexer definition](schema.md)) # Cardigann indexer definition Definitions ## Definitions group SchemaRoot Reference this group by using ```json {"$ref":"Cardigann#/definitions/SchemaRoot"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------------------- | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | | [id](#id) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-id.md "Cardigann#/definitions/SchemaRoot/properties/id") | | [replaces](#replaces) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-replaces.md "Cardigann#/definitions/SchemaRoot/properties/replaces") | | [name](#name) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-name.md "Cardigann#/definitions/SchemaRoot/properties/name") | | [description](#description) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-description.md "Cardigann#/definitions/SchemaRoot/properties/description") | | [language](#language) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-language.md "Cardigann#/definitions/SchemaRoot/properties/language") | | [type](#type) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-type.md "Cardigann#/definitions/SchemaRoot/properties/type") | | [encoding](#encoding) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-encoding.md "Cardigann#/definitions/SchemaRoot/properties/encoding") | | [followredirect](#followredirect) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-follow-redirect.md "Cardigann#/definitions/SchemaRoot/properties/followredirect") | | [testlinktorrent](#testlinktorrent) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-test-link-torrent.md "Cardigann#/definitions/SchemaRoot/properties/testlinktorrent") | | [requestDelay](#requestdelay) | `number` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-request-delay.md "Cardigann#/definitions/SchemaRoot/properties/requestDelay") | | [links](#links) | `array` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-links.md "Cardigann#/definitions/SchemaRoot/properties/links") | | [legacylinks](#legacylinks) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-legacy-links.md "Cardigann#/definitions/SchemaRoot/properties/legacylinks") | | [certificates](#certificates) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-certificates.md "Cardigann#/definitions/SchemaRoot/properties/certificates") | | [caps](#caps) | Merged | Required | cannot be null | [Cardigann indexer definition](schema-definitions-caps.md "Cardigann#/definitions/SchemaRoot/properties/caps") | | [settings](#settings) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-schemaroot-properties-settings.md "Cardigann#/definitions/SchemaRoot/properties/settings") | | [login](#login) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login.md "Cardigann#/definitions/SchemaRoot/properties/login") | | [search](#search) | Merged | Required | cannot be null | [Cardigann indexer definition](schema-definitions-search.md "Cardigann#/definitions/SchemaRoot/properties/search") | | [download](#download) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-downloadblock.md "Cardigann#/definitions/SchemaRoot/properties/download") | ### id Internal name of the indexer. Must be unique. Usually the site name in lower case without special characters or spaces. Used in the Torznab, download and search URLs and in the indexer config file name. `id` * is required * Type: `string` ([ID](schema-definitions-schemaroot-properties-id.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-id.md "Cardigann#/definitions/SchemaRoot/properties/id") #### id Type `string` ([ID](schema-definitions-schemaroot-properties-id.md)) ### replaces Old indexer IDs this definition replaces. Keeps existing configs working after an ID rename. Maintainer use only. `replaces` * is optional * Type: `string[]` ([Replaced ID](schema-definitions-schemaroot-properties-replaces-replaced-id.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-replaces.md "Cardigann#/definitions/SchemaRoot/properties/replaces") #### replaces Type `string[]` ([Replaced ID](schema-definitions-schemaroot-properties-replaces-replaced-id.md)) #### replaces Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### name Display name of the tracker. `name` * is required * Type: `string` ([Name](schema-definitions-schemaroot-properties-name.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-name.md "Cardigann#/definitions/SchemaRoot/properties/name") #### name Type `string` ([Name](schema-definitions-schemaroot-properties-name.md)) ### description Short description shown in the tooltip on the add-indexer page and in the config panel. Usually sourced from opentrackers.org when available. `description` * is required * Type: `string` ([Description](schema-definitions-schemaroot-properties-description.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-description.md "Cardigann#/definitions/SchemaRoot/properties/description") #### description Type `string` ([Description](schema-definitions-schemaroot-properties-description.md)) ### language Language code of the main language used on the tracker, usually from the site's attribute. `language` * is required * Type: `string` ([Language](schema-definitions-schemaroot-properties-language.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-language.md "Cardigann#/definitions/SchemaRoot/properties/language") #### language Type `string` ([Language](schema-definitions-schemaroot-properties-language.md)) #### language Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :--------- | :---------- | | `"af"` | | | `"af-ZA"` | | | `"ar"` | | | `"ar-AE"` | | | `"ar-BH"` | | | `"ar-DZ"` | | | `"ar-EG"` | | | `"ar-IQ"` | | | `"ar-JO"` | | | `"ar-KW"` | | | `"ar-LB"` | | | `"ar-LY"` | | | `"ar-MA"` | | | `"ar-OM"` | | | `"ar-QA"` | | | `"ar-SA"` | | | `"ar-SY"` | | | `"ar-TN"` | | | `"ar-YE"` | | | `"az"` | | | `"az-AZ"` | | | `"be"` | | | `"be-BY"` | | | `"bg"` | | | `"bg-BG"` | | | `"bs-BA"` | | | `"ca"` | | | `"ca-ES"` | | | `"cs"` | | | `"cs-CZ"` | | | `"cy"` | | | `"cy-GB"` | | | `"da"` | | | `"da-DK"` | | | `"de"` | | | `"de-AT"` | | | `"de-CH"` | | | `"de-DE"` | | | `"de-LI"` | | | `"de-LU"` | | | `"dv"` | | | `"dv-MV"` | | | `"el"` | | | `"el-GR"` | | | `"en"` | | | `"en-AU"` | | | `"en-BZ"` | | | `"en-CA"` | | | `"en-CB"` | | | `"en-GB"` | | | `"en-IE"` | | | `"en-JM"` | | | `"en-NZ"` | | | `"en-PH"` | | | `"en-TT"` | | | `"en-US"` | | | `"en-ZA"` | | | `"en-ZW"` | | | `"eo"` | | | `"es"` | | | `"es-AR"` | | | `"es-BO"` | | | `"es-CL"` | | | `"es-CO"` | | | `"es-CR"` | | | `"es-DO"` | | | `"es-EC"` | | | `"es-ES"` | | | `"es-GT"` | | | `"es-HN"` | | | `"es-MX"` | | | `"es-NI"` | | | `"es-PA"` | | | `"es-PE"` | | | `"es-PR"` | | | `"es-PY"` | | | `"es-SV"` | | | `"es-UY"` | | | `"es-VE"` | | | `"et"` | | | `"et-EE"` | | | `"eu"` | | | `"eu-ES"` | | | `"fa"` | | | `"fa-IR"` | | | `"fi"` | | | `"fi-FI"` | | | `"fo"` | | | `"fo-FO"` | | | `"fr"` | | | `"fr-BE"` | | | `"fr-CA"` | | | `"fr-CH"` | | | `"fr-FR"` | | | `"fr-LU"` | | | `"fr-MC"` | | | `"gl"` | | | `"gl-ES"` | | | `"gu"` | | | `"gu-IN"` | | | `"he"` | | | `"he-IL"` | | | `"hi"` | | | `"hi-IN"` | | | `"hr"` | | | `"hr-BA"` | | | `"hr-HR"` | | | `"hu"` | | | `"hu-HU"` | | | `"hy"` | | | `"hy-AM"` | | | `"id"` | | | `"id-ID"` | | | `"is"` | | | `"is-IS"` | | | `"it"` | | | `"it-CH"` | | | `"it-IT"` | | | `"ja"` | | | `"ja-JP"` | | | `"ka"` | | | `"ka-GE"` | | | `"kk"` | | | `"kk-KZ"` | | | `"kn"` | | | `"kn-IN"` | | | `"ko"` | | | `"ko-KR"` | | | `"kok"` | | | `"kok-IN"` | | | `"ky"` | | | `"ky-KG"` | | | `"lt"` | | | `"lt-LT"` | | | `"lv"` | | | `"lv-LV"` | | | `"mi"` | | | `"mi-NZ"` | | | `"mk"` | | | `"mk-MK"` | | | `"mn"` | | | `"mn-MN"` | | | `"mr"` | | | `"mr-IN"` | | | `"ms"` | | | `"ms-BN"` | | | `"ms-MY"` | | | `"mt"` | | | `"mt-MT"` | | | `"nb"` | | | `"nb-NO"` | | | `"nl"` | | | `"nl-BE"` | | | `"nl-NL"` | | | `"nn-NO"` | | | `"ns"` | | | `"ns-ZA"` | | | `"pa"` | | | `"pa-IN"` | | | `"pl"` | | | `"pl-PL"` | | | `"ps"` | | | `"ps-AR"` | | | `"pt"` | | | `"pt-BR"` | | | `"pt-PT"` | | | `"qu"` | | | `"qu-BO"` | | | `"qu-EC"` | | | `"qu-PE"` | | | `"ro"` | | | `"ro-RO"` | | | `"ru"` | | | `"ru-RU"` | | | `"sa"` | | | `"sa-IN"` | | | `"se"` | | | `"se-FI"` | | | `"se-NO"` | | | `"se-SE"` | | | `"sk"` | | | `"sk-SK"` | | | `"sl"` | | | `"sl-SI"` | | | `"sq"` | | | `"sq-AL"` | | | `"sr-BA"` | | | `"sr-SP"` | | | `"sv"` | | | `"sv-FI"` | | | `"sv-SE"` | | | `"sw"` | | | `"sw-KE"` | | | `"syr"` | | | `"syr-SY"` | | | `"ta"` | | | `"ta-IN"` | | | `"te"` | | | `"te-IN"` | | | `"th"` | | | `"th-TH"` | | | `"tl"` | | | `"tl-PH"` | | | `"tn"` | | | `"tn-ZA"` | | | `"tr"` | | | `"tr-TR"` | | | `"tt"` | | | `"tt-RU"` | | | `"ts"` | | | `"uk"` | | | `"uk-UA"` | | | `"ur"` | | | `"ur-PK"` | | | `"uz"` | | | `"uz-UZ"` | | | `"vi"` | | | `"vi-VN"` | | | `"xh"` | | | `"xh-ZA"` | | | `"zh"` | | | `"zh-CN"` | | | `"zh-HK"` | | | `"zh-MO"` | | | `"zh-SG"` | | | `"zh-TW"` | | | `"zu"` | | | `"zu-ZA"` | | ### type public: no registration required. semi-private: registration required but always open. private: invite or application needed. `type` * is required * Type: `string` ([Type](schema-definitions-schemaroot-properties-type.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-type.md "Cardigann#/definitions/SchemaRoot/properties/type") #### type Type `string` ([Type](schema-definitions-schemaroot-properties-type.md)) #### type Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :--------------- | :---------- | | `"public"` | | | `"semi-private"` | | | `"private"` | | ### encoding Character encoding of the site, usually from its tag. `encoding` * is required * Type: `string` ([Encoding](schema-definitions-schemaroot-properties-encoding.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-encoding.md "Cardigann#/definitions/SchemaRoot/properties/encoding") #### encoding Type `string` ([Encoding](schema-definitions-schemaroot-properties-encoding.md)) ### followredirect Automatically update the site URL when the site redirects to a different domain. Default: false. `followredirect` * is optional * Type: `boolean` ([Follow redirect](schema-definitions-schemaroot-properties-follow-redirect.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-follow-redirect.md "Cardigann#/definitions/SchemaRoot/properties/followredirect") #### followredirect Type `boolean` ([Follow redirect](schema-definitions-schemaroot-properties-follow-redirect.md)) ### testlinktorrent Pre-test the .torrent download when grabbing. Set to false for sites that reject two GET requests for the same .torrent in sequence. Indexers that support fallback downloading need true. Default: true. `testlinktorrent` * is optional * Type: `boolean` ([Test link torrent](schema-definitions-schemaroot-properties-test-link-torrent.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-test-link-torrent.md "Cardigann#/definitions/SchemaRoot/properties/testlinktorrent") #### testlinktorrent Type `boolean` ([Test link torrent](schema-definitions-schemaroot-properties-test-link-torrent.md)) ### requestDelay Seconds to wait between requests to the site. Use for sites that temporarily block clients that exceed a request rate. `requestDelay` * is optional * Type: `number` ([Request delay](schema-definitions-schemaroot-properties-request-delay.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-request-delay.md "Cardigann#/definitions/SchemaRoot/properties/requestDelay") #### requestDelay Type `number` ([Request delay](schema-definitions-schemaroot-properties-request-delay.md)) ### links Known site URLs. The first is the default. Each must end with /. `links` * is required * Type: `string[]` ([Link](schema-definitions-schemaroot-properties-links-link.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-links.md "Cardigann#/definitions/SchemaRoot/properties/links") #### links Type `string[]` ([Link](schema-definitions-schemaroot-properties-links-link.md)) #### links Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### legacylinks Old site URLs that no longer work. A configured legacy URL is replaced automatically with the first entry in links. `legacylinks` * is optional * Type: `string[]` ([Legacy link](schema-definitions-schemaroot-properties-legacy-links-legacy-link.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-legacy-links.md "Cardigann#/definitions/SchemaRoot/properties/legacylinks") #### legacylinks Type `string[]` ([Legacy link](schema-definitions-schemaroot-properties-legacy-links-legacy-link.md)) #### legacylinks Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### certificates SHA-1 fingerprints of untrusted HTTPS certificates (self-signed, expired, etc.) to accept anyway. Rarely needed. `certificates` * is optional * Type: `string[]` ([Certificate fingerprint](schema-definitions-schemaroot-properties-certificates-certificate-fingerprint.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-certificates.md "Cardigann#/definitions/SchemaRoot/properties/certificates") #### certificates Type `string[]` ([Certificate fingerprint](schema-definitions-schemaroot-properties-certificates-certificate-fingerprint.md)) #### certificates Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### caps Capabilities of the indexer: category mappings and supported Torznab search modes. `caps` * is required * Type: `object` ([Caps](schema-definitions-caps.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-caps.md "Cardigann#/definitions/SchemaRoot/properties/caps") #### caps Type `object` ([Caps](schema-definitions-caps.md)) one (and only one) of * [Using categories](schema-definitions-caps-oneof-using-categories.md "check type definition") * [Using categorymappings](schema-definitions-caps-oneof-using-categorymappings.md "check type definition") ### settings Config options shown for the indexer. If omitted, username and password are used. Set to \[] for public trackers that need no settings. `settings` * is optional * Type: `object[]` ([SettingsField](schema-definitions-settingsfield.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-schemaroot-properties-settings.md "Cardigann#/definitions/SchemaRoot/properties/settings") #### settings Type `object[]` ([SettingsField](schema-definitions-settingsfield.md)) ### login How Jackett logs in to the tracker. Omit for sites that need no login. `login` * is optional * Type: `object` ([Login](schema-definitions-login.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login.md "Cardigann#/definitions/SchemaRoot/properties/login") #### login Type `object` ([Login](schema-definitions-login.md)) ### search How to build search requests and parse torrent results from the response. `search` * is required * Type: `object` ([Search](schema-definitions-search.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search.md "Cardigann#/definitions/SchemaRoot/properties/search") #### search Type `object` ([Search](schema-definitions-search.md)) one (and only one) of * [Multiple paths](schema-definitions-search-oneof-multiple-paths.md "check type definition") * [Single path](schema-definitions-search-oneof-single-path.md "check type definition") ### download Needed only when the download link cannot be taken directly from the search results, the download must be a POST, or another page must be requested first. `download` * is optional * Type: `object` ([DownloadBlock](schema-definitions-downloadblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-downloadblock.md "Cardigann#/definitions/SchemaRoot/properties/download") #### download Type `object` ([DownloadBlock](schema-definitions-downloadblock.md)) ## Definitions group Caps Reference this group by using ```json {"$ref":"Cardigann#/definitions/Caps"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------------------------------- | :-------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- | | [categories](#categories) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-caps-properties-categories-caps.md "Cardigann#/definitions/Caps/properties/categories") | | [categorymappings](#categorymappings) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-caps-properties-category-mappings.md "Cardigann#/definitions/Caps/properties/categorymappings") | | [modes](#modes) | `object` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-modes.md "Cardigann#/definitions/Caps/properties/modes") | | [allowrawsearch](#allowrawsearch) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-caps-properties-allow-raw-search.md "Cardigann#/definitions/Caps/properties/allowrawsearch") | | [allowtvsearchimdb](#allowtvsearchimdb) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-caps-properties-allow-tv-search-by-imdb-id.md "Cardigann#/definitions/Caps/properties/allowtvsearchimdb") | ### categories Simple mapping of tracker category ID to Newznab category. Use either this or categorymappings. `categories` * is optional * Type: `object` ([Categories (Caps)](schema-definitions-caps-properties-categories-caps.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-caps-properties-categories-caps.md "Cardigann#/definitions/Caps/properties/categories") #### categories Type `object` ([Categories (Caps)](schema-definitions-caps-properties-categories-caps.md)) ### categorymappings List of tracker-to-Newznab category mappings. Use either this or categories. `categorymappings` * is optional * Type: `object[]` ([CategoryMapping](schema-definitions-categorymapping.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-caps-properties-category-mappings.md "Cardigann#/definitions/Caps/properties/categorymappings") #### categorymappings Type `object[]` ([CategoryMapping](schema-definitions-categorymapping.md)) #### categorymappings Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### modes Torznab search modes and the query parameters the tracker supports for each. Most apps calling Jackett depend on these being correct. `modes` * is required * Type: `object` ([Modes](schema-definitions-modes.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-modes.md "Cardigann#/definitions/Caps/properties/modes") #### modes Type `object` ([Modes](schema-definitions-modes.md)) ### allowrawsearch Enable raw search. See Jackett issue 8246. `allowrawsearch` * is optional * Type: `boolean` ([Allow raw search](schema-definitions-caps-properties-allow-raw-search.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-caps-properties-allow-raw-search.md "Cardigann#/definitions/Caps/properties/allowrawsearch") #### allowrawsearch Type `boolean` ([Allow raw search](schema-definitions-caps-properties-allow-raw-search.md)) ### allowtvsearchimdb Allow imdbid in tv-search. See Jackett issue 16412. `allowtvsearchimdb` * is optional * Type: `boolean` ([Allow TV search by IMDb ID](schema-definitions-caps-properties-allow-tv-search-by-imdb-id.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-caps-properties-allow-tv-search-by-imdb-id.md "Cardigann#/definitions/Caps/properties/allowtvsearchimdb") #### allowtvsearchimdb Type `boolean` ([Allow TV search by IMDb ID](schema-definitions-caps-properties-allow-tv-search-by-imdb-id.md)) ## Definitions group CategoryMapping Reference this group by using ```json {"$ref":"Cardigann#/definitions/CategoryMapping"} ``` | Property | Type | Required | Nullable | Defined by | | :------------------ | :-------- | :------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | | [id](#id-1) | Merged | Required | cannot be null | [Cardigann indexer definition](schema-definitions-categorymapping-properties-id.md "Cardigann#/definitions/CategoryMapping/properties/id") | | [cat](#cat) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-categorymapping-properties-indexercategories.md "Cardigann#/definitions/CategoryMapping/properties/cat") | | [desc](#desc) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-categorymapping-properties-description.md "Cardigann#/definitions/CategoryMapping/properties/desc") | | [default](#default) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-categorymapping-properties-default.md "Cardigann#/definitions/CategoryMapping/properties/default") | ### id Tracker-specific category ID. Can be a number or a string. `id` * is required * Type: merged type ([ID](schema-definitions-categorymapping-properties-id.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-categorymapping-properties-id.md "Cardigann#/definitions/CategoryMapping/properties/id") #### id Type merged type ([ID](schema-definitions-categorymapping-properties-id.md)) one (and only one) of * [ID as integer](schema-definitions-categorymapping-properties-id-oneof-id-as-integer.md "check type definition") * [ID as string](schema-definitions-categorymapping-properties-id-oneof-id-as-string.md "check type definition") ### cat Predefined Newznab/Torznab category name. See the Jackett-Categories wiki page. `cat` * is required * Type: `string` ([IndexerCategories](schema-definitions-categorymapping-properties-indexercategories.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-categorymapping-properties-indexercategories.md "Cardigann#/definitions/CategoryMapping/properties/cat") #### cat Type `string` ([IndexerCategories](schema-definitions-categorymapping-properties-indexercategories.md)) #### cat Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :----------------------- | :---------- | | `"Console"` | | | `"Console/NDS"` | | | `"Console/PSP"` | | | `"Console/Wii"` | | | `"Console/XBox"` | | | `"Console/XBox 360"` | | | `"Console/Wiiware"` | | | `"Console/XBox 360 DLC"` | | | `"Console/PS3"` | | | `"Console/Other"` | | | `"Console/3DS"` | | | `"Console/PS Vita"` | | | `"Console/WiiU"` | | | `"Console/XBox One"` | | | `"Console/PS4"` | | | `"Movies"` | | | `"Movies/Foreign"` | | | `"Movies/Other"` | | | `"Movies/SD"` | | | `"Movies/HD"` | | | `"Movies/UHD"` | | | `"Movies/BluRay"` | | | `"Movies/3D"` | | | `"Movies/DVD"` | | | `"Movies/WEB-DL"` | | | `"Audio"` | | | `"Audio/MP3"` | | | `"Audio/Video"` | | | `"Audio/Audiobook"` | | | `"Audio/Lossless"` | | | `"Audio/Other"` | | | `"Audio/Foreign"` | | | `"PC"` | | | `"PC/0day"` | | | `"PC/ISO"` | | | `"PC/Mac"` | | | `"PC/Mobile-Other"` | | | `"PC/Games"` | | | `"PC/Mobile-iOS"` | | | `"PC/Mobile-Android"` | | | `"TV"` | | | `"TV/WEB-DL"` | | | `"TV/Foreign"` | | | `"TV/SD"` | | | `"TV/HD"` | | | `"TV/UHD"` | | | `"TV/Other"` | | | `"TV/Sport"` | | | `"TV/Anime"` | | | `"TV/Documentary"` | | | `"XXX"` | | | `"XXX/DVD"` | | | `"XXX/WMV"` | | | `"XXX/XviD"` | | | `"XXX/x264"` | | | `"XXX/UHD"` | | | `"XXX/Pack"` | | | `"XXX/ImageSet"` | | | `"XXX/Other"` | | | `"XXX/SD"` | | | `"XXX/WEB-DL"` | | | `"Books"` | | | `"Books/Mags"` | | | `"Books/EBook"` | | | `"Books/Comics"` | | | `"Books/Technical"` | | | `"Books/Other"` | | | `"Books/Foreign"` | | | `"Other"` | | | `"Other/Misc"` | | | `"Other/Hashed"` | | ### desc Tracker category name. If set, it is used for a 1:1 mapping between tracker and Newznab categories. `desc` * is optional * Type: `string` ([Description](schema-definitions-categorymapping-properties-description.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-categorymapping-properties-description.md "Cardigann#/definitions/CategoryMapping/properties/desc") #### desc Type `string` ([Description](schema-definitions-categorymapping-properties-description.md)) ### default Use this category when the search query has no categories. Default: false. `default` * is optional * Type: `boolean` ([Default](schema-definitions-categorymapping-properties-default.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-categorymapping-properties-default.md "Cardigann#/definitions/CategoryMapping/properties/default") #### default Type `boolean` ([Default](schema-definitions-categorymapping-properties-default.md)) ## Definitions group Modes Reference this group by using ```json {"$ref":"Cardigann#/definitions/Modes"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------------- | :------ | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------- | | [search](#search-1) | `array` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-modes-properties-search-modes.md "Cardigann#/definitions/Modes/properties/search") | | [tv-search](#tv-search) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-modes-properties-tv-search.md "Cardigann#/definitions/Modes/properties/tv-search") | | [movie-search](#movie-search) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-modes-properties-movie-search.md "Cardigann#/definitions/Modes/properties/movie-search") | | [music-search](#music-search) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-modes-properties-music-search.md "Cardigann#/definitions/Modes/properties/music-search") | | [book-search](#book-search) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-modes-properties-book-search.md "Cardigann#/definitions/Modes/properties/book-search") | ### search Parameters for basic search. q is the minimum and is required. `search` * is required * Type: `string[]` ([Search parameter](schema-definitions-modes-properties-search-modes-search-parameter.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-modes-properties-search-modes.md "Cardigann#/definitions/Modes/properties/search") #### search Type `string[]` ([Search parameter](schema-definitions-modes-properties-search-modes-search-parameter.md)) #### search Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### tv-search Parameters supported for TV search. Only list those the tracker can search with. `tv-search` * is optional * Type: `string[]` ([Search parameter](schema-definitions-modes-properties-tv-search-search-parameter.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-modes-properties-tv-search.md "Cardigann#/definitions/Modes/properties/tv-search") #### tv-search Type `string[]` ([Search parameter](schema-definitions-modes-properties-tv-search-search-parameter.md)) #### tv-search Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### movie-search Parameters supported for movie search. Only list those the tracker can search with. `movie-search` * is optional * Type: `string[]` ([Search parameter](schema-definitions-modes-properties-movie-search-search-parameter.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-modes-properties-movie-search.md "Cardigann#/definitions/Modes/properties/movie-search") #### movie-search Type `string[]` ([Search parameter](schema-definitions-modes-properties-movie-search-search-parameter.md)) #### movie-search Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### music-search Parameters supported for music search. Only list those the tracker can search with. `music-search` * is optional * Type: `string[]` ([Search parameter](schema-definitions-modes-properties-music-search-search-parameter.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-modes-properties-music-search.md "Cardigann#/definitions/Modes/properties/music-search") #### music-search Type `string[]` ([Search parameter](schema-definitions-modes-properties-music-search-search-parameter.md)) #### music-search Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ### book-search Parameters supported for book search. Only list those the tracker can search with. `book-search` * is optional * Type: `string[]` ([Search parameter](schema-definitions-modes-properties-book-search-search-parameter.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-modes-properties-book-search.md "Cardigann#/definitions/Modes/properties/book-search") #### book-search Type `string[]` ([Search parameter](schema-definitions-modes-properties-book-search-search-parameter.md)) #### book-search Constraints **unique items**: all items in this array must be unique. Duplicates are not allowed. ## Definitions group SettingsField Reference this group by using ```json {"$ref":"Cardigann#/definitions/SettingsField"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- | | [name](#name-1) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-settingsfield-properties-name.md "Cardigann#/definitions/SettingsField/properties/name") | | [label](#label) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-settingsfield-properties-label.md "Cardigann#/definitions/SettingsField/properties/label") | | [type](#type-1) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-settingsfield-properties-type.md "Cardigann#/definitions/SettingsField/properties/type") | | [default](#default-1) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-settingsfield-properties-default.md "Cardigann#/definitions/SettingsField/properties/default") | | [options](#options) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-settingsfield-properties-options.md "Cardigann#/definitions/SettingsField/properties/options") | | [defaults](#defaults) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-settingsfield-properties-defaults.md "Cardigann#/definitions/SettingsField/properties/defaults") | ### name Internal variable name. Referenced in templates as .Config.. `name` * is required * Type: `string` ([Name](schema-definitions-settingsfield-properties-name.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-settingsfield-properties-name.md "Cardigann#/definitions/SettingsField/properties/name") #### name Type `string` ([Name](schema-definitions-settingsfield-properties-name.md)) ### label Display name shown on the config page. `label` * is optional * Type: `string` ([Label](schema-definitions-settingsfield-properties-label.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-settingsfield-properties-label.md "Cardigann#/definitions/SettingsField/properties/label") #### label Type `string` ([Label](schema-definitions-settingsfield-properties-label.md)) ### type Input type. password masks the input. The info\_\* types show a predefined info box (category_8000, cookie, FlareSolverr, useragent) and need no label. `type` * is required * Type: `string` ([Type](schema-definitions-settingsfield-properties-type.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-settingsfield-properties-type.md "Cardigann#/definitions/SettingsField/properties/type") #### type Type `string` ([Type](schema-definitions-settingsfield-properties-type.md)) #### type Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :--------------------- | :---------- | | `"info"` | | | `"text"` | | | `"password"` | | | `"checkbox"` | | | `"select"` | | | `"multi-select"` | | | `"info_category_8000"` | | | `"info_cookie"` | | | `"info_flaresolverr"` | | | `"info_useragent"` | | ### default Default value. For checkbox, true ticks it (unticked by default). For info, the text to display. For select, the default option key. `default` * is optional * Type: merged type ([Default](schema-definitions-settingsfield-properties-default.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-settingsfield-properties-default.md "Cardigann#/definitions/SettingsField/properties/default") #### default Type merged type ([Default](schema-definitions-settingsfield-properties-default.md)) one (and only one) of * [Default as string](schema-definitions-settingsfield-properties-default-oneof-default-as-string.md "check type definition") * [Default as integer](schema-definitions-settingsfield-properties-default-oneof-default-as-integer.md "check type definition") * [Default as boolean](schema-definitions-settingsfield-properties-default-oneof-default-as-boolean.md "check type definition") ### options Select options as key: display-name pairs. `options` * is optional * Type: `object` ([Options](schema-definitions-settingsfield-properties-options.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-settingsfield-properties-options.md "Cardigann#/definitions/SettingsField/properties/options") #### options Type `object` ([Options](schema-definitions-settingsfield-properties-options.md)) ### defaults Default selected option keys for a multi-select. `defaults` * is optional * Type: `string[]` ([Option key](schema-definitions-settingsfield-properties-defaults-option-key.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-settingsfield-properties-defaults.md "Cardigann#/definitions/SettingsField/properties/defaults") #### defaults Type `string[]` ([Option key](schema-definitions-settingsfield-properties-defaults-option-key.md)) ## Definitions group Login Reference this group by using ```json {"$ref":"Cardigann#/definitions/Login"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------------------------------- | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | | [method](#method) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-method.md "Cardigann#/definitions/Login/properties/method") | | [cookies](#cookies) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-cookies.md "Cardigann#/definitions/Login/properties/cookies") | | [path](#path) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-path.md "Cardigann#/definitions/Login/properties/path") | | [submitpath](#submitpath) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-submit-path.md "Cardigann#/definitions/Login/properties/submitpath") | | [form](#form) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-form.md "Cardigann#/definitions/Login/properties/form") | | [captcha](#captcha) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-captchablock.md "Cardigann#/definitions/Login/properties/captcha") | | [inputs](#inputs) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-inputs-login.md "Cardigann#/definitions/Login/properties/inputs") | | [selectors](#selectors) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-selectors.md "Cardigann#/definitions/Login/properties/selectors") | | [selectorinputs](#selectorinputs) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-selector-inputs.md "Cardigann#/definitions/Login/properties/selectorinputs") | | [getselectorinputs](#getselectorinputs) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-get-selector-inputs.md "Cardigann#/definitions/Login/properties/getselectorinputs") | | [error](#error) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-error-login.md "Cardigann#/definitions/Login/properties/error") | | [test](#test) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-pagetestblock.md "Cardigann#/definitions/Login/properties/test") | | [headers](#headers) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-login-properties-headers-login.md "Cardigann#/definitions/Login/properties/headers") | ### method post: send inputs as an HTTP POST. get: same, using HTTP GET. form: fetch path, extract the HTML form (handles CSRF tokens and captchas), then POST it. cookie: use the configured cookie. oneurl: legacy, added for the removed beyond-hd-oneurl indexer; no definition uses it. `method` * is optional * Type: `string` ([Method](schema-definitions-login-properties-method.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-method.md "Cardigann#/definitions/Login/properties/method") #### method Type `string` ([Method](schema-definitions-login-properties-method.md)) #### method Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :--------- | :---------- | | `"form"` | | | `"post"` | | | `"cookie"` | | | `"get"` | | | `"oneurl"` | | ### cookies Cookies sent with the post login request. `cookies` * is optional * Type: `string[]` ([Cookie](schema-definitions-login-properties-cookies-cookie.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-cookies.md "Cardigann#/definitions/Login/properties/cookies") #### cookies Type `string[]` ([Cookie](schema-definitions-login-properties-cookies-cookie.md)) ### path Login target. For post/get it is the request URL. For form it is the page containing the login form. `path` * is optional * Type: `string` ([Path](schema-definitions-login-properties-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-path.md "Cardigann#/definitions/Login/properties/path") #### path Type `string` ([Path](schema-definitions-login-properties-path.md)) ### submitpath Form login only. URL to POST to, when it differs from the form's action attribute. `submitpath` * is optional * Type: `string` ([Submit path](schema-definitions-login-properties-submit-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-submit-path.md "Cardigann#/definitions/Login/properties/submitpath") #### submitpath Type `string` ([Submit path](schema-definitions-login-properties-submit-path.md)) ### form Form login only. Selector for the HTML form element. Default: form. `form` * is optional * Type: `string` ([Form](schema-definitions-login-properties-form.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-form.md "Cardigann#/definitions/Login/properties/form") #### form Type `string` ([Form](schema-definitions-login-properties-form.md)) ### captcha Captcha handling for form logins. Google ReCaptcha and simplecaptcha are detected automatically and need no captcha block. `captcha` * is optional * Type: `object` ([CaptchaBlock](schema-definitions-captchablock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-captchablock.md "Cardigann#/definitions/Login/properties/captcha") #### captcha Type `object` ([CaptchaBlock](schema-definitions-captchablock.md)) ### inputs Login parameters, for example, username: "{{ .Config.username }}". Fixed values are allowed. `inputs` * is optional * Type: `object` ([Inputs (Login)](schema-definitions-login-properties-inputs-login.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-inputs-login.md "Cardigann#/definitions/Login/properties/inputs") #### inputs Type `object` ([Inputs (Login)](schema-definitions-login-properties-inputs-login.md)) ### selectors Form login only. If true, the keys in inputs are treated as CSS selectors. Only needed for dynamic input names (very rare). `selectors` * is optional * Type: `boolean` ([Selectors](schema-definitions-login-properties-selectors.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-selectors.md "Cardigann#/definitions/Login/properties/selectors") #### selectors Type `boolean` ([Selectors](schema-definitions-login-properties-selectors.md)) ### selectorinputs Form login only. Input values taken from the login page with selectors, for example, a CSRF token hidden in JavaScript. `selectorinputs` * is optional * Type: `object` ([Selector inputs](schema-definitions-login-properties-selector-inputs.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-selector-inputs.md "Cardigann#/definitions/Login/properties/selectorinputs") #### selectorinputs Type `object` ([Selector inputs](schema-definitions-login-properties-selector-inputs.md)) ### getselectorinputs Form login only. Like selectorinputs, but sent in the query string instead of the POST body. `getselectorinputs` * is optional * Type: `object` ([GET selector inputs](schema-definitions-login-properties-get-selector-inputs.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-get-selector-inputs.md "Cardigann#/definitions/Login/properties/getselectorinputs") #### getselectorinputs Type `object` ([GET selector inputs](schema-definitions-login-properties-get-selector-inputs.md)) ### error Selectors checked on the login response. If one matches, the login failed and the matched text is shown as the error. `error` * is optional * Type: `object[]` ([ErrorBlock](schema-definitions-errorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-error-login.md "Cardigann#/definitions/Login/properties/error") #### error Type `object[]` ([ErrorBlock](schema-definitions-errorblock.md)) ### test Page requested after login to confirm the session is valid. A redirect, or no selector match, means the login failed. Also used during searches to detect an expired session and re-login. `test` * is optional * Type: `object` ([PageTestBlock](schema-definitions-pagetestblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-pagetestblock.md "Cardigann#/definitions/Login/properties/test") #### test Type `object` ([PageTestBlock](schema-definitions-pagetestblock.md)) ### headers Extra HTTP headers sent with login requests. If omitted, search headers are used. `headers` * is optional * Type: `object` ([Headers (Login)](schema-definitions-login-properties-headers-login.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-login-properties-headers-login.md "Cardigann#/definitions/Login/properties/headers") #### headers Type `object` ([Headers (Login)](schema-definitions-login-properties-headers-login.md)) ## Definitions group PageTestBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/PageTestBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- | | [path](#path-1) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-pagetestblock-properties-path.md "Cardigann#/definitions/PageTestBlock/properties/path") | | [selector](#selector) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-pagetestblock-properties-selector.md "Cardigann#/definitions/PageTestBlock/properties/selector") | ### path Page to request, typically the home page or the search page. `path` * is required * Type: `string` ([Path](schema-definitions-pagetestblock-properties-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-pagetestblock-properties-path.md "Cardigann#/definitions/PageTestBlock/properties/path") #### path Type `string` ([Path](schema-definitions-pagetestblock-properties-path.md)) ### selector Selector that must match on a logged-in page. Required if the site shows a login form instead of redirecting. `selector` * is required * Type: `string` ([Selector](schema-definitions-pagetestblock-properties-selector.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-pagetestblock-properties-selector.md "Cardigann#/definitions/PageTestBlock/properties/selector") #### selector Type `string` ([Selector](schema-definitions-pagetestblock-properties-selector.md)) ## Definitions group CaptchaBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/CaptchaBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------- | :------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------- | | [type](#type-2) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-captchablock-properties-type.md "Cardigann#/definitions/CaptchaBlock/properties/type") | | [selector](#selector-1) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-captchablock-properties-selector.md "Cardigann#/definitions/CaptchaBlock/properties/selector") | | [input](#input) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-captchablock-properties-input.md "Cardigann#/definitions/CaptchaBlock/properties/input") | ### type Captcha type: image or text. `type` * is required * Type: `string` ([Type](schema-definitions-captchablock-properties-type.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-captchablock-properties-type.md "Cardigann#/definitions/CaptchaBlock/properties/type") #### type Type `string` ([Type](schema-definitions-captchablock-properties-type.md)) #### type Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :-------- | :---------- | | `"image"` | | | `"text"` | | ### selector Selector for the captcha HTML element. `selector` * is required * Type: `string` ([Selector](schema-definitions-captchablock-properties-selector.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-captchablock-properties-selector.md "Cardigann#/definitions/CaptchaBlock/properties/selector") #### selector Type `string` ([Selector](schema-definitions-captchablock-properties-selector.md)) ### input Name of the form field that receives the captcha value. `input` * is required * Type: `string` ([Input](schema-definitions-captchablock-properties-input.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-captchablock-properties-input.md "Cardigann#/definitions/CaptchaBlock/properties/input") #### input Type `string` ([Input](schema-definitions-captchablock-properties-input.md)) ## Definitions group ErrorBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/ErrorBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | | [path](#path-2) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-errorblock-properties-path.md "Cardigann#/definitions/ErrorBlock/properties/path") | | [selector](#selector-2) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-errorblock-properties-selector.md "Cardigann#/definitions/ErrorBlock/properties/selector") | | [message](#message) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/ErrorBlock/properties/message") | ### path Only check responses from this path. `path` * is optional * Type: `string` ([Path](schema-definitions-errorblock-properties-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-errorblock-properties-path.md "Cardigann#/definitions/ErrorBlock/properties/path") #### path Type `string` ([Path](schema-definitions-errorblock-properties-path.md)) ### selector If this selector matches, the request failed. `selector` * is required * Type: `string` ([Selector](schema-definitions-errorblock-properties-selector.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-errorblock-properties-selector.md "Cardigann#/definitions/ErrorBlock/properties/selector") #### selector Type `string` ([Selector](schema-definitions-errorblock-properties-selector.md)) ### message Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `message` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/ErrorBlock/properties/message") #### message Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ## Definitions group SelectorBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/SelectorBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [selector](#selector-3) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-selector.md "Cardigann#/definitions/SelectorBlock/properties/selector") | | [attribute](#attribute) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-attribute.md "Cardigann#/definitions/SelectorBlock/properties/attribute") | | [optional](#optional) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-optional.md "Cardigann#/definitions/SelectorBlock/properties/optional") | | [default](#default-2) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-default.md "Cardigann#/definitions/SelectorBlock/properties/default") | | [case](#case) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-case-selectorblock.md "Cardigann#/definitions/SelectorBlock/properties/case") | | [remove](#remove) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-remove.md "Cardigann#/definitions/SelectorBlock/properties/remove") | | [text](#text) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-text.md "Cardigann#/definitions/SelectorBlock/properties/text") | | [filters](#filters) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock-properties-filters-selectorblock.md "Cardigann#/definitions/SelectorBlock/properties/filters") | ### selector CSS selector for HTML, or path for JSON/XML. :has(), :not() and :contains() are supported. In JSON, $ refers to the root object and a .. prefix reads from the row instead of the rows attribute subset. `selector` * is optional * Type: `string` ([Selector](schema-definitions-selectorblock-properties-selector.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-selector.md "Cardigann#/definitions/SelectorBlock/properties/selector") #### selector Type `string` ([Selector](schema-definitions-selectorblock-properties-selector.md)) ### attribute Take the value of this attribute (for example, href) instead of the element text. `attribute` * is optional * Type: `string` ([Attribute](schema-definitions-selectorblock-properties-attribute.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-attribute.md "Cardigann#/definitions/SelectorBlock/properties/attribute") #### attribute Type `string` ([Attribute](schema-definitions-selectorblock-properties-attribute.md)) ### optional Do not fail if the selector does not match. Use with default. `optional` * is optional * Type: `boolean` ([Optional](schema-definitions-selectorblock-properties-optional.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-optional.md "Cardigann#/definitions/SelectorBlock/properties/optional") #### optional Type `boolean` ([Optional](schema-definitions-selectorblock-properties-optional.md)) ### default Value used when an optional selector does not match. Templates are allowed, for example, "{{ .Result.title_default }}". `default` * is optional * Type: merged type ([Default](schema-definitions-selectorblock-properties-default.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-default.md "Cardigann#/definitions/SelectorBlock/properties/default") #### default Type merged type ([Default](schema-definitions-selectorblock-properties-default.md)) one (and only one) of * [Default as string](schema-definitions-selectorblock-properties-default-oneof-default-as-string.md "check type definition") * [Default as number](schema-definitions-selectorblock-properties-default-oneof-default-as-number.md "check type definition") ### case Selector: value pairs. The value of the first matching selector is used. "\*" matches anything. Common for downloadvolumefactor and uploadvolumefactor. `case` * is optional * Type: `object` ([Case (SelectorBlock)](schema-definitions-selectorblock-properties-case-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-case-selectorblock.md "Cardigann#/definitions/SelectorBlock/properties/case") #### case Type `object` ([Case (SelectorBlock)](schema-definitions-selectorblock-properties-case-selectorblock.md)) ### remove Selector for elements to remove before reading the text. Removed elements are gone for all later fields, so put fields using remove last. `remove` * is optional * Type: `string` ([Remove](schema-definitions-selectorblock-properties-remove.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-remove.md "Cardigann#/definitions/SelectorBlock/properties/remove") #### remove Type `string` ([Remove](schema-definitions-selectorblock-properties-remove.md)) ### text Fixed value, or a template. Used instead of selector, such as for minimumratio and minimumseedtime. `text` * is optional * Type: merged type ([Text](schema-definitions-selectorblock-properties-text.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-text.md "Cardigann#/definitions/SelectorBlock/properties/text") #### text Type merged type ([Text](schema-definitions-selectorblock-properties-text.md)) one (and only one) of * [Text as string](schema-definitions-selectorblock-properties-text-oneof-text-as-string.md "check type definition") * [Text as number](schema-definitions-selectorblock-properties-text-oneof-text-as-number.md "check type definition") ### filters Filters applied to the extracted value, in order. `filters` * is optional * Type: `object[]` ([FilterBlock](schema-definitions-filterblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock-properties-filters-selectorblock.md "Cardigann#/definitions/SelectorBlock/properties/filters") #### filters Type `object[]` ([FilterBlock](schema-definitions-filterblock.md)) ## Definitions group Search Reference this group by using ```json {"$ref":"Cardigann#/definitions/Search"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------------------------------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [path](#path-3) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-path.md "Cardigann#/definitions/Search/properties/path") | | [paths](#paths) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-paths.md "Cardigann#/definitions/Search/properties/paths") | | [allowEmptyInputs](#allowemptyinputs) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-allow-empty-inputs.md "Cardigann#/definitions/Search/properties/allowEmptyInputs") | | [inputs](#inputs-1) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-inputs-search.md "Cardigann#/definitions/Search/properties/inputs") | | [headers](#headers-1) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-headers-search.md "Cardigann#/definitions/Search/properties/headers") | | [keywordsfilters](#keywordsfilters) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-keywords-filters.md "Cardigann#/definitions/Search/properties/keywordsfilters") | | [error](#error-1) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-error-search.md "Cardigann#/definitions/Search/properties/error") | | [preprocessingfilters](#preprocessingfilters) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-search-properties-preprocessing-filters.md "Cardigann#/definitions/Search/properties/preprocessingfilters") | | [rows](#rows) | `object` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock.md "Cardigann#/definitions/Search/properties/rows") | | [fields](#fields) | Merged | Required | cannot be null | [Cardigann indexer definition](schema-definitions-fieldsblock.md "Cardigann#/definitions/Search/properties/fields") | ### path Single search path. Shorthand for paths with one entry. `path` * is optional * Type: `string` ([Path](schema-definitions-search-properties-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-path.md "Cardigann#/definitions/Search/properties/path") #### path Type `string` ([Path](schema-definitions-search-properties-path.md)) ### paths Search requests. Usually one. Some trackers need separate pages, for example, for porn or scene releases. `paths` * is optional * Type: `object[]` ([SearchPathBlock](schema-definitions-searchpathblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-paths.md "Cardigann#/definitions/Search/properties/paths") #### paths Type `object[]` ([SearchPathBlock](schema-definitions-searchpathblock.md)) ### allowEmptyInputs Send inputs whose value resolves to empty. By default such key/value pairs are dropped. Default: false. `allowEmptyInputs` * is optional * Type: `boolean` ([Allow empty inputs](schema-definitions-search-properties-allow-empty-inputs.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-allow-empty-inputs.md "Cardigann#/definitions/Search/properties/allowEmptyInputs") #### allowEmptyInputs Type `boolean` ([Allow empty inputs](schema-definitions-search-properties-allow-empty-inputs.md)) ### inputs HTTP arguments used by all paths. $raw is appended to the argument list without escaping (only variables are escaped). `inputs` * is optional * Type: `object` ([Inputs (Search)](schema-definitions-search-properties-inputs-search.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-inputs-search.md "Cardigann#/definitions/Search/properties/inputs") #### inputs Type `object` ([Inputs (Search)](schema-definitions-search-properties-inputs-search.md)) ### headers Extra HTTP headers sent with search requests. `headers` * is optional * Type: `object` ([Headers (Search)](schema-definitions-search-properties-headers-search.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-headers-search.md "Cardigann#/definitions/Search/properties/headers") #### headers Type `object` ([Headers (Search)](schema-definitions-search-properties-headers-search.md)) ### keywordsfilters Filters applied to the search keywords. The result is available as .Keywords. `keywordsfilters` * is optional * Type: `object[]` ([FilterBlock](schema-definitions-filterblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-keywords-filters.md "Cardigann#/definitions/Search/properties/keywordsfilters") #### keywordsfilters Type `object[]` ([FilterBlock](schema-definitions-filterblock.md)) ### error Selectors checked on the search response. Same syntax as the login error block. `error` * is optional * Type: `object[]` ([ErrorBlock](schema-definitions-errorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-error-search.md "Cardigann#/definitions/Search/properties/error") #### error Type `object[]` ([ErrorBlock](schema-definitions-errorblock.md)) ### preprocessingfilters Filters applied to the raw response before parsing. `preprocessingfilters` * is optional * Type: `object[]` ([FilterBlock](schema-definitions-filterblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-search-properties-preprocessing-filters.md "Cardigann#/definitions/Search/properties/preprocessingfilters") #### preprocessingfilters Type `object[]` ([FilterBlock](schema-definitions-filterblock.md)) ### rows Selects the result rows. Each row is then parsed with the fields block. `rows` * is required * Type: `object` ([RowsBlock](schema-definitions-rowsblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock.md "Cardigann#/definitions/Search/properties/rows") #### rows Type `object` ([RowsBlock](schema-definitions-rowsblock.md)) ### fields Fields extracted from each result row. Names starting with \_ are working fields for use in templates via .Result.. `fields` * is required * Type: `object` ([FieldsBlock](schema-definitions-fieldsblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-fieldsblock.md "Cardigann#/definitions/Search/properties/fields") #### fields Type `object` ([FieldsBlock](schema-definitions-fieldsblock.md)) one (and only one) of * [Category by ID](schema-definitions-fieldsblock-oneof-category-by-id.md "check type definition") * [Category by description](schema-definitions-fieldsblock-oneof-category-by-description.md "check type definition") ## Definitions group SearchPathBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/SearchPathBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [path](#path-4) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-path.md "Cardigann#/definitions/SearchPathBlock/properties/path") | | [method](#method-1) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-method.md "Cardigann#/definitions/SearchPathBlock/properties/method") | | [followredirect](#followredirect-1) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-follow-redirect.md "Cardigann#/definitions/SearchPathBlock/properties/followredirect") | | [categories](#categories-1) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-categories-searchpathblock.md "Cardigann#/definitions/SearchPathBlock/properties/categories") | | [inputs](#inputs-2) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-inputs-searchpathblock.md "Cardigann#/definitions/SearchPathBlock/properties/inputs") | | [inheritinputs](#inheritinputs) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-inherit-inputs.md "Cardigann#/definitions/SearchPathBlock/properties/inheritinputs") | | [queryseparator](#queryseparator) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-searchpathblock-properties-query-separator.md "Cardigann#/definitions/SearchPathBlock/properties/queryseparator") | | [response](#response) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-responseblock.md "Cardigann#/definitions/SearchPathBlock/properties/response") | ### path Search URL path. Templates and conditionals are allowed. `path` * is required * Type: `string` ([Path](schema-definitions-searchpathblock-properties-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-path.md "Cardigann#/definitions/SearchPathBlock/properties/path") #### path Type `string` ([Path](schema-definitions-searchpathblock-properties-path.md)) ### method HTTP method: get or post. Templates are allowed. Default: get. `method` * is optional * Type: `string` ([Method](schema-definitions-searchpathblock-properties-method.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-method.md "Cardigann#/definitions/SearchPathBlock/properties/method") #### method Type `string` ([Method](schema-definitions-searchpathblock-properties-method.md)) ### followredirect Follow redirects on search requests. If true, set a selector in login.test. Default: false. `followredirect` * is optional * Type: `boolean` ([Follow redirect](schema-definitions-searchpathblock-properties-follow-redirect.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-follow-redirect.md "Cardigann#/definitions/SearchPathBlock/properties/followredirect") #### followredirect Type `boolean` ([Follow redirect](schema-definitions-searchpathblock-properties-follow-redirect.md)) ### categories Only use this path if the search includes at least one of these tracker categories. A leading "!" inverts the match. `categories` * is optional * Type: an array of merged types ([Tracker category](schema-definitions-searchpathblock-properties-categories-searchpathblock-tracker-category.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-categories-searchpathblock.md "Cardigann#/definitions/SearchPathBlock/properties/categories") #### categories Type an array of merged types ([Tracker category](schema-definitions-searchpathblock-properties-categories-searchpathblock-tracker-category.md)) ### inputs Extra HTTP arguments for this path only. `inputs` * is optional * Type: `object` ([Inputs (SearchPathBlock)](schema-definitions-searchpathblock-properties-inputs-searchpathblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-inputs-searchpathblock.md "Cardigann#/definitions/SearchPathBlock/properties/inputs") #### inputs Type `object` ([Inputs (SearchPathBlock)](schema-definitions-searchpathblock-properties-inputs-searchpathblock.md)) ### inheritinputs Use the search-level inputs as the base for this path's inputs. Default: true. `inheritinputs` * is optional * Type: `boolean` ([Inherit inputs](schema-definitions-searchpathblock-properties-inherit-inputs.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-inherit-inputs.md "Cardigann#/definitions/SearchPathBlock/properties/inheritinputs") #### inheritinputs Type `boolean` ([Inherit inputs](schema-definitions-searchpathblock-properties-inherit-inputs.md)) ### queryseparator Query string separator. Default: &. `queryseparator` * is optional * Type: `string` ([Query separator](schema-definitions-searchpathblock-properties-query-separator.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-searchpathblock-properties-query-separator.md "Cardigann#/definitions/SearchPathBlock/properties/queryseparator") #### queryseparator Type `string` ([Query separator](schema-definitions-searchpathblock-properties-query-separator.md)) ### response Response type for non-HTML search results. Omit for HTML, which is the default. `response` * is optional * Type: `object` ([ResponseBlock](schema-definitions-responseblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-responseblock.md "Cardigann#/definitions/SearchPathBlock/properties/response") #### response Type `object` ([ResponseBlock](schema-definitions-responseblock.md)) ## Definitions group ResponseBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/ResponseBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :------------------------------------ | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [type](#type-3) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-responseblock-properties-type.md "Cardigann#/definitions/ResponseBlock/properties/type") | | [noResultsMessage](#noresultsmessage) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-responseblock-properties-no-results-message.md "Cardigann#/definitions/ResponseBlock/properties/noResultsMessage") | ### type json or xml. `type` * is required * Type: `string` ([Type](schema-definitions-responseblock-properties-type.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-responseblock-properties-type.md "Cardigann#/definitions/ResponseBlock/properties/type") #### type Type `string` ([Type](schema-definitions-responseblock-properties-type.md)) #### type Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :------- | :---------- | | `"json"` | | | `"xml"` | | ### noResultsMessage If the response contains this text, or is empty and this is an empty string, return zero results instead of an error. For sites that do not return an empty object or a zero count. `noResultsMessage` * is optional * Type: `string` ([No results message](schema-definitions-responseblock-properties-no-results-message.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-responseblock-properties-no-results-message.md "Cardigann#/definitions/ResponseBlock/properties/noResultsMessage") #### noResultsMessage Type `string` ([No results message](schema-definitions-responseblock-properties-no-results-message.md)) ## Definitions group RowsBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/RowsBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :------------------------------------------------------------------ | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [after](#after) | `integer` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-after.md "Cardigann#/definitions/RowsBlock/properties/after") | | [dateheaders](#dateheaders) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/RowsBlock/properties/dateheaders") | | [selector](#selector-4) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-selector.md "Cardigann#/definitions/RowsBlock/properties/selector") | | [attribute](#attribute-1) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-attribute.md "Cardigann#/definitions/RowsBlock/properties/attribute") | | [optional](#optional-1) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-optional.md "Cardigann#/definitions/RowsBlock/properties/optional") | | [multiple](#multiple) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-multiple.md "Cardigann#/definitions/RowsBlock/properties/multiple") | | [missingAttributeEqualsNoResults](#missingattributeequalsnoresults) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-missing-attribute-equals-no-results.md "Cardigann#/definitions/RowsBlock/properties/missingAttributeEqualsNoResults") | | [case](#case-1) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-case-rowsblock.md "Cardigann#/definitions/RowsBlock/properties/case") | | [remove](#remove-1) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-remove.md "Cardigann#/definitions/RowsBlock/properties/remove") | | [text](#text-1) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-text.md "Cardigann#/definitions/RowsBlock/properties/text") | | [filters](#filters-1) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowsblock-properties-filters-rowsblock.md "Cardigann#/definitions/RowsBlock/properties/filters") | | [count](#count) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/RowsBlock/properties/count") | ### after Row merging. Merge this many following elements into each row, for sites that use several elements per torrent (for example, collapsed rows). `after` * is optional * Type: `integer` ([After](schema-definitions-rowsblock-properties-after.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-after.md "Cardigann#/definitions/RowsBlock/properties/after") #### after Type `integer` ([After](schema-definitions-rowsblock-properties-after.md)) ### dateheaders Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `dateheaders` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/RowsBlock/properties/dateheaders") #### dateheaders Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ### selector Selector for the result rows. For JSON, $ refers to the root object. `selector` * is optional * Type: `string` ([Selector](schema-definitions-rowsblock-properties-selector.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-selector.md "Cardigann#/definitions/RowsBlock/properties/selector") #### selector Type `string` ([Selector](schema-definitions-rowsblock-properties-selector.md)) ### attribute JSON/XML only. Sub-element holding the torrents, when they are nested in each row. `attribute` * is optional * Type: `string` ([Attribute](schema-definitions-rowsblock-properties-attribute.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-attribute.md "Cardigann#/definitions/RowsBlock/properties/attribute") #### attribute Type `string` ([Attribute](schema-definitions-rowsblock-properties-attribute.md)) ### optional Do not fail if the selector does not match. `optional` * is optional * Type: `boolean` ([Optional](schema-definitions-rowsblock-properties-optional.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-optional.md "Cardigann#/definitions/RowsBlock/properties/optional") #### optional Type `boolean` ([Optional](schema-definitions-rowsblock-properties-optional.md)) ### multiple JSON/XML only. Each row holds several torrents (for example, one title with several releases). `multiple` * is optional * Type: `boolean` ([Multiple](schema-definitions-rowsblock-properties-multiple.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-multiple.md "Cardigann#/definitions/RowsBlock/properties/multiple") #### multiple Type `boolean` ([Multiple](schema-definitions-rowsblock-properties-multiple.md)) ### missingAttributeEqualsNoResults JSON/XML only. Return zero results instead of an error when attribute is missing. `missingAttributeEqualsNoResults` * is optional * Type: `boolean` ([Missing attribute equals no results](schema-definitions-rowsblock-properties-missing-attribute-equals-no-results.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-missing-attribute-equals-no-results.md "Cardigann#/definitions/RowsBlock/properties/missingAttributeEqualsNoResults") #### missingAttributeEqualsNoResults Type `boolean` ([Missing attribute equals no results](schema-definitions-rowsblock-properties-missing-attribute-equals-no-results.md)) ### case Selector: value pairs. The value of the first matching selector is used. `case` * is optional * Type: `object` ([Case (RowsBlock)](schema-definitions-rowsblock-properties-case-rowsblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-case-rowsblock.md "Cardigann#/definitions/RowsBlock/properties/case") #### case Type `object` ([Case (RowsBlock)](schema-definitions-rowsblock-properties-case-rowsblock.md)) ### remove Selector for elements to remove from each row. `remove` * is optional * Type: `string` ([Remove](schema-definitions-rowsblock-properties-remove.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-remove.md "Cardigann#/definitions/RowsBlock/properties/remove") #### remove Type `string` ([Remove](schema-definitions-rowsblock-properties-remove.md)) ### text Fixed value, or a template. `text` * is optional * Type: merged type ([Text](schema-definitions-rowsblock-properties-text.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-text.md "Cardigann#/definitions/RowsBlock/properties/text") #### text Type merged type ([Text](schema-definitions-rowsblock-properties-text.md)) one (and only one) of * [Text as string](schema-definitions-rowsblock-properties-text-oneof-text-as-string.md "check type definition") * [Text as number](schema-definitions-rowsblock-properties-text-oneof-text-as-number.md "check type definition") ### filters Row filters, for example, andmatch or strdump. `filters` * is optional * Type: `object[]` ([RowFilterBlock](schema-definitions-rowfilterblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowsblock-properties-filters-rowsblock.md "Cardigann#/definitions/RowsBlock/properties/filters") #### filters Type `object[]` ([RowFilterBlock](schema-definitions-rowfilterblock.md)) ### count Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `count` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/RowsBlock/properties/count") #### count Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ## Definitions group FieldsBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/FieldsBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----- | :------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `^_[A-Za-z0-9-_]*$` | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^_\[A-Za-z0-9-_]*$") | | `^((title\|description)\\|(append))?$` | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^((title\|description)\\\|(append))?$") | | `^((category\|categorydesc)\\|(noappend\|append))?$` | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^((category\|categorydesc)\\\|(noappend\|append))?$") | | `^(download\|magnet\|infohash\|details\|comments\|title\|description\|category\|categorydesc\|size\|leechers\|seeders\|date\|files\|grabs\|downloadvolumefactor\|uploadvolumefactor\|minimumratio\|minimumseedtime\|imdb\|imdbid\|tmdbid\|rageid\|tvdbid\|tvmazeid\|traktid\|doubanid\|poster\|genre\|year\|author\|booktitle\|publisher\|album\|artist\|label\|track)(_([A-Za-z0-9_])*)?$` | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^(download\|magnet\|infohash\|details\|comments\|title\|description\|category\|categorydesc\|size\|leechers\|seeders\|date\|files\|grabs\|downloadvolumefactor\|uploadvolumefactor\|minimumratio\|minimumseedtime\|imdb\|imdbid\|tmdbid\|rageid\|tvdbid\|tvmazeid\|traktid\|doubanid\|poster\|genre\|year\|author\|booktitle\|publisher\|album\|artist\|label\|track)(_(\[A-Za-z0-9_])*)?$") | ### Pattern: `^_[A-Za-z0-9-_]*$` Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `^_[A-Za-z0-9-_]*$` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^_\[A-Za-z0-9-_]*$") #### ^\_\[A-Za-z0-9-\_]\*$ Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ### Pattern: `^((title|description)\|(append))?$` Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `^((title|description)\|(append))?$` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^((title|description)\\|(append))?$") #### ^((title|description)\\|(append))?$ Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ### Pattern: `^((category|categorydesc)\|(noappend|append))?$` Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `^((category|categorydesc)\|(noappend|append))?$` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^((category|categorydesc)\\|(noappend|append))?$") #### ^((category|categorydesc)\\|(noappend|append))?$ Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ### Pattern: `^(download|magnet|infohash|details|comments|title|description|category|categorydesc|size|leechers|seeders|date|files|grabs|downloadvolumefactor|uploadvolumefactor|minimumratio|minimumseedtime|imdb|imdbid|tmdbid|rageid|tvdbid|tvmazeid|traktid|doubanid|poster|genre|year|author|booktitle|publisher|album|artist|label|track)(_([A-Za-z0-9_])*)?$` Extracts a value from a response using a CSS selector (HTML) or path (JSON/XML), then applies case, remove and filters. `^(download|magnet|infohash|details|comments|title|description|category|categorydesc|size|leechers|seeders|date|files|grabs|downloadvolumefactor|uploadvolumefactor|minimumratio|minimumseedtime|imdb|imdbid|tmdbid|rageid|tvdbid|tvmazeid|traktid|doubanid|poster|genre|year|author|booktitle|publisher|album|artist|label|track)(_([A-Za-z0-9_])*)?$` * is optional * Type: `object` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorblock.md "Cardigann#/definitions/FieldsBlock/patternProperties/^(download|magnet|infohash|details|comments|title|description|category|categorydesc|size|leechers|seeders|date|files|grabs|downloadvolumefactor|uploadvolumefactor|minimumratio|minimumseedtime|imdb|imdbid|tmdbid|rageid|tvdbid|tvmazeid|traktid|doubanid|poster|genre|year|author|booktitle|publisher|album|artist|label|track)(_(\[A-Za-z0-9_])*)?$") #### ^(download|magnet|infohash|details|comments|title|description|category|categorydesc|size|leechers|seeders|date|files|grabs|downloadvolumefactor|uploadvolumefactor|minimumratio|minimumseedtime|imdb|imdbid|tmdbid|rageid|tvdbid|tvmazeid|traktid|doubanid|poster|genre|year|author|booktitle|publisher|album|artist|label|track)(\_(\[A-Za-z0-9\_])\*)?$ Type `object` ([SelectorBlock](schema-definitions-selectorblock.md)) all of * [Default requires optional](schema-definitions-selectorblock-allof-default-requires-optional.md "check type definition") ## Definitions group DownloadBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/DownloadBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :------------------------ | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [method](#method-2) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-downloadblock-properties-method.md "Cardigann#/definitions/DownloadBlock/properties/method") | | [before](#before) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-beforeblock.md "Cardigann#/definitions/DownloadBlock/properties/before") | | [selectors](#selectors-1) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-downloadblock-properties-selectors.md "Cardigann#/definitions/DownloadBlock/properties/selectors") | | [infohash](#infohash) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-infohashblock.md "Cardigann#/definitions/DownloadBlock/properties/infohash") | | [headers](#headers-2) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-downloadblock-properties-headers-downloadblock.md "Cardigann#/definitions/DownloadBlock/properties/headers") | ### method HTTP method for the download: get or post. Default: get. `method` * is optional * Type: `string` ([Method](schema-definitions-downloadblock-properties-method.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-downloadblock-properties-method.md "Cardigann#/definitions/DownloadBlock/properties/method") #### method Type `string` ([Method](schema-definitions-downloadblock-properties-method.md)) ### before HTTP request sent before the download (for example, a 'thank you' page). `before` * is optional * Type: `object` ([BeforeBlock](schema-definitions-beforeblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-beforeblock.md "Cardigann#/definitions/DownloadBlock/properties/before") #### before Type `object` ([BeforeBlock](schema-definitions-beforeblock.md)) one (and only one) of * [Fixed path](schema-definitions-beforeblock-oneof-fixed-path.md "check type definition") * [Path from selector](schema-definitions-beforeblock-oneof-path-from-selector.md "check type definition") ### selectors If set, the search result download URL is fetched and parsed as HTML, and the first selector gives the actual download URL. Later selectors are fallbacks. `selectors` * is optional * Type: `object[]` ([SelectorBlock](schema-definitions-selectorblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-downloadblock-properties-selectors.md "Cardigann#/definitions/DownloadBlock/properties/selectors") #### selectors Type `object[]` ([SelectorBlock](schema-definitions-selectorblock.md)) ### infohash Builds a magnet URI from an infohash and title. Public and semi-private indexers only: private sites usually require their own tracker and have DHT disabled. `infohash` * is optional * Type: `object` ([InfoHashBlock](schema-definitions-infohashblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-infohashblock.md "Cardigann#/definitions/DownloadBlock/properties/infohash") #### infohash Type `object` ([InfoHashBlock](schema-definitions-infohashblock.md)) ### headers Extra HTTP headers sent with download requests. `headers` * is optional * Type: `object` ([Headers (DownloadBlock)](schema-definitions-downloadblock-properties-headers-downloadblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-downloadblock-properties-headers-downloadblock.md "Cardigann#/definitions/DownloadBlock/properties/headers") #### headers Type `object` ([Headers (DownloadBlock)](schema-definitions-downloadblock-properties-headers-downloadblock.md)) ## Definitions group BeforeBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/BeforeBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------------------- | :------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------- | | [path](#path-5) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-beforeblock-properties-path.md "Cardigann#/definitions/BeforeBlock/properties/path") | | [pathselector](#pathselector) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield.md "Cardigann#/definitions/BeforeBlock/properties/pathselector") | | [method](#method-3) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-beforeblock-properties-method.md "Cardigann#/definitions/BeforeBlock/properties/method") | | [inputs](#inputs-3) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-beforeblock-properties-inputs-beforeblock.md "Cardigann#/definitions/BeforeBlock/properties/inputs") | | [queryseparator](#queryseparator-1) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-beforeblock-properties-query-separator.md "Cardigann#/definitions/BeforeBlock/properties/queryseparator") | ### path Request target. `path` * is optional * Type: `string` ([Path](schema-definitions-beforeblock-properties-path.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-beforeblock-properties-path.md "Cardigann#/definitions/BeforeBlock/properties/path") #### path Type `string` ([Path](schema-definitions-beforeblock-properties-path.md)) ### pathselector Selector applied to the download page to get the download URL, hash or title. `pathselector` * is optional * Type: `object` ([SelectorField](schema-definitions-selectorfield.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield.md "Cardigann#/definitions/BeforeBlock/properties/pathselector") #### pathselector Type `object` ([SelectorField](schema-definitions-selectorfield.md)) ### method HTTP method: get or post. `method` * is optional * Type: `string` ([Method](schema-definitions-beforeblock-properties-method.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-beforeblock-properties-method.md "Cardigann#/definitions/BeforeBlock/properties/method") #### method Type `string` ([Method](schema-definitions-beforeblock-properties-method.md)) ### inputs HTTP arguments sent with the request, for example, id: "{{ .DownloadUri.Query.id }}". `inputs` * is optional * Type: `object` ([Inputs (BeforeBlock)](schema-definitions-beforeblock-properties-inputs-beforeblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-beforeblock-properties-inputs-beforeblock.md "Cardigann#/definitions/BeforeBlock/properties/inputs") #### inputs Type `object` ([Inputs (BeforeBlock)](schema-definitions-beforeblock-properties-inputs-beforeblock.md)) ### queryseparator Query string separator. Default: &. `queryseparator` * is optional * Type: `string` ([Query separator](schema-definitions-beforeblock-properties-query-separator.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-beforeblock-properties-query-separator.md "Cardigann#/definitions/BeforeBlock/properties/queryseparator") #### queryseparator Type `string` ([Query separator](schema-definitions-beforeblock-properties-query-separator.md)) ## Definitions group InfoHashBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/InfoHashBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------------------------------- | :-------- | :------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [hash](#hash) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield.md "Cardigann#/definitions/InfoHashBlock/properties/hash") | | [title](#title) | `object` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield.md "Cardigann#/definitions/InfoHashBlock/properties/title") | | [usebeforeresponse](#usebeforeresponse) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-infohashblock-properties-use-before-response.md "Cardigann#/definitions/InfoHashBlock/properties/usebeforeresponse") | ### hash Selector applied to the download page to get the download URL, hash or title. `hash` * is optional * Type: `object` ([SelectorField](schema-definitions-selectorfield.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield.md "Cardigann#/definitions/InfoHashBlock/properties/hash") #### hash Type `object` ([SelectorField](schema-definitions-selectorfield.md)) ### title Selector applied to the download page to get the download URL, hash or title. `title` * is optional * Type: `object` ([SelectorField](schema-definitions-selectorfield.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield.md "Cardigann#/definitions/InfoHashBlock/properties/title") #### title Type `object` ([SelectorField](schema-definitions-selectorfield.md)) ### usebeforeresponse Take hash and title from the page returned by the before request instead of the search result download link. Default: false. `usebeforeresponse` * is optional * Type: `boolean` ([Use before response](schema-definitions-infohashblock-properties-use-before-response.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-infohashblock-properties-use-before-response.md "Cardigann#/definitions/InfoHashBlock/properties/usebeforeresponse") #### usebeforeresponse Type `boolean` ([Use before response](schema-definitions-infohashblock-properties-use-before-response.md)) ## Definitions group SelectorField Reference this group by using ```json {"$ref":"Cardigann#/definitions/SelectorField"} ``` | Property | Type | Required | Nullable | Defined by | | :---------------------------------------- | :-------- | :------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [selector](#selector-5) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield-properties-selector.md "Cardigann#/definitions/SelectorField/properties/selector") | | [attribute](#attribute-2) | `string` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield-properties-attribute.md "Cardigann#/definitions/SelectorField/properties/attribute") | | [usebeforeresponse](#usebeforeresponse-1) | `boolean` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield-properties-use-before-response.md "Cardigann#/definitions/SelectorField/properties/usebeforeresponse") | | [filters](#filters-2) | `array` | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-selectorfield-properties-filters-selectorfield.md "Cardigann#/definitions/SelectorField/properties/filters") | ### selector Selector for the value. `selector` * is optional * Type: `string` ([Selector](schema-definitions-selectorfield-properties-selector.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield-properties-selector.md "Cardigann#/definitions/SelectorField/properties/selector") #### selector Type `string` ([Selector](schema-definitions-selectorfield-properties-selector.md)) ### attribute Take the value of this attribute (for example, href) instead of the element text. `attribute` * is optional * Type: `string` ([Attribute](schema-definitions-selectorfield-properties-attribute.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield-properties-attribute.md "Cardigann#/definitions/SelectorField/properties/attribute") #### attribute Type `string` ([Attribute](schema-definitions-selectorfield-properties-attribute.md)) ### usebeforeresponse Apply the selector to the page returned by the before request instead of the search result download link. Default: false. `usebeforeresponse` * is optional * Type: `boolean` ([Use before response](schema-definitions-selectorfield-properties-use-before-response.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield-properties-use-before-response.md "Cardigann#/definitions/SelectorField/properties/usebeforeresponse") #### usebeforeresponse Type `boolean` ([Use before response](schema-definitions-selectorfield-properties-use-before-response.md)) ### filters Filters applied to the extracted value, in order. `filters` * is optional * Type: `object[]` ([FilterBlock](schema-definitions-filterblock.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-selectorfield-properties-filters-selectorfield.md "Cardigann#/definitions/SelectorField/properties/filters") #### filters Type `object[]` ([FilterBlock](schema-definitions-filterblock.md)) ## Definitions group RowFilterBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/RowFilterBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | | [name](#name-2) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-rowfilterblock-properties-name.md "Cardigann#/definitions/RowFilterBlock/properties/name") | | [args](#args) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-rowfilterblock-properties-arguments.md "Cardigann#/definitions/RowFilterBlock/properties/args") | ### name andmatch: only return rows containing all search words. strdump: log each row's HTML (debugging). `name` * is required * Type: `string` ([Name](schema-definitions-rowfilterblock-properties-name.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowfilterblock-properties-name.md "Cardigann#/definitions/RowFilterBlock/properties/name") #### name Type `string` ([Name](schema-definitions-rowfilterblock-properties-name.md)) #### name Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :----------- | :---------- | | `"andmatch"` | | | `"strdump"` | | ### args Filter arguments. For andmatch, an optional maximum title length to compare, for sites that truncate names. `args` * is optional * Type: merged type ([Arguments](schema-definitions-rowfilterblock-properties-arguments.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-rowfilterblock-properties-arguments.md "Cardigann#/definitions/RowFilterBlock/properties/args") #### args Type merged type ([Arguments](schema-definitions-rowfilterblock-properties-arguments.md)) one (and only one) of * [Arguments as array (RowFilterBlock)](schema-definitions-rowfilterblock-properties-arguments-oneof-arguments-as-array-rowfilterblock.md "check type definition") * [Arguments as string](schema-definitions-rowfilterblock-properties-arguments-oneof-arguments-as-string.md "check type definition") * [Arguments as integer](schema-definitions-rowfilterblock-properties-arguments-oneof-arguments-as-integer.md "check type definition") ## Definitions group FilterBlock Reference this group by using ```json {"$ref":"Cardigann#/definitions/FilterBlock"} ``` | Property | Type | Required | Nullable | Defined by | | :-------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------ | | [name](#name-3) | `string` | Required | cannot be null | [Cardigann indexer definition](schema-definitions-filterblock-properties-name.md "Cardigann#/definitions/FilterBlock/properties/name") | | [args](#args-1) | Merged | Optional | cannot be null | [Cardigann indexer definition](schema-definitions-filterblock-properties-arguments.md "Cardigann#/definitions/FilterBlock/properties/args") | ### name Filter name. `name` * is required * Type: `string` ([Name](schema-definitions-filterblock-properties-name.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-filterblock-properties-name.md "Cardigann#/definitions/FilterBlock/properties/name") #### name Type `string` ([Name](schema-definitions-filterblock-properties-name.md)) #### name Constraints **enum**: the value of this property must be equal to one of the following values: | Value | Explanation | | :---------------- | :---------- | | `"querystring"` | | | `"timeparse"` | | | `"dateparse"` | | | `"regexp"` | | | `"re_replace"` | | | `"split"` | | | `"replace"` | | | `"trim"` | | | `"prepend"` | | | `"append"` | | | `"tolower"` | | | `"toupper"` | | | `"base64decode"` | | | `"base64encode"` | | | `"urldecode"` | | | `"urlencode"` | | | `"htmldecode"` | | | `"htmlencode"` | | | `"timeago"` | | | `"reltime"` | | | `"fuzzytime"` | | | `"validfilename"` | | | `"diacritics"` | | | `"jsonjoinarray"` | | | `"hexdump"` | | | `"strdump"` | | | `"validate"` | | ### args Filter arguments: a single value or a list, depending on the filter. `args` * is optional * Type: merged type ([Arguments](schema-definitions-filterblock-properties-arguments.md)) * cannot be null * defined in: [Cardigann indexer definition](schema-definitions-filterblock-properties-arguments.md "Cardigann#/definitions/FilterBlock/properties/args") #### args Type merged type ([Arguments](schema-definitions-filterblock-properties-arguments.md)) one (and only one) of * [Arguments as array (FilterBlock)](schema-definitions-filterblock-properties-arguments-oneof-arguments-as-array-filterblock.md "check type definition") * [Arguments as string](schema-definitions-filterblock-properties-arguments-oneof-arguments-as-string.md "check type definition") * [Arguments as integer](schema-definitions-filterblock-properties-arguments-oneof-arguments-as-integer.md "check type definition") ## Definitions group IndexerCategories Reference this group by using ```json {"$ref":"Cardigann#/definitions/IndexerCategories"} ``` | Property | Type | Required | Nullable | Defined by | | :------- | :--- | :------- | :------- | :--------- |