Karp API v7 — Lexical Resource Editing

The editing and query surface over Språkbanken Text's lexical resources — entry CRUD, entry history and diff, resource permissions, field statistics, and inflection-table generation for the SAOL and SO dictionaries. Institution-operated: the OpenAPI document is served directly from spraakbanken4.it.gu.se, a University of Gothenburg host, and anonymous GET /resources/ returned HTTP 200 with 1,042,817 bytes on 2026-09-01. HOSTLESS AS PUBLISHED — the upstream servers[] entry is the relative value `/karp/v7` and there is no info.contact, so nothing in the document itself names its operator; it was attributed by the host it is served from and re-based in openapi/, with the relative original preserved in openapi/_original/.

Operations 22

GET /entries/{resource_id}/{entry_id}/{version} Get entry history #
DELETE /entries/{resource_id}/{entry_id}/{version} Delete Entry #
GET /entries/{resource_id}/{entry_id} Get entry #
PUT /entries/{resource_id}/{entry_id} Add Entry With Id #
POST /entries/{resource_id}/{entry_id} Update Entry #
GET /entries/create_id Create Id #
PUT /entries/{resource_id} Add Entry #
POST /entries/{resource_id}/preview Preview Entry #
POST /history/diff/{resource_id}/{entry_id} Get Diff #
GET /history/{resource_id} Get History #
GET /query/entries/{resource_id}/{entry_ids} Get Entries By Id #
GET /query/stats/{resources} Get statistics for search #
GET /query/{resources} Search #
GET /resources/permissions List Resource Permissions #
GET /resources/ Get All Resources #
GET /resources/{resource_id} Get Resource By Resource Id #
GET /stats/{resource_id}/{field} Get Field Values #
GET /inflectionrules/inflection/generate_inflection_table Generate inflection table #
GET /inflectionrules_saol15/inflection/generate_inflection_table Generate inflection table #
GET /inflectionrules_saol15_20251202/inflection/generate_inflection_table Generate inflection table #
GET /inflectionrules_so-frys_20260122/inflection/generate_inflection_table Generate inflection table #
GET /salex/salex_spellcheck/spellcheck Spellcheck #

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/karp-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

university-of-gothenburg-karp-api-openapi.yml Raw ↑
# x-method: searched
# x-source-url: https://spraakbanken4.it.gu.se/karp/v7/openapi.json
# Written by API Evangelist for the api-evangelist/university-of-gothenburg repo on
# 2026-09-01. `x-method` uses the provenance-manifest vocabulary; the artifact's own
# `method:` key uses the enrichment-contract vocabulary. They are not in conflict.
openapi: 3.1.0
info:
  title: Karp API
  description: "Karp editing-mode API — the write and query surface over Språkbanken Text's lexical resources.\
    \ Institution-operated: the document is served directly from spraakbanken4.it.gu.se, a University\
    \ of Gothenburg host. HOSTLESS AS PUBLISHED: the upstream servers[] is the relative value `/karp/v7`.\
    \ Re-based here onto the absolute host the document was fetched from and verified live (GET /karp/v7/resources/\
    \ returned HTTP 200, 1,042,817 bytes of JSON, 2026-09-01). The relative original is preserved unchanged\
    \ in openapi/_original/.\n\n---\n\nUPSTREAM DESCRIPTION\n\nKarp is Språkbanken's tool for editing\
    \ structural data.\n\nThe\n        main goal of Karp is to be great for working with **lexical** data,\
    \ but will work with \n        other data as well.\n\n[Read more here](https://github.com/spraakbanken/karp-backend/blob/release/docs/index.md)"
  version: 7.0.0
  x-operator: institution
  x-institution: University of Gothenburg
  x-unit: Språkbanken Text (Department of Swedish, Multilingualism, Language Technology)
  x-provenance:
    generated: '2026-09-01'
    method: searched
    source: https://spraakbanken4.it.gu.se/karp/v7/openapi.json — Fetched 2026-09-01 from the Språkbanken
      Text API documentation index at https://ws.spraakbanken.gu.se/docs/ , which links each service's
      published OpenAPI document. The pristine copy as fetched is in openapi/_original/.
  x-rebased-servers: Upstream servers[] was relative; re-based onto https://spraakbanken4.it.gu.se/karp/v7,
    the absolute host this document was fetched from. Repair, not fabrication — the original is in openapi/_original/.
