Nacelle Index API

The index API from Nacelle — 4 operation(s) for index.

Operations 5

GET /index Read indexes status #
POST /index Start an index #
POST /index/cancel Cancel all running indexes for a source #
POST /index/clear Clear all entries of specified entry types #
POST /index/{indexId}/finish Finishes an index #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-credentials-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-token-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-issue-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-issue-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-token-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-credentials-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-order-checkout-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-multi-order-checkout-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-fulfillment-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-fulfillment-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-order-item-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-address-create-schema.json

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/nacelle:nacelle-index-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

nacelle-index-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ingest Index API
  version: 1.0.0
  description: This is the documentation for the Ingest API.
servers:
- url: https://ingest.api.nacelle.com/v1/
  description: Ingest API Development server
tags:
- name: Index
paths:
  /index:
    get:
      tags:
      - Index
      summary: Read indexes status
      description: 'The _**index**_ endpoint allows checking the status of indexes for a given source.


        When errors occur during index processing, details may be provided via the `errors` field.'
      parameters:
      - name: x-nacelle-space-id
        in: header
        description: The unique identifier of the Nacelle space
        required: true
        schema:
          type: string
          example: 00000000-0000-0000-0000-000000000000
      - name: x-nacelle-source-id
        in: header
        description: The unique identifier of the source within the space
        required: true
        schema:
          type: string
          example: 00000000-0000-0000-0000-000000000000
      - name: x-nacelle-ingest-token
        in: header
        description: The authentication token for Nacelle Ingest
        required: true
        schema:
          type: string
          example: 00000000-0000-0000-0000-000000000000
      responses:
        '200':
          description: Index statuses
          content:
            application/json:
              examples:
                IndexStatuses:
                  summary: Index Statuses listed
                  value:
                  - indexId: 00000000-0000-0000-0000-000000000000
                    sourceId: 00000000-0000-0000-0000-000000000000
                    status: index_complete
                    numEntriesCreated: 100
                    indexVersion: 1
                    createdAt: '2023-09-16T00:00:00'
                    updatedAt: '2023-09-16T00:00:00'
                    entryTypes:
                    - PRODUCT
                    - PRODUCT_CONTENT
                    - PRODUCT_VARIANT
                    - PRODUCT_VARIANT_CONTENT
                    - CONTENT
                    - COLLECTION
                    - COLLECTION_CONTENT
                    - PRICE_BOOK
                    - PRICING
                    - CUSTOM_SCHEMA
                    errors: null
        '404':
          description: Not found
          content:
            application/json:
              examples:
                NotFoundExample:
                  summary: Not Found
                  value:
                    reason: Source not found.
        '500':
          description: Internal Error
          content:
            application/json:
              examples:
                InternalErrorExample:
                  summary: Internal Error
                  value:
                    error: Internal Error
                    reason: An internal error occurred. Please read https://docs.getnacelle.com/ for more information.
      operationId: getIndex
      x-operation-id-source: derived
    post:
      tags:
      - Index
      summary: Start an index
      description: 'The _**start**_ endpoint allows to start an index for specific `entryTypes`.

        If successful, the response will contain an `indexId` which can subsequently

        be used to ingest entries, finish or cancel the index.'
      parameters:
      - $ref: '#/paths/~1index/get/parameters/0'
      - $ref: '#/paths/~1index/get/parameters/1'
      - $ref: '#/paths/~1index/get/parameters/2'
      requestBody:
        content:
          application/json:
            examples:
              test:
                summary: Start an index for PRODUCT and CONTENT entry types
                value:
                  entryTypes:
                  - PRODUCT
                  - CONTENT
            schema:
              type: object
              properties:
                entryTypes:
                  type: array
                  items:
                    type: string
                    enum:
                    - COLLECTION
                    - COLLECTION_CONTENT
                    - CONTENT
                    - PRICE_BOOK
                    - PRICING
                    - PRODUCT
                    - PRODUCT_CONTENT
                    - PRODUCT_VARIANT
                    - PRODUCT_VARIANT_CONTENT
                    - CUSTOM_SCHEMA
      responses:
        '200':
          description: Index Created
          content:
            application/json:
              examples:
                IndexCreated:
                  summary: Index Created
                  value:
                    message: Index Created
                    indexId: 00000000-0000-0000-0000-000000000000
        '400':
          description: Bad request
          content:
            application/json:
              examples:
                BadRequestExample:
                  summary: Bad Request
                  value:
                    error: Bad Request
                    errors:
                    - target: {}
                      property: entryTypes
                      children: []
                      constraints:
                        arrayMinSize: entryTypes must contain at least 1 elements
                        isArray: entryTypes must be an array
        '500':
          $ref: '#/paths/~1index/get/responses/500'
      operationId: postIndex
      x-operation-id-source: derived
  /index/cancel:
    post:
      tags:
      - Index
      summary: Cancel all running indexes for a source
      description: The _**cancel**_ endpoint allows to cancel all in-flight indexes for the given sourceId header.
      parameters:
      - $ref: '#/paths/~1index/get/parameters/0'
      - $ref: '#/paths/~1index/get/parameters/1'
      - $ref: '#/paths/~1index/get/parameters/2'
      responses:
        '200':
          description: Index cancelled
          content:
            application/json:
              examples:
                IndexCancelled:
                  summary: Index cancelled
                  value:
                    message: Index cancelled
        '304':
          description: Not modified
          content:
            application/json:
              examples:
                NotFoundExample:
                  summary: Not Modified
                  value:
                    message: No indexes to cancel
        '500':
          $ref: '#/paths/~1index/get/responses/500'
      operationId: postIndexCancel
      x-operation-id-source: derived
  /index/clear:
    post:
      tags:
      - Index
      summary: Clear all entries of specified entry types
      description: The _**clear**_ endpoint allows you to remove all entries of specified `entryType`s for a source in a Nacelle space.
      parameters:
      - $ref: '#/paths/~1index/get/parameters/0'
      - $ref: '#/paths/~1index/get/parameters/1'
      - $ref: '#/paths/~1index/get/parameters/2'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                entryTypes:
                  type: array
                  items:
                    $ref: '#/paths/~1index/post/requestBody/content/application~1json/schema/properties/entryTypes/items'
      responses:
        '200':
          description: Index cleared
          content:
            application/json:
              examples:
                IndexCleared:
                  summary: Index cleared
                  value:
                    message: Index cleared
        '400':
          $ref: '#/paths/~1index/post/responses/400'
        '404':
          $ref: '#/paths/~1index/get/responses/404'
        '409':
          description: Conflict
          content:
            application/json:
              examples:
                ConflictExample:
                  summary: Conflict Error
                  value:
                    error: Conflict
                    reason: Cannot clear index that is in progress. Please read https://docs.getnacelle.com/ for more information.
                    incompleteIndex:
                      indexId: 49f0352a-e1ab-40f7-9385-2876b696fdd8
                      sourceId: 150e2b3a-5699-42ed-9389-d386b0b5fa5a
                      status: in_progress
                      numEntriesCreated: 0
                      entryTypes:
                      - CONTENT
                      indexVersion: 14
                      createdAt: '2023-09-27T14:29:12.033Z'
                      updatedAt: '2023-09-27T14:29:12.033Z'
        '500':
          $ref: '#/paths/~1index/get/responses/500'
      operationId: postIndexClear
      x-operation-id-source: derived
  /index/{indexId}/finish:
    post:
      tags:
      - Index
      summary: Finishes an index
      description: 'The _**finish**_ endpoint completes an index, signaling Nacelle to promote

        it to the current active index and trigger deletion of the previous active

        index once internal processing has completed.'
      parameters:
      - $ref: '#/paths/~1index/get/parameters/0'
      - $ref: '#/paths/~1index/get/parameters/1'
      - $ref: '#/paths/~1index/get/parameters/2'
      - name: indexId
        in: path
        description: The ID of the index
        required: true
        schema:
          type: string
          example: 00000000-0000-0000-0000-000000000000
      responses:
        '200':
          description: Index Finished
          content:
            application/json:
              examples:
                IndexFinished:
                  summary: Index Finished
                  value:
                    message: Index Finished
        '404':
          description: Not found
          content:
            application/json:
              examples:
                SourceNotFoundExample:
                  summary: Source Not Found
                  value:
                    reason: Source not found.
                IndexNotFoundExample:
                  summary: Index Not Found
                  value:
                    reason: Index not found.
        '409':
          description: Conflict
          content:
            application/json:
              examples:
                ConflictExample:
                  summary: Conflict Error
                  value:
                    error: Conflict
                    reason: Index is not in progress.
        '500':
          $ref: '#/paths/~1index/get/responses/500'
      operationId: postIndexByIndexIdFinish
      x-operation-id-source: derived
