Azure AI Search REST API

Azure AI Search provides REST APIs for creating and managing search indexes, loading documents, running full-text and vector queries, configuring AI enrichment pipelines with skillsets, and managing indexers for automatic data ingestion from Azure data sources.

OpenAPI Specification

microsoft-azure-search-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure AI Search REST API
  description: Azure AI Search (formerly Cognitive Search) REST API enables managing indexes, indexers,
    data sources, skillsets, synonym maps, and querying documents.
  version: '2024-07-01'
externalDocs:
  description: Azure AI Search REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/searchservice/
servers:
- url: https://{search-service}.search.windows.net
  variables:
    search-service:
      default: myservice
tags:
- name: Indexes
- name: Documents
- name: Indexers
- name: Data Sources
security:
- apiKey: []
paths:
  /indexes:
    get:
      operationId: listIndexes
      summary: Search List indexes
      description: Lists all indexes.
      tags:
      - Indexes
      parameters:
      - name: api-version
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Index list
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createIndex
      summary: Search Create index
      description: Creates a new search index.
      tags:
      - Indexes
      parameters:
      - name: api-version
        in: query
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                fields:
                  type: array
                  items:
                    type: object
      responses:
        '201':
          description: Index created
          content:
            application/json:
              schema:
                type: object
  /indexes('{indexName}'):
    parameters:
    - name: indexName
      in: path
      required: true
      schema:
        type: string
    - name: api-version
      in: query
      required: true
      schema:
        type: string
    get:
      operationId: getIndex
      summary: Search Get index
      description: Gets index definition.
      tags:
      - Indexes
      responses:
        '200':
          description: Index
          content:
            application/json:
              schema:
                type: object
    put:
      operationId: createOrUpdateIndex
      summary: Search Create or update index
      description: Creates or updates an index.
      tags:
      - Indexes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Updated
        '201':
          description: Created
    delete:
      operationId: deleteIndex
      summary: Search Delete index
      description: Deletes an index.
      tags:
      - Indexes
      responses:
        '204':
          description: Deleted
  /indexes('{indexName}')/docs/search.index:
    parameters:
    - name: indexName
      in: path
      required: true
      schema:
        type: string
    - name: api-version
      in: query
      required: true
      schema:
        type: string
    post:
      operationId: indexDocuments
      summary: Search Index documents
      description: Adds, merges, or deletes documents in an index.
      tags:
      - Documents
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  type: array
                  items:
                    type: object
      responses:
        '200':
          description: Indexing result
          content:
            application/json:
              schema:
                type: object
  /indexes('{indexName}')/docs:
    parameters:
    - name: indexName
      in: path
      required: true
      schema:
        type: string
    - name: api-version
      in: query
      required: true
      schema:
        type: string
    get:
      operationId: searchDocuments
      summary: Search Search documents
      description: Searches documents in an index.
      tags:
      - Documents
      parameters:
      - name: search
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                type: object
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: api-key
x-generated-from: https://learn.microsoft.com/en-us/rest/api/searchservice/
x-generated-by: claude-crawl-2026-05-08