servers:
- url: https://spraakbanken4.it.gu.se/karp/v7
  description: Production server (re-based from a relative servers[] entry)
paths:
  /entries/{resource_id}/{entry_id}/{version}:
    get:
      tags:
      - History
      summary: Get entry history
      operationId: get_history_for_entry_entries__resource_id___entry_id___version__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: entry_id
        in: path
        required: true
        schema:
          examples:
          - 01BJQMF54D093DXEAWZ6JYRPAQ
          title: Entry Id
      - name: version
        in: path
        required: true
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Version
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryDto'
        '403':
          description: User does not have write access to resource
        '404':
          description: Resource do not exist
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Editing
      summary: Delete Entry
      description: Delete a entry from a resource.
      operationId: delete_entry_entries__resource_id___entry_id___version__delete
      security:
      - HTTPBearer: []
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: entry_id
        in: path
        required: true
        schema:
          examples:
          - 01BJQMF54D093DXEAWZ6JYRPAQ
          title: Entry Id
      - name: version
        in: path
        required: true
        schema:
          type: integer
          title: Version
      responses:
        '204':
          description: Successful Response
        '400':
          description: '

            ### Error codes

            - 30: Entry not found

            - 32: Entry not valid

            - 33: Version conflict

            - 61: Database integrity error

            '
        '403':
          description: User does not have write access to resource
        '404':
          description: Resource do not exist
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /entries/{resource_id}/{entry_id}:
    get:
      tags:
      - History
      summary: Get entry
      operationId: get_history_for_entry_entries__resource_id___entry_id__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: entry_id
        in: path
        required: true
        schema:
          examples:
          - 01BJQMF54D093DXEAWZ6JYRPAQ
          title: Entry Id
      - name: version
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Version
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryDto'
        '403':
          description: User does not have write access to resource
        '404':
          description: Resource do not exist
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Editing
      summary: Add Entry With Id
      description: "Add a new entry. For data consistency reasons, first generate an ID (ULID), for example\
        \ using the `create_id` API \n    call. If the request fails, use the same ID to try again, this\
        \ ensures that the entry body is not added several \n    times. Answers:\n    \n- `201 Created`\
        \ if the entry was created or already exists with the same body, at version 1\n- `400` \n    -\
        \ if the `entry_id` exists, but the body is different (error code 61)\n    - if the entry is not\
        \ valid according to resource settings (errror code 32)"
      operationId: add_entry_with_id_entries__resource_id___entry_id__put
      security:
      - HTTPBearer: []
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: entry_id
        in: path
        required: true
        schema:
          examples:
          - 01BJQMF54D093DXEAWZ6JYRPAQ
          title: Entry Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryAdd'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryAddResponse'
        '400':
          description: '

            ### Error codes

            - 30: Entry not found

            - 32: Entry not valid

            - 33: Version conflict

            - 61: Database integrity error

            '
        '403':
          description: User does not have write access to resource
        '404':
          description: Resource do not exist
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Editing
      summary: Update Entry
      operationId: update_entry_entries__resource_id___entry_id__post
      security:
      - HTTPBearer: []
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: entry_id
        in: path
        required: true
        schema:
          examples:
          - 01BJQMF54D093DXEAWZ6JYRPAQ
          title: Entry Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryAddResponse'
        '400':
          description: '

            ### Error codes

            - 30: Entry not found

            - 32: Entry not valid

            - 33: Version conflict

            - 61: Database integrity error

            '
        '403':
          description: User does not have write access to resource
        '404':
          description: Resource do not exist
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /entries/create_id:
    get:
      tags:
      - Editing
      summary: Create Id
      description: Create an ID (ULID) to be used as input for `add/<resource_id>/<entry_id>`.
      operationId: create_id_entries_create_id_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryAddResponse'
  /entries/{resource_id}:
    put:
      tags:
      - Editing
      summary: Add Entry
      description: Deprecated, use `add/<resource_id>/<entry_id>` instead.
      operationId: add_entry_entries__resource_id__put
      deprecated: true
      security:
      - HTTPBearer: []
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryAdd'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryAddResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /entries/{resource_id}/preview:
    post:
      tags:
      - Editing
      summary: Preview Entry
      operationId: preview_entry_entries__resource_id__preview_post
      security:
      - HTTPBearer: []
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntryPreview'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryPreviewResponse'
        '403':
          description: User does not have read access to resource
        '404':
          description: Resource do not exist
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /history/diff/{resource_id}/{entry_id}:
    post:
      tags:
      - History
      summary: Get Diff
      operationId: get_diff_history_diff__resource_id___entry_id__post
      security:
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: entry_id
        in: path
        required: true
        schema:
          examples:
          - 01BJQMF54D093DXEAWZ6JYRPAQ
          title: Entry Id
      - name: from_version
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: From Version
      - name: to_version
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: To Version
      - name: from_date
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: From Date
      - name: to_date
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: To Date
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - type: object
                additionalProperties: true
              - type: 'null'
              title: Entry
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryDiffDto'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /history/{resource_id}:
    get:
      tags:
      - History
      summary: Get History
      operationId: get_history_history__resource_id__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: User Id
      - name: entry_id
        in: query
        required: false
        schema:
          anyOf:
          - examples:
            - 01BJQMF54D093DXEAWZ6JYRPAQ
          - type: 'null'
          title: Entry Id
      - name: from_date
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: From Date
      - name: to_date
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          title: To Date
      - name: to_version
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: To Version
      - name: from_version
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: From Version
      - name: current_page
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Current Page
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          default: 100
          title: Page Size
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHistoryDto'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /query/entries/{resource_id}/{entry_ids}:
    get:
      tags:
      - Searching
      summary: Get Entries By Id
      description: Returns a list of entries matching the given ids
      operationId: Get_entries_by_id_query_entries__resource_id___entry_ids__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          description: The resource to perform operation on
          title: Resource Id
        description: The resource to perform operation on
      - name: entry_ids
        in: path
        required: true
        schema:
          type: string
          pattern: ^\w(,\w)*
          description: Comma-separated. The ids to perform operation on.
          title: Entry Ids
        description: Comma-separated. The ids to perform operation on.
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntriesByIdResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-openapi-router-order: 3
  /query/stats/{resources}:
    get:
      tags:
      - Searching
      summary: Get statistics for search
      description: Same as `/query`, but without returning the hits.
      operationId: query_stats_query_stats__resources__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resources
        in: path
        required: true
        schema:
          type: string
          pattern: ^[a-z_0-9\-]+(,[a-z_0-9\-]+)*$
          description: A comma-separated list of resource identifiers
          title: Resources
        description: A comma-separated list of resource identifiers
      - name: q
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: query
          description: "The query. If missing, the number of entries in the chosen resource(s) \n    \
            \        will be returned. See [Query DSL](#section/Query-DSL)"
        description: "The query. If missing, the number of entries in the chosen resource(s) \n      \
          \      will be returned. See [Query DSL](#section/Query-DSL)"
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryStatsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-openapi-router-order: 2
  /query/{resources}:
    get:
      tags:
      - Searching
      summary: Search
      description: Returns a list of entries matching the given query in the given resources. The results
        are mixed from the given resources.
      operationId: query_query__resources__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resources
        in: path
        required: true
        schema:
          type: string
          pattern: ^[a-z_0-9\-]+(,[a-z_0-9\-]+)*$
          description: A comma-separated list of resource identifiers
          title: Resources
        description: A comma-separated list of resource identifiers
      - name: q
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: query
          description: The query. If missing, all entries in chosen resource(s) will be returned. See
            [Searching](#section/Searching)
        description: The query. If missing, all entries in chosen resource(s) will be returned. See [Searching](#section/Searching)
      - name: from
        in: query
        required: false
        schema:
          type: integer
          description: Specify which entry should be the first returned.
          default: 0
          title: From
        description: Specify which entry should be the first returned.
      - name: size
        in: query
        required: false
        schema:
          type: integer
          description: Number of entries in page.
          default: 25
          title: Size
        description: Number of entries in page.
      - name: sort
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The `field` to sort by. If missing, default order for each resource will be used.
          title: Sort
        description: The `field` to sort by. If missing, default order for each resource will be used.
      - name: lexicon_stats
        in: query
        required: false
        schema:
          type: boolean
          description: Show the hit count per lexicon
          default: true
          title: Lexicon Stats
        description: Show the hit count per lexicon
      - name: path
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: "A dot-separataed path to for returning a specific field in JSON. \n        Only\
            \ supports one path down into the tree with no indexing.\n        For example, to fetch only\
            \ the field `baseform` in the entry, use: `?path=entry.baseform`\n        If the selected\
            \ field is an array, the result will also be wrapped in an array."
          title: Path
        description: "A dot-separataed path to for returning a specific field in JSON. \n        Only\
          \ supports one path down into the tree with no indexing.\n        For example, to fetch only\
          \ the field `baseform` in the entry, use: `?path=entry.baseform`\n        If the selected field\
          \ is an array, the result will also be wrapped in an array."
      - name: highlight
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/HighlightParam'
          description: "Adds which fields the query matched and a small hit context with `<em>` wrapped\
            \ around the match.\n                        For compatibility reasons the values are true/new/false.\
            \ true gives an older version of the highlight and\n                        new gives the\
            \ future format, which includes indices for lists."
          default: 'false'
        description: "Adds which fields the query matched and a small hit context with `<em>` wrapped\
          \ around the match.\n                        For compatibility reasons the values are true/new/false.\
          \ true gives an older version of the highlight and\n                        new gives the future\
          \ format, which includes indices for lists."
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-openapi-router-order: 1
  /resources/permissions:
    get:
      tags:
      - Resources
      summary: List Resource Permissions
      operationId: list_resource_permissions_resources_permissions_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ResourcePermissionDto'
                type: array
                title: Response List Resource Permissions Resources Permissions Get
  /resources/:
    get:
      tags:
      - Resources
      summary: Get All Resources
      operationId: get_all_resources_resources__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ResourceProtected'
                type: array
                title: Response Get All Resources Resources  Get
  /resources/{resource_id}:
    get:
      tags:
      - Resources
      summary: Get Resource By Resource Id
      operationId: get_resource_by_resource_id_resources__resource_id__get
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourcePublic'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /stats/{resource_id}/{field}:
    get:
      tags:
      - Statistics
      summary: Get Field Values
      description: Return all possible values for `<field>` in `<resource_id>`
      operationId: get_field_values_stats__resource_id___field__get
      security:
      - APIKeyQuery: []
      parameters:
      - name: resource_id
        in: path
        required: true
        schema:
          type: string
          title: Resource Id
      - name: field
        in: path
        required: true
        schema:
          type: string
          title: Field
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatisticsDto'
                title: Response Get Field Values Stats  Resource Id   Field  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /inflectionrules/inflection/generate_inflection_table:
    get:
      tags:
      - Plugins
      summary: Generate inflection table
      description: Given a lemma and an inflection class, generate an inflection table.
      operationId: generate_inflection_table_inflectionrules_inflection_generate_inflection_table_get
      security:
      - APIKeyQuery: []
      parameters:
      - name: lemma
        in: query
        required: true
        schema:
          type: string
          title: Lemma
      - name: inflection_class
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Inflection Class
      - name: wordforms
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Wordforms
      - name: exclude_wordforms
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Exclude Wordforms
      - name: kind
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Kind
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items: {}
                title: Response Generate Inflection Table Inflectionrules Inflection Generate Inflection
                  Table Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /inflectionrules_saol15/inflection/generate_inflection_table:
    get:
      tags:
      - Plugins
      summary: Generate inflection table
      description: Given a lemma and an inflection class, generate an inflection table.
      operationId: generate_inflection_table_inflectionrules_saol15_inflection_generate_inflection_table_get
      security:
      - APIKeyQuery: []
      parameters:
      - name: lemma
        in: query
        required: true
        schema:
          type: string
          title: Lemma
      - name: inflection_class
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Inflection Class
      - name: wordforms
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Wordforms
      - name: exclude_wordforms
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Exclude Wordforms
      - name: kind
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Kind
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items: {}
                title: Response Generate Inflection Table Inflectionrules Saol15 Inflection Generate Inflection
                  Table Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /inflectionrules_saol15_20251202/inflection/generate_inflection_table:
    get:
      tags:
      - Plugins
      summary: Generate inflection table
      description: Given a lemma and an inflection class, generate an inflection table.
      operationId: generate_inflection_table_inflectionrules_saol15_20251202_inflection_generate_inflection_table_get
      security:
      - APIKeyQuery: []
      parameters:
      - name: lemma
        in: query
        required: true
        schema:
          type: string
          title: Lemma
      - name: inflection_class
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Inflection Class
      - name: wordforms
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Wordforms
      - name: exclude_wordforms
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Exclude Wordforms
      - name: kind
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Kind
      - name: authorization
        in: header
        required: false
        schema:
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items: {}
                title: Response Generate Inflection Table Inflectionrules Saol15 20251202 Inf

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-gothenburg/refs/heads/main/openapi/university-of-gothenburg-karp-api-openapi.yml