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.

54.7/100 developing ▬ flat Agent 46/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemiumSelf serve⚡ Free to try
15 APIs 1 MCP Servers 10 Agent Skills
SearchAnalyticsObservabilityOpen SourceSecurity

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 54.7/100 · developing
Contract Quality 15.3 / 25
Developer Ergonomics 10.9 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 6.2 / 13
Governance 7.0 / 12
Discoverability 7.4 / 10
Agent readiness — 46/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. 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. Want it done for you? Prioritized profiling — $2,500 →

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 1

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

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
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
position: Consumer
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/opensearch.png
tags:
- 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.19'
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