OpenSearch website screenshot

OpenSearch

OpenSearch is the open source, community-driven search, analytics, and observability suite (forked from Elasticsearch and Kibana) maintained under the Linux Foundation's OpenSearch Software Foundation. The platform exposes REST APIs across the search engine, the OpenSearch Dashboards UI, and a set of plugins. The Security plugin REST API lets administrators programmatically create and manage internal users, roles, role mappings, action groups, tenants, security configuration, audit log configuration, and SSL certificates.

OpenSearch publishes 14 APIs on the APIs.io network, including Account API, Action Groups API, Allowlist API, and 11 more. Tagged areas include Search, Analytics, Observability, Open-Source, and Security.

The OpenSearch catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

OpenSearch’s developer surface includes authentication, developer portal, documentation, getting-started guide, engineering blog, and 15 more developer resources.

41.0/100 developing ▬ flat Agent 27/100 agent aware Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFreemiumSelf serve⚡ Free to try
1 APIs 1 MCP Servers 10 Agent Skills
SearchAnalyticsObservabilityOpen-SourceSecurity

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/opensearch: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 15

Individual APIs this provider publishes, each with its own machine-readable definition.

OpenSearch Search and Indexing REST API

The core OpenSearch REST API for indexing documents, performing search queries (full text, vector, hybrid), aggregations, and managing indices, mappings, templates, aliases, and...

OpenSearch Account API

Self-service account endpoints for the calling user.

OpenSearch Action Groups API

Reusable groups of cluster and index permissions.

OpenSearch Allowlist API

Allowlist of HTTP APIs available to non-admin users.

OpenSearch Audit API

Audit log configuration.

OpenSearch Cache API

Manage the security cache.

OpenSearch Certificates API

Inspect SSL certificates loaded by the cluster.

OpenSearch Health API

Security plugin health check.

OpenSearch Internal Users API

CRUD for internal user database entries.

OpenSearch Nodes DN API

Allowlisted distinguished names for cross-cluster nodes.

OpenSearch Role Mappings API

Map users, backend roles, and hosts to security roles.

OpenSearch Roles API

CRUD for security roles and their permissions.

OpenSearch Security Config API

Inspect and update the running security configuration.

OpenSearch SSL Info API

Inspect SSL handshake information for the calling client.

OpenSearch Tenants API

Multi-tenancy support for OpenSearch Dashboards.

Scroll for all 15

Open Collections 16

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Scroll for all 16

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

MCP Server

MCP SERVER

Agent Skills 10

Packaged agent skills for driving this provider's APIs from an AI assistant.

aws-setup

AGENT SKILL

cloud

AGENT SKILL

log-analytics

AGENT SKILL

observability

AGENT SKILL

opensearch-skills

AGENT SKILL

search

AGENT SKILL

trace-analytics

AGENT SKILL

Scroll for all 10

GraphQL 1

GraphQL schemas published by this provider.

OpenSearch GraphQL Schema

This directory contains a conceptual GraphQL schema for the OpenSearch search, analytics, and observability platform — the open-source, community-driven suite forked from Elasti...

GRAPHQL

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Opensearch Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Opensearch Context

3 classes · 0 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

OpenSearch API Rules

5 rules · 4 warnings 1 info

SPECTRAL

JSON Schema 1

Standalone JSON Schema definitions for this provider's data models.

OpenSearch Security Role

7 properties

JSON SCHEMA

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Opensearch Authentication

http · 1 scheme

SECURITY

Opensearch Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Opensearch Agentic Access

47 operations · 27 acting

47 operations · 27 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 3

MCP servers, agent skills, and machine-readable catalogs

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 2

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: opensearch
name: OpenSearch
description: OpenSearch is the open source, community-driven search, analytics, and observability suite (forked from Elasticsearch
  and Kibana) maintained under the Linux Foundation's OpenSearch Software Foundation. The platform exposes REST APIs across
  the search engine, the OpenSearch Dashboards UI, and a set of plugins. The Security plugin REST API lets administrators
  programmatically create and manage internal users, roles, role mappings, action groups, tenants, security configuration,
  audit log configuration, and SSL certificates.
type: Index
deliveryModel:
  model: unknown
  license: License (Apache 2.0)
  open_source: false
  commercial: false
  callable_host: false
  label: Delivery model not determined — needs a product licence on record
  confidence: low
  source:
  - license
  - openapi
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: medium
  source:
  - plans
  - authentication
  - security
  generated: '2026-09-03'
  method: derived
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/opensearch.png
tags:
- Search
- Analytics
- Observability
- Open-Source
- Security
tags_raw:
- Search
- Analytics
- Observability
- Open Source
- Security
created: '2025-01-08'
modified: '2026-05-19'
url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/apis.yml
specificationVersion: '0.23'
apis:
- aid: opensearch:opensearch-search-api
  name: OpenSearch Search and Indexing REST API
  description: The core OpenSearch REST API for indexing documents, performing search queries (full text, vector, hybrid),
    aggregations, and managing indices, mappings, templates, aliases, and snapshots.
  humanURL: https://docs.opensearch.org/latest/api-reference/
  baseURL: https://{cluster-host}:9200
  tags:
  - Search
  - Indexing
  - Vector Search
  - Aggregations
  properties:
  - type: Documentation
    url: https://docs.opensearch.org/latest/api-reference/
  - type: Documentation
    url: https://docs.opensearch.org/latest/search-plugins/
  - type: Reference
    url: https://docs.opensearch.org/latest/api-reference/search/
