FOLIO Index Management API

Provides endpoints to manage the search index, including creating or updating mappings, settings, and manually populating the index with records from external sources (e.g., inventory).

Operations 9

POST /search/index/indices Create Index #
POST /search/index/mappings Create Index Mappings #
POST /search/index/records Index Records #
PUT /search/index/settings Update Index Settings #
POST /search/index/inventory/reindex Re-Index #
GET /search/index/instance-records/reindex/status Get Reindex Status #
POST /search/index/instance-records/reindex/full Re-Index #
POST /search/index/instance-records/reindex/upload Upload Re-Index #
POST /search/index/instance-records/reindex/merge/failed Failed Merge Ranges Re-Index #

Documentation

📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-caiasoft/s/edge-caiasoft.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-courses/s/edge-courses.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-dcb/s/edge-dcb.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-dematic/s/edge-dematic.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-erm/s/edge-erm.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-fqm/s/edge-fqm.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-ill/s/edge-ill.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-inn-reach/s/edge-inn-reach.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-inventory/s/edge-inventory.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-rtac/s/edge-rtac.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/edge-users/s/edge-users.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/folio-query-tool-metadata/s/queryTool.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/folio-spring-support/s/tenant.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/folio-vertx-lib/s/tenant-2.0.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mgr-applications/s/am.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mgr-tenant-entitlements/s/mgr-tenant-entitlements.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mgr-tenants/s/mgr-tenants.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-agreements/s/agreements.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-authtoken/s/token-1.0.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-batch-print/s/batchPrint.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-bulk-operations/s/bulk-operations.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-calendar/s/calendar.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-camunda/s/openapi.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-circulation-bff/s/circulationBff.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-circulation-item/s/circulation-item.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/consortia.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/consortia_configuration.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/kafka_message_schemas.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/publications.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/self.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/sharing_instances.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/sharing_policies.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/sharing_roles.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/sharing_settings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/tenants.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia-keycloak/s/user_tenants.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/consortia.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/consortia_configuration.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/kafka_message_schemas.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/publications.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/self.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/sharing_instances.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/sharing_settings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/tenants.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-consortia/s/user_tenants.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-spring/s/export-configs.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-spring/s/job-deletion-intervals.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-spring/s/jobs.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/authority-control.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/bursar-export.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/circulation-log.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/e-holdings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/email.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/order-export.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export-worker/s/refresh-presigned-url.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-data-export/s/data-export.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-dcb/s/dcb_transaction.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-ebsconet/s/ebsconet.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-entities-links/s/mod-entities-links.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-entities-links/s/tenant-settings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-eusage-reports/s/eusage-reports-1.0.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-fqm-manager/s/mod-fqm-manager.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-inn-reach/s/circulation.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-inn-reach/s/contribution.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-inn-reach/s/settings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-inventory-update/s/inventory-import-1.0.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-inventory-update/s/inventory-update-5.0.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-licenses/s/licenses.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-linked-data-import/s/mod-linked-data-import.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-linked-data/s/mod-linked-data.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-lists/s/list.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-locations/s/mod-locations.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-login-keycloak/s/mod-login-keycloak.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-marc-migrations/s/marc-migrations.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-mosaic/s/mosaic.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-notes/s/notes.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-oa/s/oa.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-okapi-facade/s/okapi-facade.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-password-validator/s/password-validator.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-password-validator/s/validator-registry.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-quick-marc/s/marc-specifications.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-quick-marc/s/records-editor.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-reading-room/s/patron_permission.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-reading-room/s/reading_room.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-record-specifications/s/mod-record-specifications.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-remote-storage/s/remote-storage.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-requests-mediated/s/requests-mediated.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-roles-keycloak/s/mod-roles-keycloak.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-rtac-cache/s/mod-rtac-cache.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-scheduler/s/mod-scheduler.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-search/s/mod-search.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-serials-management/s/serials-management.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-settings/s/settings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tags/s/tags.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tlr/s/allowed-service-points.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tlr/s/ecs-loans.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tlr/s/ecs-request-external.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tlr/s/ecs-tlr.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tlr/s/staff-slips.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-tlr/s/tlr-settings.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-users-keycloak/s/users-keycloak.html
📖
Documentation
https://s3.amazonaws.com/foliodocs/api/mod-workflow/s/openapi.html

