Amazon Kendra Thesaurus API

Operations for managing custom synonyms

Operations 6

POST /indexes/{IndexId}/thesaurus Amazon Kendra Create Thesaurus #
GET /indexes/{IndexId}/thesaurus Amazon Kendra List Thesauri #
POST /#CreateThesaurus Create Thesaurus #
POST /#DeleteThesaurus Delete Thesaurus #
POST /#DescribeThesaurus Describe Thesaurus #
POST /#UpdateThesaurus Update Thesaurus #

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/amazon-kendra:amazon-kendra-thesaurus-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

amazon-kendra-thesaurus-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon Kendra Thesaurus API
  version: '2019-02-03'
  x-refined-note:
  - x-logo differs across the merged source definitions and was not carried
  description: 'Operations tagged Thesaurus across 2 of this provider''s published API definitions: amazon-kendra-openapi.yml, amazon-kendra-thesaurus-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://kendra.{region}.amazonaws.com
  description: Amazon Kendra regional endpoint
  variables:
    region:
      default: us-east-1
      description: AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-2
      - eu-west-1
      - ap-southeast-1
      - ap-southeast-2
      - ap-northeast-1
security:
- sigv4: []
tags:
- name: Thesaurus
  description: Operations for managing custom synonyms
paths:
  /indexes/{IndexId}/thesaurus:
    post:
      operationId: CreateThesaurus
      summary: Amazon Kendra Create Thesaurus
      description: Creates a thesaurus for an index. The thesaurus contains a list of synonyms in Solr format.
      tags:
      - Thesaurus
      parameters:
      - name: IndexId
        in: path
        required: true
        schema:
          type: string
        description: The identifier of the index.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - Name
              - RoleArn
              - SourceS3Path
              properties:
                Name:
                  type: string
                  description: The name for the thesaurus.
                  example: example-value
                RoleArn:
                  type: string
                  description: An IAM role that gives Kendra permissions to access thesaurus file.
                  example: example-value
                SourceS3Path:
                  type: object
                  description: The S3 path where your thesaurus file sits in S3.
                Description:
                  type: string
                  description: The description for the thesaurus.
      responses:
        '200':
          description: Success
        '400':
          description: Bad request - invalid input parameters
        '403':
          description: Access denied - insufficient permissions
        '500':
          description: Internal server error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: ListThesauri
      summary: Amazon Kendra List Thesauri
      description: Lists the thesauri for an index.
      tags:
      - Thesaurus
      parameters:
      - name: IndexId
        in: path
        required: true
        schema:
          type: string
        description: The identifier of the index.
      responses:
        '200':
          description: Success
        '400':
          description: Bad request - invalid input parameters
        '403':
          description: Access denied - insufficient permissions
        '500':
          description: Internal server error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://kendra.{region}.amazonaws.com
      description: Amazon Kendra regional endpoint
      variables:
        region:
          default: us-east-1
          description: AWS region
          enum:
          - us-east-1
          - us-east-2
          - us-west-2
          - eu-west-1
          - ap-southeast-1
          - ap-southeast-2
          - ap-northeast-1
  /#CreateThesaurus:
    post:
      operationId: post#CreateThesaurus
      summary: Create Thesaurus
      description: Creates a thesaurus for an index. The thesaurus contains a list of synonyms in Solr format. For an example of adding a thesaurus file to an index, see Adding custom synonyms to an index.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreateThesaurusResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSKendraFrontendService.CreateThesaurus
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreateThesaurusRequest'
      tags:
      - Thesaurus
      x-operation-id-source: normalized
      x-operation-id-original: CreateThesaurus
    servers:
    - url: https://kendra.{region}.amazonaws.com
      variables:
        region:
          default: us-east-1
  /#DeleteThesaurus:
    post:
      operationId: DeleteThesaurus
      summary: Delete Thesaurus
      description: Deletes an Amazon Kendra thesaurus.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                type: string
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSKendraFrontendService.DeleteThesaurus
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteThesaurusRequest'
      tags:
      - Thesaurus
    servers:
    - url: https://kendra.{region}.amazonaws.com
      variables:
        region:
          default: us-east-1
  /#DescribeThesaurus:
    post:
      operationId: DescribeThesaurus
      summary: Describe Thesaurus
      description: Gets information about an Amazon Kendra thesaurus.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DescribeThesaurusResponse'
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSKendraFrontendService.DescribeThesaurus
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DescribeThesaurusRequest'
      tags:
      - Thesaurus
    servers:
    - url: https://kendra.{region}.amazonaws.com
      variables:
        region:
          default: us-east-1
  /#UpdateThesaurus:
    post:
      operationId: UpdateThesaurus
      summary: Update Thesaurus
      description: Updates a thesaurus for an index.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                type: string
        '403':
          description: AccessDeniedException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ValidationException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSKendraFrontendService.UpdateThesaurus
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/UpdateThesaurusRequest'
      tags:
      - Thesaurus
    servers:
    - url: https://kendra.{region}.amazonaws.com
      variables:
        region:
          default: us-east-1
