Kavita Filter API

The Filter API from Kavita — 11 operation(s) for filter.

Operations 12

POST /api/Filter/update/series Creates or Updates the Series filter #
POST /api/Filter/update/reading-list Creates or Updates the Reading List filter #
POST /api/Filter/update/person Creates or Updates the Person filter #
POST /api/Filter/update/annotation Creates or Updates the Reading List filter #
GET /api/Filter All Smart Filters for the authenticated user #
DELETE /api/Filter Delete the smart filter for the authenticated user #
POST /api/Filter/encode/series Encode a Series filter #
POST /api/Filter/encode/reading-list Encode a Reading List filter #
POST /api/Filter/encode/person Encode a Person Filter #
POST /api/Filter/encode/annotation Encode an Annotation Filter #
POST /api/Filter/decode Decodes the Filter #
POST /api/Filter/rename Rename a Smart Filter given the filterId and new name #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kavita:kavita-filter-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kavita-filter-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kavita Filter API
  description: Kavita provides a set of APIs authenticated via an Auth Key passed in the `x-api-key` header. Generate an Auth Key under User Settings → Manage Auth Keys, paste it into the Authorize panel, and all Try It requests will include it. Assume all fields of a payload are required unless marked optional. Built against v0.9.1.15
  license:
    name: GPL-3.0
    url: https://github.com/Kareadita/Kavita/blob/develop/LICENSE
  version: 0.9.1.15
servers:
- url: '{protocol}://{hostpath}'
  variables:
    protocol:
      default: http
      enum:
      - http
      - https
    hostpath:
      default: localhost:5000