- aid: opensearch:opensearch-account-api
  name: OpenSearch Account API
  description: Self-service account endpoints for the calling user.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Account
  properties:
  - type: OpenAPI
    url: openapi/opensearch-account-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-action-groups-api
  name: OpenSearch Action Groups API
  description: Reusable groups of cluster and index permissions.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Action Groups
  properties:
  - type: OpenAPI
    url: openapi/opensearch-action-groups-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-allowlist-api
  name: OpenSearch Allowlist API
  description: Allowlist of HTTP APIs available to non-admin users.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Allowlist
  properties:
  - type: OpenAPI
    url: openapi/opensearch-allowlist-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-audit-api
  name: OpenSearch Audit API
  description: Audit log configuration.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Audit
  properties:
  - type: OpenAPI
    url: openapi/opensearch-audit-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-cache-api
  name: OpenSearch Cache API
  description: Manage the security cache.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Cache
  properties:
  - type: OpenAPI
    url: openapi/opensearch-cache-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-certificates-api
  name: OpenSearch Certificates API
  description: Inspect SSL certificates loaded by the cluster.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Certificates
  properties:
  - type: OpenAPI
    url: openapi/opensearch-certificates-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-health-api
  name: OpenSearch Health API
  description: Security plugin health check.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Health
  properties:
  - type: OpenAPI
    url: openapi/opensearch-health-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-internal-users-api
  name: OpenSearch Internal Users API
  description: CRUD for internal user database entries.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Internal Users
  properties:
  - type: OpenAPI
    url: openapi/opensearch-internal-users-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-nodes-dn-api
  name: OpenSearch Nodes DN API
  description: Allowlisted distinguished names for cross-cluster nodes.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Nodes DN
  properties:
  - type: OpenAPI
    url: openapi/opensearch-nodes-dn-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-role-mappings-api
  name: OpenSearch Role Mappings API
  description: Map users, backend roles, and hosts to security roles.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Role Mappings
  properties:
  - type: OpenAPI
    url: openapi/opensearch-role-mappings-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-roles-api
  name: OpenSearch Roles API
  description: CRUD for security roles and their permissions.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Roles
  properties:
  - type: OpenAPI
    url: openapi/opensearch-roles-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-security-config-api
  name: OpenSearch Security Config API
  description: Inspect and update the running security configuration.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Security Config
  properties:
  - type: OpenAPI
    url: openapi/opensearch-security-config-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-ssl-info-api
  name: OpenSearch SSL Info API
  description: Inspect SSL handshake information for the calling client.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - SSL Info
  properties:
  - type: OpenAPI
    url: openapi/opensearch-ssl-info-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
- aid: opensearch:opensearch-tenants-api
  name: OpenSearch Tenants API
  description: Multi-tenancy support for OpenSearch Dashboards.
  humanURL: https://docs.opensearch.org/latest/security/access-control/api/
  baseURL: https://{cluster-host}:9200
  tags:
  - Tenants
  properties:
  - type: OpenAPI
    url: openapi/opensearch-tenants-api-openapi.yml
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/api/
  - type: Documentation
    url: https://docs.opensearch.org/latest/security/access-control/index/
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-schema/opensearch-role-schema.json
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/opensearch/refs/heads/main/json-ld/opensearch-context.jsonld
  - type: GraphQL
    url: graphql/opensearch-graphql.md
common:
- type: AgenticAccess
  url: agentic-access/opensearch-agentic-access.yml
- type: DomainSecurity
  url: security/opensearch-domain-security.yml
- type: Authentication
  url: authentication/opensearch-authentication.yml
- type: LinkedIn
  url: https://www.linkedin.com/company/opensearch-project
- url: https://opensearch.org/
  name: OpenSearch
  type: Website
- url: https://docs.opensearch.org/
  name: Documentation Portal
  type: Portal
- url: https://docs.opensearch.org/latest/api-reference/
  name: API Reference
  type: Documentation
- url: https://docs.opensearch.org/latest/getting-started/
  name: Getting Started
  type: GettingStarted
- url: https://opensearch.org/community/
  name: Community
  type: Community
- url: https://forum.opensearch.org/
  name: Discussion Forum
  type: Forums
- url: https://opensearch.org/blog/
  name: Blog
  type: Blog
- url: https://github.com/opensearch-project
  name: GitHub Organization
  type: GitHubOrganization
- url: https://github.com/opensearch-project/security
  name: Security Plugin Source
  type: GitHubRepository
- url: https://github.com/opensearch-project/OpenSearch
  name: OpenSearch Core Source
  type: GitHubRepository
- url: https://opensearch.org/downloads/
  name: Downloads
  type: Download
- url: https://opensearch.org/license.html
  name: License (Apache 2.0)
  type: License
- url: https://opensearch.org/security
  name: Security Advisories
  type: Security
- name: MCP Server
  url: https://github.com/opensearch-project/opensearch-mcp-server-py
  type: MCPServer
- name: Agent Skills
  url: https://github.com/opensearch-project/opensearch-agent-skills
  type: AgentSkills
- url: graphql/opensearch-graphql.md
  type: GraphQL
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every provider 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 providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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 provider
curl "https://apis.io/api/v1/providers/opensearch"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/opensearch/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/opensearch/evidence"

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.