components:
  schemas:
    DescribeThesaurusRequest:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the thesaurus you want to get information on.
        IndexId:
          type: string
          description: The identifier of the index for the thesaurus.
      required:
      - Id
      - IndexId
    Tag:
      type: object
      properties:
        Key:
          type: string
          description: The key for the tag. Keys are not case sensitive and must be unique for the index, FAQ, data source, or other resource.
        Value:
          type: string
          description: The value associated with the tag. The value may be an empty string but it can't be null.
      required:
      - Key
      - Value
    ConflictException:
      type: object
      properties:
        Message:
          type: string
    UpdateThesaurusRequest:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the thesaurus you want to update.
        Name:
          type: string
          description: A new name for the thesaurus.
        IndexId:
          type: string
          description: The identifier of the index for the thesaurus.
        Description:
          type: string
          description: A new description for the thesaurus.
        RoleArn:
          type: string
          description: An IAM role that gives Amazon Kendra permissions to access thesaurus file specified in SourceS3Path.
        SourceS3Path:
          $ref: '#/components/schemas/S3Path'
      required:
      - Id
      - IndexId
    ServiceQuotaExceededException:
      type: object
      properties:
        Message:
          type: string
    InternalServerException:
      type: object
      properties:
        Message:
          type: string
    DeleteThesaurusRequest:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the thesaurus you want to delete.
        IndexId:
          type: string
          description: The identifier of the index for the thesaurus.
      required:
      - Id
      - IndexId
    CreateThesaurusResponse:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the thesaurus.
    DescribeThesaurusResponse:
      type: object
      properties:
        Id:
          type: string
          description: The identifier of the thesaurus.
        IndexId:
          type: string
          description: The identifier of the index for the thesaurus.
        Name:
          type: string
          description: The thesaurus name.
        Description:
          type: string
          description: The thesaurus description.
        Status:
          type: string
          enum:
          - CREATING
          - ACTIVE
          - DELETING
          - UPDATING
          - ACTIVE_BUT_UPDATE_FAILED
          - FAILED
          description: The current status of the thesaurus. When the value is ACTIVE, queries are able to use the thesaurus. If the Status field value is FAILED, the ErrorMessage field provides more information. If the status is ACTIVE_BUT_UPDATE_FAILED, it means that Amazon Kendra could not ingest the new thesaurus file. The old thesaurus file is still active.
        ErrorMessage:
          type: string
          description: When the Status field value is FAILED, the ErrorMessage field provides more information.
        CreatedAt:
          type: string
          format: date-time
          description: The Unix timestamp when the thesaurus was created.
        UpdatedAt:
          type: string
          format: date-time
          description: The Unix timestamp when the thesaurus was last updated.
        RoleArn:
          type: string
          description: An IAM role that gives Amazon Kendra permissions to access thesaurus file specified in SourceS3Path.
        SourceS3Path:
          $ref: '#/components/schemas/S3Path'
        FileSizeBytes:
          type: integer
          description: The size of the thesaurus file in bytes.
        TermCount:
          type: integer
          description: The number of unique terms in the thesaurus file. For example, the synonyms a,b,c and a=>d, the term count would be 4.
        SynonymRuleCount:
          type: integer
          description: The number of synonym rules in the thesaurus file.
    AccessDeniedException:
      type: object
      properties:
        Message:
          type: string
    ResourceNotFoundException:
      type: object
      properties:
        Message:
          type: string
    S3Path:
      type: object
      properties:
        Bucket:
          type: string
          description: The name of the S3 bucket that contains the file.
        Key:
          type: string
          description: The name of the file.
      required:
      - Bucket
      - Key
    ValidationException:
      type: object
      properties:
        Message:
          type: string
    ThrottlingException:
      type: object
      properties:
        Message:
          type: string
    CreateThesaurusRequest:
      type: object
      properties:
        IndexId:
          type: string
          description: The identifier of the index for the thesaurus.
        Name:
          type: string
          description: A name for the thesaurus.
        Description:
          type: string
          description: A description for the thesaurus.
        RoleArn:
          type: string
          description: The Amazon Resource Name (ARN) of an IAM role with permission to access your S3 bucket that contains the thesaurus file. For more information, see IAM access roles for Amazon Kendra.
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: 'A list of key-value pairs that identify or categorize the thesaurus. You can also use tags to help control access to the thesaurus. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.'
        SourceS3Path:
          $ref: '#/components/schemas/S3Path'
        ClientToken:
          type: string
          description: A token that you provide to identify the request to create a thesaurus. Multiple calls to the CreateThesaurus API with the same client token will create only one thesaurus.
      required:
      - IndexId
      - Name
      - RoleArn
      - SourceS3Path
  securitySchemes:
    sigv4:
      type: apiKey
      name: Authorization
      in: header
      description: AWS Signature Version 4 authentication
x-refined-from:
- amazon-kendra-openapi.yml
- amazon-kendra-thesaurus-api-openapi.yml