Elastic Path Search Indexes API

Search Indexes represent the indexed data for your catalog releases. Each time a catalog is published with search enabled, a search index is created containing the product data optimized for fast querying. ### Index Status The Search Indexes API allows you to view the status of your indexes and identify any that are out of sync. An index becomes out of sync when: - Indexable fields have been added, modified, or deleted - The index failed to build during catalog publishing - A reindex is required due to schema changes ### Monitoring Indexes Use the list endpoint to: - **View all indexes**: See all search indexes for your store - **Check sync status**: Identify indexes that need reindexing - **Filter by status**: Find only out-of-sync indexes using the `out_of_sync` query parameter ### Index Information Each search index includes: | Property | Description | |---------------|---------------------------------------------------------| | `catalog_id` | The ID of the catalog this index belongs to | | `release_id` | The ID of the catalog release this index was built from | | `out_of_sync` | Whether the index needs to be rebuilt | ### Reindexing When indexes are out of sync, use the reindex endpoint in [Jobs](/docs/api/pxm/catalog-search/jobs) to rebuild them. Reindexing ensures your search indexes reflect the current indexable field configuration.

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/elastic-path-search-indexes-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 email required.

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

OpenAPI Specification

elastic-path-search-indexes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: 25.1126.6886238
  x-version-timestamp: 2025-11-26 19:10:23+00:00
  title: Addresses Introduction Account Addresses Search Indexes API
  description: 'The Addresses API allows you to organize account addresses. Addresses are a sub-resource of `account` resources, an account can have multiple addresses, such as home, work, and neighbour.


    You can use an account address with either [client_credentials access token](/docs/api/authentication/create-an-access-token) or a combination of [implicit access token](/docs/api/authentication/create-an-access-token) and [Account Management authentication](/docs/api/accounts/post-v-2-account-members-tokens) token.

    '
  contact:
    name: Elastic Path
    url: https://www.elasticpath.com
    email: support@elasticpath.com
  license:
    url: https://elasticpath.dev
    name: MIT
servers:
- url: https://useast.api.elasticpath.com
  description: US East
- url: https://euwest.api.elasticpath.com
  description: EU West
security:
- BearerToken: []
tags:
- name: Search Indexes
  description: 'Search Indexes represent the indexed data for your catalog releases. Each time a catalog is published with search enabled, a search index is created containing the product data optimized for fast querying.


    ### Index Status


    The Search Indexes API allows you to view the status of your indexes and identify any that are out of sync. An index becomes out of sync when:


    - Indexable fields have been added, modified, or deleted

    - The index failed to build during catalog publishing

    - A reindex is required due to schema changes


    ### Monitoring Indexes


    Use the list endpoint to:


    - **View all indexes**: See all search indexes for your store

    - **Check sync status**: Identify indexes that need reindexing

    - **Filter by status**: Find only out-of-sync indexes using the `out_of_sync` query parameter


    ### Index Information


    Each search index includes:


    | Property      | Description                                             |

    |---------------|---------------------------------------------------------|

    | `catalog_id`  | The ID of the catalog this index belongs to             |

    | `release_id`  | The ID of the catalog release this index was built from |

    | `out_of_sync` | Whether the index needs to be rebuilt                   |


    ### Reindexing


    When indexes are out of sync, use the reindex endpoint in [Jobs](/docs/api/pxm/catalog-search/jobs) to rebuild them. Reindexing ensures your search indexes reflect the current indexable field configuration.

    '
paths:
  /pcm/catalogs/search-indexes:
    get:
      tags:
      - Search Indexes
      operationId: listSearchIndexes
      summary: List search indexes
      description: List search indexes.
      parameters:
      - name: out_of_sync
        in: query
        description: Filter search indexes by out of sync status
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: List search indexes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSearchIndexesResponse'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ResourceOwner:
      description: The resource owner, either `organization` or `store`.
      type: string
      example: organization
      enum:
      - organization
      - store
      x-go-type: tenancy.Owner
      x-go-type-import:
        path: gitlab.elasticpath.com/commerce-cloud/ncl-projects/paragon/catalog-search.svc/internal/domain/tenancy
    SearchIndexMeta:
      type: object
      required:
      - catalog_id
      - release_id
      - out_of_sync
      - owner
      properties:
        catalog_id:
          description: The ID of the catalog.
          type: string
          example: ac107ce9-96ac-4bd5-aa3d-59f40b91279b
          x-go-name: CatalogID
        release_id:
          description: The ID of the catalog release.
          type: string
          example: b2ddd253-d9bd-4344-a18b-581c1e0b25f8
          x-go-name: ReleaseID
        out_of_sync:
          description: Whether the search index is out of sync and needs to re-indexed.
          type: boolean
          example: false
        owner:
          $ref: '#/components/schemas/ResourceOwner'
    ListResponseMeta:
      type: object
      required:
      - results
      properties:
        results:
          $ref: '#/components/schemas/ListResponseMetaResults'
    SearchIndex:
      type: object
      required:
      - id
      - type
      - meta
      properties:
        id:
          description: The unique identifier for the search index.
          type: string
          format: uuid
          example: 805103ff-0a37-4f83-8fe0-95a16039bd98
          x-go-name: ID
        type:
          $ref: '#/components/schemas/SearchIndexType'
        meta:
          $ref: '#/components/schemas/SearchIndexMeta'
    ListResponseMetaResults:
      description: Contains the results for the entire collection.
      type: object
      required:
      - total
      properties:
        total:
          description: Total number of results for the entire collection.
          type: integer
          example: 100
    Error:
      required:
      - status
      - title
      properties:
        status:
          type: string
          description: The HTTP response code of the error.
          example: '500'
        title:
          type: string
          description: A brief summary of the error.
          example: Internal server error
        detail:
          type: string
          description: Optional additional detail about the error.
          example: An internal error has occurred.
        meta:
          type: object
          description: Additional supporting meta data for the error.
          example:
            missing_ids:
            - e7d50bd5-1833-43c0-9848-f9d325b08be8
    ListSearchIndexesResponse:
      type: object
      required:
      - data
      - meta
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SearchIndex'
        meta:
          $ref: '#/components/schemas/ListResponseMeta'
    SearchIndexType:
      description: Represents the type of object being returned. Always `catalog_search_index`.
      type: string
      example: catalog_search_index
      enum:
      - catalog_search_index
    ErrorResponse:
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
  responses:
    InternalServerError:
      description: Internal server error. There was a system failure in the platform.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            internal-server-error:
              value:
                errors:
                - title: Internal Server Error
                  status: '500'
  securitySchemes:
    BearerToken:
      type: http
      scheme: bearer