Specifications

SDKs

📦
GitHubRepository
https://github.com/folio-org/edge-caiasoft
📦
GitHubRepository
https://github.com/folio-org/edge-courses
📦
GitHubRepository
https://github.com/folio-org/edge-dcb
📦
GitHubRepository
https://github.com/folio-org/edge-dematic
📦
GitHubRepository
https://github.com/folio-org/edge-erm
📦
GitHubRepository
https://github.com/folio-org/edge-fqm
📦
GitHubRepository
https://github.com/folio-org/edge-ill
📦
GitHubRepository
https://github.com/folio-org/edge-inn-reach
📦
GitHubRepository
https://github.com/folio-org/edge-inventory
📦
GitHubRepository
https://github.com/folio-org/edge-rtac
📦
GitHubRepository
https://github.com/folio-org/edge-users
📦
GitHubRepository
https://github.com/folio-org/folio-query-tool-metadata
📦
GitHubRepository
https://github.com/folio-org/folio-spring-support
📦
GitHubRepository
https://github.com/folio-org/folio-vertx-lib
📦
GitHubRepository
https://github.com/folio-org/mgr-applications
📦
GitHubRepository
https://github.com/folio-org/mgr-tenant-entitlements
📦
GitHubRepository
https://github.com/folio-org/mgr-tenants
📦
GitHubRepository
https://github.com/folio-org/mod-agreements
📦
GitHubRepository
https://github.com/folio-org/mod-authtoken
📦
GitHubRepository
https://github.com/folio-org/mod-batch-print
📦
GitHubRepository
https://github.com/folio-org/mod-bulk-operations
📦
GitHubRepository
https://github.com/folio-org/mod-calendar
📦
GitHubRepository
https://github.com/folio-org/mod-camunda
📦
GitHubRepository
https://github.com/folio-org/mod-circulation-bff
📦
GitHubRepository
https://github.com/folio-org/mod-circulation-item
📦
GitHubRepository
https://github.com/folio-org/mod-consortia-keycloak
📦
GitHubRepository
https://github.com/folio-org/mod-consortia
📦
GitHubRepository
https://github.com/folio-org/mod-data-export-spring
📦
GitHubRepository
https://github.com/folio-org/mod-data-export-worker
📦
GitHubRepository
https://github.com/folio-org/mod-data-export
📦
GitHubRepository
https://github.com/folio-org/mod-dcb
📦
GitHubRepository
https://github.com/folio-org/mod-ebsconet
📦
GitHubRepository
https://github.com/folio-org/mod-entities-links
📦
GitHubRepository
https://github.com/folio-org/mod-eusage-reports
📦
GitHubRepository
https://github.com/folio-org/mod-fqm-manager
📦
GitHubRepository
https://github.com/folio-org/mod-inn-reach
📦
GitHubRepository
https://github.com/folio-org/mod-inventory-update
📦
GitHubRepository
https://github.com/folio-org/mod-licenses
📦
GitHubRepository
https://github.com/folio-org/mod-linked-data-import
📦
GitHubRepository
https://github.com/folio-org/mod-linked-data
📦
GitHubRepository
https://github.com/folio-org/mod-lists
📦
GitHubRepository
https://github.com/folio-org/mod-locations
📦
GitHubRepository
https://github.com/folio-org/mod-login-keycloak
📦
GitHubRepository
https://github.com/folio-org/mod-marc-migrations
📦
GitHubRepository
https://github.com/folio-org/mod-mosaic
📦
GitHubRepository
https://github.com/folio-org/mod-notes
📦
GitHubRepository
https://github.com/folio-org/mod-oa
📦
GitHubRepository
https://github.com/folio-org/mod-okapi-facade
📦
GitHubRepository
https://github.com/folio-org/mod-password-validator
📦
GitHubRepository
https://github.com/folio-org/mod-quick-marc
📦
GitHubRepository
https://github.com/folio-org/mod-reading-room
📦
GitHubRepository
https://github.com/folio-org/mod-record-specifications
📦
GitHubRepository
https://github.com/folio-org/mod-remote-storage
📦
GitHubRepository
https://github.com/folio-org/mod-requests-mediated
📦
GitHubRepository
https://github.com/folio-org/mod-roles-keycloak
📦
GitHubRepository
https://github.com/folio-org/mod-rtac-cache
📦
GitHubRepository
https://github.com/folio-org/mod-scheduler
📦
GitHubRepository
https://github.com/folio-org/mod-search
📦
GitHubRepository
https://github.com/folio-org/mod-serials-management
📦
GitHubRepository
https://github.com/folio-org/mod-settings
📦
GitHubRepository
https://github.com/folio-org/mod-tags
📦
GitHubRepository
https://github.com/folio-org/mod-tlr
📦
GitHubRepository
https://github.com/folio-org/mod-users-keycloak
📦
GitHubRepository
https://github.com/folio-org/mod-workflow

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-accession-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-return-item-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-instructors-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-asr-requests-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-asr-items-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-update-asr-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-license-terms-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-license-terms-batch-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-request-ids-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-entity-type-summaries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-test-document-delivery-offer-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-test-document-delivery-register-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-access-token-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-batch-holdings-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-rtac-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-instance-holdings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-userdata-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-user-results-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-patron-pin-with-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-entity-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-query-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-custom-entity-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-contents-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-submit-query-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-update-used-by-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-tenant-attributes-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-tenant-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-application-descriptor-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-application-cleanup-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-application-descriptors-validation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-module-discoveries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-application-discoveries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-application-descriptors-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-flow-stage-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-application-flow-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-flow-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-module-reinstall-request-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-extended-entitlements-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-desired-state-request-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-tenant-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-tenant-attribute-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-tenants-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-export-entry-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-agreement-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-dashboard-widget-definition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-kb-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-erm-resource-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-persistent-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-token-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-sign-token-payload-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-sign-refresh-token-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-refresh-token-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-token-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-token-response-legacy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-message-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-entry-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-entries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-message-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-bulk-operation-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-profile-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-calendar-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-calendar-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-surrounding-openings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-single-day-opening-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-workflow-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-link-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-response-errors-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-circulation-loan-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-mediated-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-check-in-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-bff-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-check-out-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-circulation-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-circulation-items-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-export-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-export-config-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-mapping-profile-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-export-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-job-profile-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-quick-export-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-file-definition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-export-all-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-setting-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-settings-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-ebsconet-order-line-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-validation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-authority-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-authority-source-file-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-authority-stats-dto-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-parsed-record-content-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-authority-source-file-dto-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-authority-note-type-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-report-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-report-cost-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-report-status-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-title-data-entries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-report-titles-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-report-data-entries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-purged-queries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-data-refresh-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-query-status-summaries-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-paging-slips-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-transaction-hold-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-local-hold-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-item-shipped-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-inn-reach-transaction-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-base-circ-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-failed-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-channel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-import-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-transformation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-transformation-step-association-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-step-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-license-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-policies-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/folio/refs/heads/main/json-schema/folio-custom-property-definition-schema.json