x-provenance:
  method: searched
  source: https://docs.nacelle.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.nacelle.com/reference/delete_collection-content.md
  - https://docs.nacelle.com/reference/delete_collection.md
  - https://docs.nacelle.com/reference/delete_content.md
  - https://docs.nacelle.com/reference/delete_inventory-item.md
  - https://docs.nacelle.com/reference/delete_inventory-level.md
  - https://docs.nacelle.com/reference/delete_inventory-location.md
  - https://docs.nacelle.com/reference/delete_price-book.md
  - https://docs.nacelle.com/reference/delete_pricing.md
  - https://docs.nacelle.com/reference/delete_product-content.md
  - https://docs.nacelle.com/reference/delete_product.md
  - https://docs.nacelle.com/reference/delete_variant-content.md
  - https://docs.nacelle.com/reference/delete_variant.md
  - https://docs.nacelle.com/reference/get_index.md
  - https://docs.nacelle.com/reference/post_index-cancel.md
  - https://docs.nacelle.com/reference/post_index-clear.md
  - https://docs.nacelle.com/reference/post_index-indexid-finish.md
  - https://docs.nacelle.com/reference/post_index.md
  - https://docs.nacelle.com/reference/put_collection-content.md
  - https://docs.nacelle.com/reference/put_collection.md
  - https://docs.nacelle.com/reference/put_content.md
  - https://docs.nacelle.com/reference/put_custom-schema.md
  - https://docs.nacelle.com/reference/put_inventory-item.md
  - https://docs.nacelle.com/reference/put_inventory-level.md
  - https://docs.nacelle.com/reference/put_inventory-location.md
  - https://docs.nacelle.com/reference/put_price-book.md
  - https://docs.nacelle.com/reference/put_pricing.md
  - https://docs.nacelle.com/reference/put_product-content.md
  - https://docs.nacelle.com/reference/put_product.md
  - https://docs.nacelle.com/reference/put_variant-content.md
  - https://docs.nacelle.com/reference/put_variant.md
  merge:
    pages: 30
    deduped: 74
    conflicts_kept_first: 0