security:
- AuthKey: []
tags:
- name: Filter
paths:
  /api/Filter/update/series:
    post:
      tags:
      - Filter
      summary: Creates or Updates the Series filter
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SeriesFilterV2Dto'
          text/json:
            schema:
              $ref: '#/components/schemas/SeriesFilterV2Dto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/SeriesFilterV2Dto'
      responses:
        '200':
          description: OK
      operationId: postApiFilterUpdateSeries
      x-operation-id-source: derived
  /api/Filter/update/reading-list:
    post:
      tags:
      - Filter
      summary: Creates or Updates the Reading List filter
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReadingListFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ReadingListFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ReadingListFilterDto'
      responses:
        '200':
          description: OK
      operationId: postApiFilterUpdateReadingList
      x-operation-id-source: derived
  /api/Filter/update/person:
    post:
      tags:
      - Filter
      summary: Creates or Updates the Person filter
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/PersonFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PersonFilterDto'
      responses:
        '200':
          description: OK
      operationId: postApiFilterUpdatePerson
      x-operation-id-source: derived
  /api/Filter/update/annotation:
    post:
      tags:
      - Filter
      summary: Creates or Updates the Reading List filter
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnotationFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/AnnotationFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/AnnotationFilterDto'
      responses:
        '200':
          description: OK
      operationId: postApiFilterUpdateAnnotation
      x-operation-id-source: derived
  /api/Filter:
    get:
      tags:
      - Filter
      summary: All Smart Filters for the authenticated user
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartFilterDto'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartFilterDto'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SmartFilterDto'
      operationId: getApiFilter
      x-operation-id-source: derived
    delete:
      tags:
      - Filter
      summary: Delete the smart filter for the authenticated user
      description: User must not be in Kavita.Models.Constants.PolicyConstants.ReadOnlyRole
      parameters:
      - name: filterId
        in: query
        description: ''
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
      operationId: deleteApiFilter
      x-operation-id-source: derived
  /api/Filter/encode/series:
    post:
      tags:
      - Filter
      summary: Encode a Series filter
      requestBody:
        description: This must be entityType Series
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SeriesFilterV2Dto'
          text/json:
            schema:
              $ref: '#/components/schemas/SeriesFilterV2Dto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/SeriesFilterV2Dto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
      operationId: postApiFilterEncodeSeries
      x-operation-id-source: derived
  /api/Filter/encode/reading-list:
    post:
      tags:
      - Filter
      summary: Encode a Reading List filter
      requestBody:
        description: This must be entityType ReadingList
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReadingListFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/ReadingListFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ReadingListFilterDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
      operationId: postApiFilterEncodeReadingList
      x-operation-id-source: derived
  /api/Filter/encode/person:
    post:
      tags:
      - Filter
      summary: Encode a Person Filter
      requestBody:
        description: This must be entityType Person
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/PersonFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/PersonFilterDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
      operationId: postApiFilterEncodePerson
      x-operation-id-source: derived
  /api/Filter/encode/annotation:
    post:
      tags:
      - Filter
      summary: Encode an Annotation Filter
      requestBody:
        description: This must be entityType Annotation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnotationFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/AnnotationFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/AnnotationFilterDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
      operationId: postApiFilterEncodeAnnotation
      x-operation-id-source: derived
  /api/Filter/decode:
    post:
      tags:
      - Filter
      summary: Decodes the Filter
      description: 'Decoded filter will always have the same shape of Kavita.Models.DTOs.Filtering.v2.IFilterDto`2.

        The concrete class is driven by `EntityType`.

        Classes: Kavita.Models.DTOs.Filtering.v2.Requests.SeriesFilterV2Dto, Kavita.Models.DTOs.Filtering.v2.Requests.PersonFilterDto, Kavita.Models.DTOs.Filtering.v2.Requests.AnnotationFilterDto, Kavita.Models.DTOs.Filtering.v2.Requests.ReadingListFilterDto'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DecodeFilterDto'
          text/json:
            schema:
              $ref: '#/components/schemas/DecodeFilterDto'
          application/*+json:
            schema:
              $ref: '#/components/schemas/DecodeFilterDto'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IFilterDto'
            application/json:
              schema:
                $ref: '#/components/schemas/IFilterDto'
            text/json:
              schema:
                $ref: '#/components/schemas/IFilterDto'
      operationId: postApiFilterDecode
      x-operation-id-source: derived
  /api/Filter/rename:
    post:
      tags:
      - Filter
      summary: Rename a Smart Filter given the filterId and new name
      parameters:
      - name: filterId
        in: query
        description: ''
        schema:
          type: integer
          format: int32
      - name: name
        in: query
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
      operationId: postApiFilterRename
      x-operation-id-source: derived
components:
  schemas:
    AnnotationFilterStatementDto:
      type: object
      properties:
        comparison:
          $ref: '#/components/schemas/FilterComparison'
        field:
          $ref: '#/components/schemas/AnnotationFilterField'
        value:
          type:
          - string
          - 'null'
      additionalProperties: false
    SmartFilterDto:
      required:
      - entityType
      - filter
      - name
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        filter:
          type:
          - string
          - 'null'
        entityType:
          $ref: '#/components/schemas/FilterEntityType'
      additionalProperties: false
    PersonSortOptionDto:
      type: object
      properties:
        sortField:
          $ref: '#/components/schemas/PersonSortField'
        isAscending:
          type: boolean
      additionalProperties: false
    AnnotationFilterField:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      type: integer
      description: 'Members:

        - `1` — Owner

        - `2` — Library

        - `3` — Spoiler

        - `4` — HighlightSlot

        - `5` — Selection

        - `6` — Comment

        - `7` — Series

        - `8` — Likes

        - `9` — LikedBy'
      format: int32
      x-enum-varnames:
      - Owner
      - Library
      - Spoiler
      - HighlightSlot
      - Selection
      - Comment
      - Series
      - Likes
      - LikedBy
      x-enum-descriptions:
      - Owner
      - Library
      - Spoiler
      - HighlightSlot
      - Selection
      - Comment
      - Series
      - Likes
      - LikedBy
    SeriesFilterV2Dto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        statements:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SeriesFilterStatementDto'
        combination:
          $ref: '#/components/schemas/FilterCombination'
        sortOptions:
          $ref: '#/components/schemas/SeriesSortOptionDto'
        entityType:
          $ref: '#/components/schemas/FilterEntityType'
        limitTo:
          type: integer
          format: int32
      additionalProperties: false
    AnnotationFilterDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        statements:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/AnnotationFilterStatementDto'
        combination:
          $ref: '#/components/schemas/FilterCombination'
        sortOptions:
          $ref: '#/components/schemas/AnnotationSortOptionDto'
        entityType:
          $ref: '#/components/schemas/FilterEntityType'
        limitTo:
          type: integer
          format: int32
      additionalProperties: false
    IFilterDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        combination:
          $ref: '#/components/schemas/FilterCombination'
        limitTo:
          type: integer
          format: int32
        entityType:
          $ref: '#/components/schemas/FilterEntityType'
      additionalProperties: false
    FilterCombination:
      enum:
      - 0
      - 1
      type: integer
      description: 'Members:

        - `0` — Or

        - `1` — And'
      format: int32
      x-enum-varnames:
      - Or
      - And
      x-enum-descriptions:
      - Or
      - And
    ReadingListSortOptionDto:
      type: object
      properties:
        sortField:
          $ref: '#/components/schemas/ReadingListSortField'
        isAscending:
          type: boolean
      additionalProperties: false
    ReadingListFilterStatementDto:
      type: object
      properties:
        comparison:
          $ref: '#/components/schemas/FilterComparison'
        field:
          $ref: '#/components/schemas/ReadingListFilterField'
        value:
          type:
          - string
          - 'null'
      additionalProperties: false
    PersonSortField:
      enum:
      - 1
      - 2
      - 3
      type: integer
      description: 'Members:

        - `1` — Name

        - `2` — SeriesCount

        - `3` — ChapterCount'
      format: int32
      x-enum-varnames:
      - Name
      - SeriesCount
      - ChapterCount
      x-enum-descriptions:
      - Name
      - SeriesCount
      - ChapterCount
    DecodeFilterDto:
      type: object
      properties:
        encodedFilter:
          type:
          - string
          - 'null'
      additionalProperties: false
    FilterEntityType:
      enum:
      - 0
      - 1
      - 2
      - 3
      type: integer
      description: 'Members:

        - `0` — Series

        - `1` — Reading List (ReadingList)

        - `2` — Person

        - `3` — Annotation'
      format: int32
      x-enum-varnames:
      - Series
      - ReadingList
      - Person
      - Annotation
      x-enum-descriptions:
      - Series
      - Reading List
      - Person
      - Annotation
    AnnotationSortOptionDto:
      type: object
      properties:
        sortField:
          $ref: '#/components/schemas/AnnotationSortField'
        isAscending:
          type: boolean
      additionalProperties: false
    FilterComparison:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      type: integer
      description: 'Members:

        - `0` — Equal

        - `1` — GreaterThan

        - `2` — GreaterThanEqual

        - `3` — LessThan

        - `4` — LessThanEqual

        - `5` — Contains

        - `6` — MustContains

        - `7` — Matches

        - `8` — NotContains

        - `9` — NotEqual

        - `10` — BeginsWith

        - `11` — EndsWith

        - `12` — IsBefore

        - `13` — IsAfter

        - `14` — IsInLast

        - `15` — IsNotInLast

        - `16` — IsEmpty

        - `17` — IsNotEmpty'
      format: int32
      x-enum-varnames:
      - Equal
      - GreaterThan
      - GreaterThanEqual
      - LessThan
      - LessThanEqual
      - Contains
      - MustContains
      - Matches
      - NotContains
      - NotEqual
      - BeginsWith
      - EndsWith
      - IsBefore
      - IsAfter
      - IsInLast
      - IsNotInLast
      - IsEmpty
      - IsNotEmpty
      x-enum-descriptions:
      - Equal
      - GreaterThan
      - GreaterThanEqual
      - LessThan
      - LessThanEqual
      - Contains
      - MustContains
      - Matches
      - NotContains
      - NotEqual
      - BeginsWith
      - EndsWith
      - IsBefore
      - IsAfter
      - IsInLast
      - IsNotInLast
      - IsEmpty
      - IsNotEmpty
    PersonFilterField:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      type: integer
      description: 'Members:

        - `1` — Role

        - `2` — Name

        - `3` — SeriesCount

        - `4` — ChapterCount

        - `5` — Library'
      format: int32
      x-enum-varnames:
      - Role
      - Name
      - SeriesCount
      - ChapterCount
      - Library
      x-enum-descriptions:
      - Role
      - Name
      - SeriesCount
      - ChapterCount
      - Library
    ReadingListFilterField:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      type: integer
      description: 'Members:

        - `1` — Title

        - `2` — ReleaseYear

        - `3` — ItemCount

        - `4` — Tags

        - `5` — Writer

        - `6` — Artist

        - `7` — Provider

        - `8` — MissingItemCount'
      format: int32
      x-enum-varnames:
      - Title
      - ReleaseYear
      - ItemCount
      - Tags
      - Writer
      - Artist
      - Provider
      - MissingItemCount
      x-enum-descriptions:
      - Title
      - ReleaseYear
      - ItemCount
      - Tags
      - Writer
      - Artist
      - Provider
      - MissingItemCount
    PersonFilterDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        statements:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/PersonFilterStatementDto'
        combination:
          $ref: '#/components/schemas/FilterCombination'
        sortOptions:
          $ref: '#/components/schemas/PersonSortOptionDto'
        entityType:
          $ref: '#/components/schemas/FilterEntityType'
        limitTo:
          type: integer
          format: int32
      additionalProperties: false
    SeriesFilterStatementDto:
      type: object
      properties:
        comparison:
          $ref: '#/components/schemas/FilterComparison'
        field:
          $ref: '#/components/schemas/SeriesFilterField'
        value:
          type:
          - string
          - 'null'
      additionalProperties: false
    SeriesSortOptionDto:
      type: object
      properties:
        sortField:
          $ref: '#/components/schemas/SeriesSortField'
        isAscending:
          type: boolean
      additionalProperties: false
    SeriesFilterField:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      - 18
      - 19
      - 20
      - 21
      - 22
      - 23
      - 24
      - 25
      - 26
      - 27
      - 28
      - 29
      - 30
      - 31
      - 32
      - 33
      - 34
      type: integer
      description: 'Members:

        - `0` — Summary

        - `1` — SeriesName

        - `2` — PublicationStatus

        - `3` — Languages

        - `4` — AgeRating

        - `5` — UserRating

        - `6` — Tags

        - `7` — CollectionTags

        - `8` — Translators

        - `9` — Characters

        - `10` — Publisher

        - `11` — Editor

        - `12` — CoverArtist

        - `13` — Letterer

        - `14` — Colorist

        - `15` — Inker

        - `16` — Penciller

        - `17` — Writers

        - `18` — Genres

        - `19` — Libraries

        - `20` — ReadProgress

        - `21` — Formats

        - `22` — ReleaseYear

        - `23` — ReadTime

        - `24` — Path

        - `25` — FilePath

        - `26` — WantToRead

        - `27` — ReadingDate

        - `28` — AverageRating

        - `29` — Imprint

        - `30` — Team

        - `31` — Location

        - `32` — ReadLast

        - `33` — FileSize

        - `34` — CollapseSeriesRelationships'
      format: int32
      x-enum-varnames:
      - Summary
      - SeriesName
      - PublicationStatus
      - Languages
      - AgeRating
      - UserRating
      - Tags
      - CollectionTags
      - Translators
      - Characters
      - Publisher
      - Editor
      - CoverArtist
      - Letterer
      - Colorist
      - Inker
      - Penciller
      - Writers
      - Genres
      - Libraries
      - ReadProgress
      - Formats
      - ReleaseYear
      - ReadTime
      - Path
      - FilePath
      - WantToRead
      - ReadingDate
      - AverageRating
      - Imprint
      - Team
      - Location
      - ReadLast
      - FileSize
      - CollapseSeriesRelationships
      x-enum-descriptions:
      - Summary
      - SeriesName
      - PublicationStatus
      - Languages
      - AgeRating
      - UserRating
      - Tags
      - CollectionTags
      - Translators
      - Characters
      - Publisher
      - Editor
      - CoverArtist
      - Letterer
      - Colorist
      - Inker
      - Penciller
      - Writers
      - Genres
      - Libraries
      - ReadProgress
      - Formats
      - ReleaseYear
      - ReadTime
      - Path
      - FilePath
      - WantToRead
      - ReadingDate
      - AverageRating
      - Imprint
      - Team
      - Location
      - ReadLast
      - FileSize
      - CollapseSeriesRelationships
    ReadingListFilterDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
        statements:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ReadingListFilterStatementDto'
        combination:
          $ref: '#/components/schemas/FilterCombination'
        sortOptions:
          $ref: '#/components/schemas/ReadingListSortOptionDto'
        entityType:
          $ref: '#/components/schemas/FilterEntityType'
        limitTo:
          type: integer
          format: int32
      additionalProperties: false
    ReadingListSortField:
      enum:
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: 'Members:

        - `1` — Title

        - `2` — ReleaseYearStart

        - `3` — ReleaseYearEnd

        - `4` — ItemCount'
      format: int32
      x-enum-varnames:
      - Title
      - ReleaseYearStart
      - ReleaseYearEnd
      - ItemCount
      x-enum-descriptions:
      - Title
      - ReleaseYearStart
      - ReleaseYearEnd
      - ItemCount
    AnnotationSortField:
      enum:
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: 'Members:

        - `1` — Owner

        - `2` — Created

        - `3` — LastModified

        - `4` — Color'
      format: int32
      x-enum-varnames:
      - Owner
      - Created
      - LastModified
      - Color
      x-enum-descriptions:
      - Owner
      - Created
      - LastModified
      - Color
    SeriesSortField:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      type: integer
      description: 'Members:

        - `1` — SortName

        - `2` — CreatedDate

        - `3` — LastModifiedDate

        - `4` — LastChapterAdded

        - `5` — TimeToRead

        - `6` — ReleaseYear

        - `7` — ReadProgress

        - `8` — AverageRating

        - `9` — Random

        - `10` — UserRating

        - `11` — UnreadChapterCount'
      format: int32
      x-enum-varnames:
      - SortName
      - CreatedDate
      - LastModifiedDate
      - LastChapterAdded
      - TimeToRead
      - ReleaseYear
      - ReadProgress
      - AverageRating
      - Random
      - UserRating
      - UnreadChapterCount
      x-enum-descriptions:
      - SortName
      - CreatedDate
      - LastModifiedDate
      - LastChapterAdded
      - TimeToRead
      - ReleaseYear
      - ReadProgress
      - AverageRating
      - Random
      - UserRating
      - UnreadChapterCount
    PersonFilterStatementDto:
      type: object
      properties:
        comparison:
          $ref: '#/components/schemas/FilterComparison'
        field:
          $ref: '#/components/schemas/PersonFilterField'
        value:
          type:
          - string
          - 'null'
      additionalProperties: false
  securitySchemes:
    AuthKey:
      type: apiKey
      description: Auth Key authentication. Enter your Auth key from your user settings
      name: x-api-key
      in: header