openapi: 3.2.0 info: contact: name: Kibana Team description: 'The Kibana REST APIs enable you to manage resources such as connectors, data views, and saved objects. The API calls are stateless. Each request that you make happens in isolation from other calls and must include all of the necessary information for Kibana to fulfill the request. API requests return JSON output, which is a format that is machine-readable and works well for automation. To interact with Kibana APIs, use the following operations: - GET: Fetches the information. - PATCH: Applies partial modifications to the existing information. - POST: Adds new information. - PUT: Updates the existing information. - DELETE: Removes the information. You can prepend any Kibana API endpoint with `kbn:` and run the request in **Dev Tools → Console**. For example: ``` GET kbn:/api/data_views ``` For more information about the console, refer to [Run API requests](https://www.elastic.co/docs/explore-analyze/query-filter/tools/console). NOTE: Access to internal Kibana API endpoints will be restricted in Kibana version 9.0. Please move any integrations to publicly documented APIs. ## Documentation source and versions This documentation is derived from the `main` branch of the [kibana](https://github.com/elastic/kibana) repository. It is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/). This documentation contains work-in-progress information for future Elastic Stack releases. ' title: Kibana Markdowns API version: '' x-doc-license: name: Attribution-NonCommercial-NoDerivatives 4.0 International url: https://creativecommons.org/licenses/by-nc-nd/4.0/ x-feedbackLink: label: Feedback url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+ servers: - url: https://{kibana_url} variables: kibana_url: default: localhost:5601 security: - apiKeyAuth: [] - basicAuth: [] tags: - name: Markdowns paths: /api/markdowns: get: description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/markdowns
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Returns a paginated list of markdown library items. Each result includes title, description, and metadata, but not the content. Use `GET /api/markdowns/{id}` to retrieve the complete state.' operationId: get-markdowns parameters: - description: The page of results to return. in: query name: page required: false schema: default: 1 minimum: 1 type: number - description: The number of results to return per page. in: query name: per_page required: false schema: default: 20 maximum: 1000 minimum: 1 type: number - description: Filters results by `title` and `description` using Elasticsearch [`simple_query_string`](https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-simple-query-string-query) syntax. Multi-word terms require all words to match. in: query name: query required: false schema: type: string responses: '200': content: application/json: examples: searchMarkdownsResponse: description: Paginated list of markdown library item summaries. Each item includes the ID, a subset of state fields (`title` and `description`), and metadata. The full `content` is not included; use `GET /api/markdowns/{id}` to retrieve a specific item. summary: Search markdown library items response value: data: - data: description: Intro and context for the web logs dashboard. title: Web logs overview id: 5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e meta: created_at: '2026-04-13T10:00:00.000Z' managed: false updated_at: '2026-04-13T10:00:00.000Z' version: WzU5LDFd meta: page: 1 per_page: 20 total: 1 schema: additionalProperties: false type: object properties: data: description: List of markdown library items matching the query. items: additionalProperties: false type: object properties: data: additionalProperties: false type: object properties: description: description: A short description of the markdown library item. type: string title: description: The markdown library item title. type: string required: - title id: description: The markdown library item ID. type: string meta: $ref: '#/components/schemas/Kibana_HTTP_APIs_kbn-as-code-meta' required: - id - data - meta maxItems: 1000 minItems: 0 type: array meta: additionalProperties: false type: object properties: page: default: 1 description: The returned page of results. minimum: 1 type: number per_page: default: 20 description: The number of results returned per page. maximum: 1000 minimum: 1 type: number total: description: The total number of results matching the query. type: number required: - total required: - data - meta description: success '403': description: forbidden summary: List markdown library items tags: - Markdowns x-codeSamples: - label: Search markdown library items - cURL lang: cURL source: "curl -X GET \"${KIBANA_URL}/api/markdowns?query=welcome&per_page=10\" \\\n -H \"Authorization: ApiKey ${API_KEY}\"\n" - label: Search markdown library items - Console lang: Console source: 'GET kbn:/api/markdowns?query=welcome&per_page=10 ' x-state: Experimental; added in 9.6.0 x-metaTags: - content: Kibana name: product_name post: description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/markdowns
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Creates a new markdown library item and returns its ID, full state, and metadata.' operationId: post-markdowns parameters: - description: A required header to protect against CSRF attacks in: header name: kbn-xsrf required: true schema: example: 'true' type: string requestBody: content: application/json: examples: createMarkdown: summary: Create a markdown library item value: content: '## Web logs overview A quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`). **Key metrics in this dashboard:** - Total request count by HTTP method - Average response size over time - Geographic distribution of client IPs > Use the time picker above to narrow the dashboard to an incident window. For field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data). ' description: Intro and context for the web logs dashboard. settings: open_links_in_new_tab: true title: Web logs overview schema: additionalProperties: false type: object properties: content: description: The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings. type: string description: description: A short description of the markdown library item. type: string settings: additionalProperties: false default: open_links_in_new_tab: true description: Display settings for the markdown panel. type: object properties: open_links_in_new_tab: default: true description: Open links in a new browser tab. type: boolean title: description: The markdown library item title. minLength: 1 type: string required: - content - title responses: '201': content: application/json: examples: createMarkdownResponse: description: Response to creating a markdown library item. Returns the generated ID, the full item state in `data`, and metadata. summary: Create markdown library item response value: data: content: '## Web logs overview A quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`). **Key metrics in this dashboard:** - Total request count by HTTP method - Average response size over time - Geographic distribution of client IPs > Use the time picker above to narrow the dashboard to an incident window. For field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data). ' description: Intro and context for the web logs dashboard. settings: open_links_in_new_tab: true title: Web logs overview id: 5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e meta: created_at: '2026-04-13T10:00:00.000Z' managed: false updated_at: '2026-04-13T10:00:00.000Z' version: WzU5LDFd schema: additionalProperties: false type: object properties: data: additionalProperties: false type: object properties: content: description: The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings. type: string description: description: A short description of the markdown library item. type: string settings: additionalProperties: false default: open_links_in_new_tab: true description: Display settings for the markdown panel. type: object properties: open_links_in_new_tab: default: true description: Open links in a new browser tab. type: boolean title: description: The markdown library item title. minLength: 1 type: string required: - content - title id: description: The unique ID of the markdown library item, as returned by the create or search endpoints. type: string meta: $ref: '#/components/schemas/Kibana_HTTP_APIs_kbn-as-code-meta' required: - id - data - meta description: created '400': description: invalid request '403': description: forbidden summary: Create a markdown library item tags: - Markdowns x-codeSamples: - label: Create a markdown library item - cURL lang: cURL source: "curl -X POST \"${KIBANA_URL}/api/markdowns\" \\\n -H \"Authorization: ApiKey ${API_KEY}\" \\\n -H \"kbn-xsrf: true\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"title\": \"Web logs overview\",\n \"description\": \"Intro and context for the web logs dashboard.\",\n \"content\": \"## Web logs overview\\n\\nA quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`).\\n\\n**Key metrics in this dashboard:**\\n\\n- Total request count by HTTP method\\n- Average response size over time\\n- Geographic distribution of client IPs\\n\\n> Use the time picker above to narrow the dashboard to an incident window.\\n\\nFor field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data).\\n\",\n \"settings\": {\n \"open_links_in_new_tab\": true\n }\n}'\n" - label: Create a markdown library item - Console lang: Console source: "POST kbn:/api/markdowns\n{\n \"title\": \"Web logs overview\",\n \"description\": \"Intro and context for the web logs dashboard.\",\n \"content\": \"## Web logs overview\\n\\nA quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`).\\n\\n**Key metrics in this dashboard:**\\n\\n- Total request count by HTTP method\\n- Average response size over time\\n- Geographic distribution of client IPs\\n\\n> Use the time picker above to narrow the dashboard to an incident window.\\n\\nFor field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data).\\n\",\n \"settings\": {\n \"open_links_in_new_tab\": true\n }\n}\n" x-state: Experimental; added in 9.6.0 x-metaTags: - content: Kibana name: product_name /api/markdowns/{id}: delete: description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/markdowns/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Permanently deletes a markdown library item by ID.' operationId: delete-markdowns-id parameters: - description: A required header to protect against CSRF attacks in: header name: kbn-xsrf required: true schema: example: 'true' type: string - description: The markdown library item ID, as returned by the create or search endpoints. in: path name: id required: true schema: type: string responses: '204': description: No content, the markdown library item was successfully deleted. '403': description: forbidden '404': description: not found summary: Delete a markdown library item tags: - Markdowns x-codeSamples: - label: Delete a markdown library item - cURL lang: cURL source: "curl -X DELETE \"${KIBANA_URL}/api/markdowns/5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e\" \\\n -H \"Authorization: ApiKey ${API_KEY}\" \\\n -H \"kbn-xsrf: true\"\n" - label: Delete a markdown library item - Console lang: Console source: 'DELETE kbn:/api/markdowns/5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e ' x-state: Experimental; added in 9.6.0 x-metaTags: - content: Kibana name: product_name get: description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/markdowns/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Returns the complete state of a markdown library item by ID.' operationId: get-markdowns-id parameters: - description: The markdown library item ID, as returned by the create or search endpoints. in: path name: id required: true schema: type: string responses: '200': content: application/json: examples: getMarkdownResponse: description: The full markdown library item state including `content`, `settings`, and metadata. summary: Get markdown library item response value: data: content: '## Web logs overview A quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`). **Key metrics in this dashboard:** - Total request count by HTTP method - Average response size over time - Geographic distribution of client IPs > Use the time picker above to narrow the dashboard to an incident window. For field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data). ' description: Intro and context for the web logs dashboard. settings: open_links_in_new_tab: true title: Web logs overview id: 5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e meta: created_at: '2026-04-13T10:00:00.000Z' managed: false updated_at: '2026-04-13T10:00:00.000Z' version: WzU5LDFd schema: additionalProperties: false type: object properties: data: additionalProperties: false type: object properties: content: description: The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings. type: string description: description: A short description of the markdown library item. type: string settings: additionalProperties: false default: open_links_in_new_tab: true description: Display settings for the markdown panel. type: object properties: open_links_in_new_tab: default: true description: Open links in a new browser tab. type: boolean title: description: The markdown library item title. minLength: 1 type: string required: - content - title id: description: The unique ID of the markdown library item, as returned by the create or search endpoints. type: string meta: $ref: '#/components/schemas/Kibana_HTTP_APIs_kbn-as-code-meta' required: - id - data - meta description: success '403': description: forbidden '404': description: not found summary: Get a markdown library item by ID tags: - Markdowns x-codeSamples: - label: Get a markdown library item - cURL lang: cURL source: "curl -X GET \"${KIBANA_URL}/api/markdowns/5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e\" \\\n -H \"Authorization: ApiKey ${API_KEY}\"\n" - label: Get a markdown library item - Console lang: Console source: 'GET kbn:/api/markdowns/5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e ' x-state: Experimental; added in 9.6.0 x-metaTags: - content: Kibana name: product_name put: description: '**Spaces method and path for this operation:**
put /s/{space_id}/api/markdowns/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information. Replaces the full state of a markdown library item. Partial updates are not supported. To make incremental changes, retrieve the item first, modify the fields you need, then send the complete object back. If no item exists with the specified ID, a new one is created. ' operationId: put-markdowns-id parameters: - description: A required header to protect against CSRF attacks in: header name: kbn-xsrf required: true schema: example: 'true' type: string - description: The unique ID of the markdown library item to be created or updated. in: path name: id required: true schema: type: string requestBody: content: application/json: examples: upsertMarkdown: summary: Upsert a markdown library item value: content: '## Web logs overview A quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`). **Key metrics in this dashboard:** - Total request count by HTTP method - Average response size over time - Geographic distribution of client IPs - _New:_ error rate broken down by status code > Use the time picker above to narrow the dashboard to an incident window. For field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data). ' description: Intro and context for the web logs dashboard. settings: open_links_in_new_tab: true title: Web logs overview schema: additionalProperties: false type: object properties: content: description: The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings. type: string description: description: A short description of the markdown library item. type: string settings: additionalProperties: false default: open_links_in_new_tab: true description: Display settings for the markdown panel. type: object properties: open_links_in_new_tab: default: true description: Open links in a new browser tab. type: boolean title: description: The markdown library item title. minLength: 1 type: string required: - content - title responses: '200': content: application/json: examples: updatedMarkdownResponse: description: The complete updated markdown library item state after a full replacement. PUT replaces the entire item, so any fields omitted from the request are reset to their defaults. summary: Update markdown library item response value: data: content: '## Web logs overview A quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`). **Key metrics in this dashboard:** - Total request count by HTTP method - Average response size over time - Geographic distribution of client IPs - _New:_ error rate broken down by status code > Use the time picker above to narrow the dashboard to an incident window. For field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data). ' description: Intro and context for the web logs dashboard. settings: open_links_in_new_tab: true title: Web logs overview id: 5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e meta: created_at: '2026-04-13T10:00:00.000Z' managed: false updated_at: '2026-04-13T11:00:00.000Z' version: WzYwLDFd schema: additionalProperties: false type: object properties: data: additionalProperties: false type: object properties: content: description: The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings. type: string description: description: A short description of the markdown library item. type: string settings: additionalProperties: false default: open_links_in_new_tab: true description: Display settings for the markdown panel. type: object properties: open_links_in_new_tab: default: true description: Open links in a new browser tab. type: boolean title: description: The markdown library item title. minLength: 1 type: string required: - content - title id: description: The unique ID of the markdown library item, as returned by the create or search endpoints. type: string meta: $ref: '#/components/schemas/Kibana_HTTP_APIs_kbn-as-code-meta' required: - id - data - meta description: updated '201': content: application/json: examples: createdMarkdownResponse: description: Returned when the upsert created a new item because no item existed with the specified ID. summary: Create markdown library item response (via upsert) value: data: content: '## Web logs overview A quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`). **Key metrics in this dashboard:** - Total request count by HTTP method - Average response size over time - Geographic distribution of client IPs > Use the time picker above to narrow the dashboard to an incident window. For field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data). ' description: Intro and context for the web logs dashboard. settings: open_links_in_new_tab: true title: Web logs overview id: web-logs-overview meta: created_at: '2026-04-13T10:00:00.000Z' managed: false updated_at: '2026-04-13T10:00:00.000Z' version: WzU5LDFd schema: additionalProperties: false type: object properties: data: additionalProperties: false type: object properties: content: description: The Markdown text rendered by the panel. Supports GitHub-flavored Markdown, including headings, paragraphs, lists, links, images, tables, blockquotes, and code blocks. Use `\n` for line breaks within JSON strings. type: string description: description: A short description of the markdown library item. type: string settings: additionalProperties: false default: open_links_in_new_tab: true description: Display settings for the markdown panel. type: object properties: open_links_in_new_tab: default: true description: Open links in a new browser tab. type: boolean title: description: The markdown library item title. minLength: 1 type: string required: - content - title id: description: The unique ID of the markdown library item, as returned by the create or search endpoints. type: string meta: $ref: '#/components/schemas/Kibana_HTTP_APIs_kbn-as-code-meta' required: - id - data - meta description: created '400': description: invalid request '403': description: forbidden summary: Upsert a markdown library item tags: - Markdowns x-codeSamples: - label: Upsert a markdown library item - cURL lang: cURL source: "curl -X PUT \"${KIBANA_URL}/api/markdowns/5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e\" \\\n -H \"Authorization: ApiKey ${API_KEY}\" \\\n -H \"kbn-xsrf: true\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"title\": \"Web logs overview\",\n \"description\": \"Intro and context for the web logs dashboard.\",\n \"content\": \"## Web logs overview\\n\\nA quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`).\\n\\n**Key metrics in this dashboard:**\\n\\n- Total request count by HTTP method\\n- Average response size over time\\n- Geographic distribution of client IPs\\n- _New:_ error rate broken down by status code\\n\\n> Use the time picker above to narrow the dashboard to an incident window.\\n\\nFor field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data).\\n\",\n \"settings\": {\n \"open_links_in_new_tab\": true\n }\n}'\n" - label: Upsert a markdown library item - Console lang: Console source: "PUT kbn:/api/markdowns/5e1f3a20-c4d6-11ef-be8b-3c7c2b9d1f4e\n{\n \"title\": \"Web logs overview\",\n \"description\": \"Intro and context for the web logs dashboard.\",\n \"content\": \"## Web logs overview\\n\\nA quick reference for the **Kibana sample web logs** dataset (`kibana_sample_data_logs`).\\n\\n**Key metrics in this dashboard:**\\n\\n- Total request count by HTTP method\\n- Average response size over time\\n- Geographic distribution of client IPs\\n- _New:_ error rate broken down by status code\\n\\n> Use the time picker above to narrow the dashboard to an incident window.\\n\\nFor field reference, see the [sample data documentation](https://www.elastic.co/docs/manage-data/ingest/sample-data).\\n\",\n \"settings\": {\n \"open_links_in_new_tab\": true\n }\n}\n" x-state: Experimental; added in 9.6.0 x-metaTags: - content: Kibana name: product_name components: schemas: Kibana_HTTP_APIs_kbn-as-code-meta: additionalProperties: false type: object properties: created_at: description: Timestamp when the object was created (ISO 8601). type: string created_by: description: User profile ID of the user who created the object. type: string managed: description: When `true`, the object is managed by Kibana and cannot be edited by users. type: boolean owner: description: Identifier of the plugin or team that owns this object. type: string updated_at: description: Timestamp when the object was last updated (ISO 8601). type: string updated_by: description: User profile ID of the user who last updated the object. type: string version: description: Internal version identifier for optimistic concurrency control. type: string securitySchemes: apiKeyAuth: description: 'These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey` ' in: header name: Authorization type: apiKey basicAuth: scheme: basic type: http x-topics: - title: Kibana spaces content: "Spaces enable you to organize your dashboards and other saved objects into meaningful categories.\nYou can use the default space or create your own spaces.\n\nTo run APIs in non-default spaces, you must add `s/{space_id}/` to the path.\nFor example:\n\n```bash\ncurl -X GET \"http://${KIBANA_URL}/s/marketing/api/data_views\" \\\n -H \"Authorization: ApiKey ${API_KEY}\"\n```\n\nIf you use the Kibana console to send API requests, it automatically adds the appropriate space identifier.\n\nTo learn more, check out [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces).\n"