Other Resources

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/folio:folio-index-management-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

folio-index-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Spitfire team
  description: 'API for searching, browsing, and managing facets for various record types, including instances, holdings, and authorities.

    It also provides endpoints for configuring search and browse features, as well as managing the search index.'
  title: Search Index Management API
  version: v4.1.0
servers:
- description: Development environments.
  url: https://{environment}-okapi.ci.folio.org
  variables:
    environment:
      default: folio-dev-spitfire
      enum:
      - folio-dev-spitfire
      - folio-perf-spitfire
- description: Reference environments.
  url: https://folio-{environment}-okapi.dev.folio.org
  variables:
    environment:
      default: snapshot
      enum:
      - snapshot
      - snapshot-2
tags:
- description: Provides endpoints to manage the search index, including creating or updating mappings, settings, and manually populating the index with records from external sources (e.g., inventory).
  name: index-management
paths:
  /search/index/indices:
    post:
      description: Creates indices for passed resource name and tenant id in request header.
      operationId: createIndices
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              objectExample:
                $ref: '#/components/examples/indexRequestBody'
            schema:
              $ref: '#/components/schemas/createIndexRequest'
      responses:
        '200':
          content:
            application/json:
              examples:
                indexOperationResponse:
                  $ref: '#/components/examples/indexOperationResponse'
              schema:
                $ref: '#/components/schemas/folioCreateIndexResponse'
          description: Response with created indices and status (error message will be present if operation failed)
        '400':
          content:
            application/json:
              examples:
                validationErrorResponse:
                  $ref: '#/components/examples/validationErrorResponse'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Validation errors
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Create Index
      tags:
      - index-management
  /search/index/mappings:
    post:
      description: Creates mappings for passed resource name and tenant id in request header.
      operationId: updateMappings
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              updateMappingsRequest:
                $ref: '#/components/examples/updateMappingsRequest'
            schema:
              $ref: '#/components/schemas/updateMappingsRequest'
      responses:
        '200':
          content:
            application/json:
              examples:
                indexOperationResponse:
                  $ref: '#/components/examples/indexOperationResponse'
              schema:
                $ref: '#/components/schemas/folioIndexOperationResponse'
          description: Response with created indices and status (error message will be present if operation failed)
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Create Index Mappings
      tags:
      - index-management
  /search/index/records:
    post:
      description: Indexes the records into elasticsearch.
      operationId: indexRecords
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              indexRecordsRequest:
                $ref: '#/components/examples/indexRecordsRequest'
            schema:
              items:
                $ref: '#/components/schemas/resourceEvent'
              type: array
      responses:
        '200':
          content:
            application/json:
              examples:
                successResponse:
                  $ref: '#/components/examples/indexRecordSuccessResponse'
                failureResponse:
                  $ref: '#/components/examples/indexRecordFailureResponse'
              schema:
                $ref: '#/components/schemas/folioIndexOperationResponse'
          description: Response with created indices and status (error message will be present if operation failed)
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Index Records
      tags:
      - index-management
  /search/index/settings:
    put:
      description: Update Index Dynamic Settings data.
      operationId: updateIndexDynamicSettings
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              updateRequest:
                $ref: '#/components/examples/updateIndexSettingsRequest'
            schema:
              $ref: '#/components/schemas/updateIndexDynamicSettingsRequest'
      responses:
        '200':
          content:
            application/json:
              examples:
                indexOperationResponse:
                  $ref: '#/components/examples/indexOperationResponse'
              schema:
                $ref: '#/components/schemas/folioIndexOperationResponse'
          description: Response with updated index settings and status (error message will be present if operation failed)
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Update Index Settings
      tags:
      - index-management
  /search/index/inventory/reindex:
    post:
      description: Initiates reindex for the inventory records
      operationId: reindexInventoryRecords
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              reindexRequest:
                $ref: '#/components/examples/reindexRequest'
            schema:
              $ref: '#/components/schemas/reindexRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                reindexJobResponse:
                  $ref: '#/components/examples/reindexJobResponse'
              schema:
                $ref: '#/components/schemas/reindexJob'
          description: Reindex operation has been started
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Re-Index
      tags:
      - index-management
  /search/index/instance-records/reindex/status:
    get:
      description: Get a list of statuses for each resource reindexing
      operationId: getReindexStatus
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                ReindexStatusResult:
                  $ref: '#/components/examples/ReindexStatusResult'
              schema:
                items:
                  $ref: '#/components/schemas/reindexStatusItem'
                type: array
          description: Reindex statuses by entity type
        '400':
          content:
            application/json:
              examples:
                validationErrorResponse:
                  $ref: '#/components/examples/validationErrorResponse'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Validation errors
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Get Reindex Status
      tags:
      - index-management
  /search/index/instance-records/reindex/full:
    post:
      description: Initiates the full reindex for the inventory instance records
      operationId: reindexInstanceRecords
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              reindexFullRequest:
                $ref: '#/components/examples/reindexFullRequest'
            schema:
              $ref: '#/components/schemas/reindexFullRequest'
      responses:
        '200':
          description: Full reindex operation has been started
        '400':
          content:
            application/json:
              examples:
                validationErrorResponse:
                  $ref: '#/components/examples/validationErrorResponse'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Validation errors
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Re-Index
      tags:
      - index-management
  /search/index/instance-records/reindex/upload:
    post:
      description: Initiates reindex upload for inventory instance records
      operationId: reindexUploadInstanceRecords
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              reindexRequest:
                $ref: '#/components/examples/reindexUploadDto'
            schema:
              $ref: '#/components/schemas/reindexUploadDto'
      responses:
        '200':
          description: Full reindex operation has been started
        '400':
          content:
            application/json:
              examples:
                validationErrorResponse:
                  $ref: '#/components/examples/validationErrorResponse'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Validation errors
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Upload Re-Index
      tags:
      - index-management
  /search/index/instance-records/reindex/merge/failed:
    post:
      description: Initiates reindexing of failed merge ranges for inventory instance records
      operationId: reindexFailedMergeRanges
      parameters:
      - description: X-Okapi-Tenant header value
        in: header
        name: x-okapi-tenant
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Reindexing of failed merge ranges has been started
        '400':
          content:
            application/json:
              examples:
                validationErrorResponse:
                  $ref: '#/components/examples/validationErrorResponse'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Validation errors
        '500':
          content:
            application/json:
              examples:
                unknownError:
                  $ref: '#/components/examples/unknownError'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: When unhandled exception occurred during code execution, e.g. NullPointerException.
      summary: Failed Merge Ranges Re-Index
      tags:
      - index-management
components:
  schemas:
    folioCreateIndexResponse:
      additionalProperties: false
      description: Folio search create index response
      example:
        errorMessage: errorMessage
        indices:
        - indices
        - indices
        status: success
      properties:
        errorMessage:
          description: Error message with the reason why index was failed to create.
          type: string
        indices:
          description: List of created elasticsearch indices.
          items:
            description: Create index name
            type: string
          minItems: 0
          type: array
        status:
          description: Index creation status - success or error.
          enum:
          - success
          - error
          type: string
      type: object
    updateMappingsRequest:
      additionalProperties: false
      description: Request to create resource mappings in Elasticsearch
      properties:
        resourceName:
          description: Name of resource
          type: string
      required:
      - resourceName
      type: object
    resourceEvent:
      description: Resource event body
      example:
        id: id
        type: UPDATE
        deleteEventSubType: SOFT_DELETE
        tenant: tenant
        resourceName: resourceName
        new: '{}'
        old: '{}'
      properties:
        id:
          description: Resource id
          type: string
        type:
          $ref: '#/components/schemas/resourceEventType'
        deleteEventSubType:
          $ref: '#/components/schemas/resourceDeleteEventSubType'
        tenant:
          description: Tenant id
          type: string
        resourceName:
          description: Name of resource
          type: string
        new:
          description: Instance record new fields
          type: object
        old:
          description: Instance record old fields
          type: object
      required:
      - id
      - tenant
      type: object
    reindexRequest:
      description: Reindex Request body
      properties:
        recreateIndex:
          default: false
          description: Boolean parameter, if set to true - tenant index must be recreated before reindex operation
          type: boolean
        resourceName:
          description: Resource name to run reindex for
          enum:
          - authority
          - location
          - linked-data-authority
          - linked-data-work
          - linked-data-hub
          type: string
        indexSettings:
          $ref: '#/components/schemas/indexSettings'
      required:
      - resourceName
      type: object
    createIndexRequest:
      additionalProperties: false
      description: Request body to create Elasticsearch index
      properties:
        resourceName:
          description: Name of resource
          type: string
      required:
      - resourceName
      type: object
    resourceEventType:
      description: Resource event operation type - one of [update, create, delete, delete_all, reindex]
      enum:
      - UPDATE
      - CREATE
      - DELETE
      - REINDEX
      - DELETE_ALL
      type: string
    indexDynamicSettings:
      description: Elasticsearch/Opensearch index dynamic settings
      properties:
        numberOfReplicas:
          description: The number of replicas each primary shard has.
          maximum: 100
          minimum: 0
          type: integer
        refreshInterval:
          description: How often to make new changes to the index visible to search (seconds). '-1' disables refresh.
          maximum: 3600
          minimum: -1
          type: integer
      type: object
    indexSettings:
      description: Elasticsearch/Opensearch index settings
      properties:
        numberOfShards:
          description: The number of primary shards that an index should have.
          maximum: 100
          minimum: 1
          type: integer
        numberOfReplicas:
          description: The number of replicas each primary shard has.
          maximum: 100
          minimum: 0
          type: integer
        refreshInterval:
          description: How often to make new changes to the index visible to search (seconds). '-1' disables refresh.
          maximum: 3600
          minimum: -1
          type: integer
      type: object
    resourceDeleteEventSubType:
      description: Resource event delete operation type - one of [soft-delete, hard-delete]
      enum:
      - SOFT_DELETE
      - HARD_DELETE
      type: string
    parameter:
      description: List of key/value parameters of an error
      example:
        key: source
        value: 'null'
      properties:
        key:
          description: Parameter key
          type: string
        value:
          description: Parameter value
          type: string
      type: object
    reindexStatusItem:
      description: Reindex status item
      example:
        entityType: entityType
        status: status
        targetTenantId: targetTenantId
        totalMergeRanges: 0
        processedMergeRanges: 6
        totalUploadRanges: 1
        processedUploadRanges: 5
        startTimeMerge: startTimeMerge
        endTimeMerge: endTimeMerge
        startTimeUpload: startTimeUpload
        endTimeUpload: endTimeUpload
        startTimeStaging: startTimeStaging
        endTimeStaging: endTimeStaging
      properties:
        entityType:
          description: Entity type for reindex status item
          type: string
        status:
          description: Reindex status
          type: string
        targetTenantId:
          description: tenantId of consortium member being re-indexed
          type: string
        totalMergeRanges:
          description: Total merge ranges to process for entity
          type: integer
        processedMergeRanges:
          description: Processed merge ranges for entity
          type: integer
        totalUploadRanges:
          description: Total upload ranges to process for entity
          type: integer
        processedUploadRanges:
          description: Processed upload ranges for entity
          type: integer
        startTimeMerge:
          description: Start time of reindex merge phase for entity
          type: string
        endTimeMerge:
          description: End time of reindex merge phase for entity
          type: string
        startTimeUpload:
          description: Start time of reindex upload phase for entity
          type: string
        endTimeUpload:
          description: End time of reindex upload phase for entity
          type: string
        startTimeStaging:
          description: Start time of reindex staging phase for entity
          type: string
        endTimeStaging:
          description: End time of reindex staging phase for entity
          type: string
      type: object
    error:
      description: An error
      properties:
        message:
          description: Error message text
          type: string
        type:
          description: Error message type
          type: string
        code:
          description: Error message code
          type: string
        parameters:
          items:
            $ref: '#/components/schemas/parameter'
          type: array
      type: object
    errorResponse:
      description: A set of errors
      example:
        errors:
        - message: Illegal argument error
          type: IllegalArgumentException
          code: unknown_error
        total_records: 1
      properties:
        errors:
          description: List of errors
          items:
            $ref: '#/components/schemas/error'
          type: array
          x-field-extra-annotation: '@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)'
        total_records:
          description: Total number of errors
          type: integer
      type: object
    reindexJob:
      description: Get job by id response
      example:
        id: id
        jobStatus: jobStatus
        submittedDate: submittedDate
      properties:
        id:
          description: Job id
          type: string
        jobStatus:
          description: Overall job status
          type: string
        submittedDate:
          description: Timestamp when the job has been submitted
          type: string
      type: object
    folioIndexOperationResponse:
      additionalProperties: false
      description: Folio search create index response
      example:
        errorMessage: errorMessage
        status: success
      properties:
        errorMessage:
          description: Error message with the reason why index was failed to create.
          type: string
        status:
          description: Index creation status - success or error.
          enum:
          - success
          - error
          type: string
      type: object
    reindexFullRequest:
      description: Full reindex request with optional tenant filtering
      properties:
        tenantId:
          description: Optional specific tenant ID to reindex. If not provided, reindexes all consortium members.
          pattern: ^[a-zA-Z0-9_.-]+$
          type: string
        indexSettings:
          $ref: '#/components/schemas/indexSettings'
      type: object
    reindexUploadDto:
      description: Reindex Upload Entity types
      properties:
        entityTypes:
          description: Entity name to run reindex upload
          items:
            enum:
            - instance
            - subject
            - contributor
            - classification
            - call-number
            type: object
          minItems: 1
          type: array
        indexSettings:
          $ref: '#/components/schemas/indexSettings'
      required:
      - entityTypes
      type: object
    updateIndexDynamicSettingsRequest:
      description: Update Index Settings request body
      properties:
        resourceName:
          description: Resource name to set index Settings
          type: string
        indexSettings:
          $ref: '#/components/schemas/indexDynamicSettings'
      required:
      - resourceName
      type: object
  examples:
    updateIndexSettingsRequest:
      value:
        resourceName: instance
        indexSettings:
          numberOfReplicas: 4
          refreshInterval: -1
    reindexJobResponse:
      value:
        id: 68ec4438-8b93-46df-8c36-232db4f7862e
        jobStatus: In progress
        submittedDate: '2024-12-05T10:22:22'
    ReindexStatusResult:
      value:
      - entityType: instance
        status: UPLOAD_COMPLETED
        targetTenantId: college
        totalMergeRanges: 3
        processedMergeRanges: 3
        totalUploadRanges: 2
        processedUploadRanges: 2
        startTimeMerge: '2024-04-01T01:37:34.15755006Z'
        endTimeMerge: '2024-04-01T01:37:35.15755006Z'
        startTimeUpload: '2024-04-01T01:37:36.15755006Z'
        endTimeUpload: '2024-04-01T01:37:37.15755006Z'
      - entityType: item
        status: MERGE_IN_PROGRESS
        targetTenantId: college
        totalMergeRanges: 3
        processedMergeRanges: 2
        startTimeMerge: '2024-04-01T01:37:34.15755006Z'
      - entityType: holdings
        status: STAGING_COMPLETED
        targetTenantId: college
        totalMergeRanges: 3
        processedMergeRanges: 2
        startTimeMerge: '2024-04-01T01:37:34.15755006Z'
        endTimeMerge: '2024-04-01T01:37:35.15755006Z'
        startTimeStaging: '2024-04-01T01:37:30.15755006Z'
        endTimeStaging: '2024-04-01T01:37:33.15755006Z'
      - entityType: contributor
        status: UPLOAD_COMPLETED
        targetTenantId: college
        totalUploadRanges: 3
        processedUploadRanges: 3
        startTimeUpload: '2024-04-01T01:37:34.15755006Z'
        endTimeUpload: '2024-04-01T01:37:35.15755006Z'
      - entityType: classification
        status: UPLOAD_FAILED
        targetTenantId: college
        totalUploadRanges: 2
        processedUploadRanges: 1
        startTimeUpload: '2024-04-01T01:37:36.15755006Z'
        endTimeUpload: '2024-04-01T01:37:37.15755006Z'
    reindexRequest:
      value:
        recreateIndex: true
        resourceName: authority
    reindexFullRequest:
      value:
        tenantId: college
        indexSettings:
          numberOfShards: 1
          numberOfReplicas: 1
          refreshInterval: 1
    validationErrorResponse:
      value:
        errors:
        - message: must not be null
          type: MethodArgumentNotValidException
          code: validation_error
          parameters:
          - key: parameter
            value: 'null'
        total_records: 1
    indexRecordFailureResponse:
      value:
        status: error
        errorMessage: Instance index doesn't exist
    updateMappingsRequest:
      value:
        resourceName: authority
    reindexUploadDto:
      value:
        entityTypes:
        - instance
        - subject
        - contributor
        - classification
    unknownError:
      value:
        errors:
        - message: Illegal argument error
          type: IllegalArgumentException
          code: unknown_error
        total_records: 1
    indexRecordSuccessResponse:
      value:
        status: success
    indexRequestBody:
      value:
        resourceName: instance
    indexRecordsRequest:
      value:
      - resourceName: instance
        id: 83249565-16a8-4687-9061-fd1de43d7f34
        type: CREATE
        tenant: diku
        new:
          id: 83249565-16a8-4687-9061-fd1de43d7f34
          hrid: in869
          title: 'Kunstschätze aus badischen Schlössern :Meersburg, Rastatt, Favorite, Bruchsal, Heidelberg, Schwetzingen : 9. Juli bis 12. Oktober 1968, Ausstellung im Gartensaal des Karlsruher Schlosses /Badisches Landesmuseum Karlsruhe ; [Gesamtgestaltung und Redaktion, Ernst Petrasch].'
          source: MARC
          editions:
          - 2. Aufl.
          metadata:
            createdDate: '1974-12-03T00:00:00'
            updatedDate: '2018-10-15T13:25:11Z'
          statusId: 7cc3837e-c4f1-4584-a3ae-b0c0bfce4bb2
          subjects:
          - Art--Germany--Exhibitions.
          - Castles--Germany--Exhibitions.
          - Art, Modern.
          - Exhibition catalogs.
          languages:
          - ger
          indexTitle: 'Kunstschätze aus badischen Schlössern :Meersburg, Rastatt, Favorite, Bruchsal, Heidelberg, Schwetzingen : 9. Juli bis 12. Oktober 1968, Ausstellung im Gartensaal des Karlsruher Schlosses /Badisches Landesmuseum Karlsruhe ; [Gesamtgestaltung und Redaktion, Ernst Petrasch].'
          identifiers:
          - value: (ICU)BID10243
            identifierTypeId: 2baf4cec-6abf-438b-abd0-a6c512c3c173
          - value: (OCoLC)26620653
            identifierTypeId: 01ca9cda-7027-4d64-abed-9e3c4943daf2
          publication:
          - place:
              Karlsruhe: null
            publisher: The Museum
            dateOfPublication: '1968'
          contributors:
          - name: Badisches Landesmuseum Karlsruhe
            primary: true
            contributorNameTypeId: 2b4007a7-2d96-4262-a360-c9f760e355c3
          - name: Petrasch, Ernst
            primary: false
            contributorNameTypeId: 35b01201-597f-4938-a0d1-110245ba9d67
          instanceTypeId: 1c43b4c1-b138-4386-a91d-0d305e4ddf23
          modeOfIssuanceId: 7b143a6c-84e8-4168-94b1-24220a3d14cc
          discoverySuppress: false
          statusUpdatedDate: '2019-12-18T20:46:50Z'
          physicalDescriptions:
          - 46 p.: ill. ; 21 cm.
    indexOperationResponse:
      value:
        errorMessage: Failed to update index settings
        status: error