openapi: 3.0.3
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 APIs Actions APM sourcemaps 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:
- description: 'Configure APM source maps. A source map allows minified files to be mapped back to original source code--allowing you to maintain the speed advantage of minified code, without losing the ability to quickly and easily debug your application.
For best results, uploading source maps should become a part of your deployment procedure, and not something you only do when you see unhelpful errors. That''s because uploading source maps after errors happen won''t make old errors magically readable--errors must occur again for source mapping to occur.
'
name: APM sourcemaps
paths:
/api/apm/sourcemaps:
get:
description: '**Spaces method and path for this operation:**
get /s/{space_id}/api/apm/sourcemaps
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Get an array of Fleet artifacts, including source map uploads. You must have `read` or `all` Kibana privileges for the APM and User Experience feature.
'
operationId: getSourceMaps
parameters:
- $ref: '#/components/parameters/APM_UI_elastic_api_version'
- description: Page number
in: query
name: page
schema:
type: number
- description: Number of records per page
in: query
name: perPage
schema:
type: number
responses:
'200':
content:
application/json:
examples:
getSourceMapsResponse1:
$ref: '#/components/examples/APM_UI_source_maps_get_200_response1'
schema:
$ref: '#/components/schemas/APM_UI_source_maps_response'
description: Successful response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_400_response'
description: Bad Request response
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_401_response'
description: Unauthorized response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_500_response'
description: Internal Server Error response
'501':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_501_response'
description: Not Implemented response
summary: Get source maps
tags:
- APM sourcemaps
x-codeSamples:
- lang: Curl
source: 'curl -X GET "http://localhost:5601/api/apm/sourcemaps" \
-H ''Content-Type: application/json'' \
-H ''kbn-xsrf: true'' \
-H ''Authorization: ApiKey ${YOUR_API_KEY}''
'
x-metaTags:
- content: Kibana
name: product_name
post:
description: '**Spaces method and path for this operation:**
post /s/{space_id}/api/apm/sourcemaps
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Upload a source map for a specific service and version. You must have `all` Kibana privileges for the APM and User Experience feature.
The maximum payload size is `1mb`. If you attempt to upload a source map that exceeds the maximum payload size, you will get a 413 error. Before uploading source maps that exceed this default, change the maximum payload size allowed by Kibana with the `server.maxPayload` variable.
'
operationId: uploadSourceMap
parameters:
- $ref: '#/components/parameters/APM_UI_elastic_api_version'
- $ref: '#/components/parameters/APM_UI_kbn_xsrf'
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/APM_UI_upload_source_map_object'
required: true
responses:
'200':
content:
application/json:
examples:
uploadSourceMapResponse1:
$ref: '#/components/examples/APM_UI_source_maps_upload_200_response1'
schema:
$ref: '#/components/schemas/APM_UI_upload_source_maps_response'
description: Successful response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_400_response'
description: Bad Request response
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_401_response'
description: Unauthorized response
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_403_response'
description: Forbidden response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_500_response'
description: Internal Server Error response
'501':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_501_response'
description: Not Implemented response
summary: Upload a source map
tags:
- APM sourcemaps
x-codeSamples:
- lang: Curl
source: "curl -X POST \"http://localhost:5601/api/apm/sourcemaps\" \\\n-H 'Content-Type: multipart/form-data' \\\n-H 'kbn-xsrf: true' \\\n-H 'Authorization: ApiKey ${YOUR_API_KEY}' \\\n-F 'service_name=\"foo\"' \\\n-F 'service_version=\"1.0.0\"' \\\n-F 'bundle_filepath=\"/test/e2e/general-usecase/bundle.js\"' \\\n-F 'sourcemap=\"{\\\"version\\\":3,\\\"file\\\":\\\"static/js/main.chunk.js\\\",\\\"sources\\\":[\\\"fleet-source-map-client/src/index.css\\\",\\\"fleet-source-map-client/src/App.js\\\",\\\"webpack:///./src/index.css?bb0a\\\",\\\"fleet-source-map-client/src/index.js\\\",\\\"fleet-source-map-client/src/reportWebVitals.js\\\"],\\\"sourcesContent\\\":[\\\"content\\\"],\\\"mappings\\\":\\\"mapping\\\",\\\"sourceRoot\\\":\\\"\\\"}\"' \n"
x-metaTags:
- content: Kibana
name: product_name
/api/apm/sourcemaps/{id}:
delete:
description: '**Spaces method and path for this operation:**
delete /s/{space_id}/api/apm/sourcemaps/{id}
Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.
Delete a previously uploaded source map. You must have `all` Kibana privileges for the APM and User Experience feature.
'
operationId: deleteSourceMap
parameters:
- $ref: '#/components/parameters/APM_UI_elastic_api_version'
- $ref: '#/components/parameters/APM_UI_kbn_xsrf'
- description: Source map identifier
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
examples:
deleteSourceMapResponseExample1:
$ref: '#/components/examples/APM_UI_source_maps_delete_200_response1'
schema:
additionalProperties: false
description: The response body is intentionally empty for this endpoint.
type: object
description: Successful response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_400_response'
description: Bad Request response
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_401_response'
description: Unauthorized response
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_403_response'
description: Forbidden response
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_500_response'
description: Internal Server Error response
'501':
content:
application/json:
schema:
$ref: '#/components/schemas/APM_UI_501_response'
description: Not Implemented response
summary: Delete source map
tags:
- APM sourcemaps
x-codeSamples:
- lang: Curl
source: 'curl -X DELETE "http://localhost:5601/api/apm/sourcemaps/apm:foo-1.0.0-644fd5a9" \
-H ''Content-Type: application/json'' \
-H ''kbn-xsrf: true'' \
-H ''Authorization: ApiKey ${YOUR_API_KEY}''
'
x-metaTags:
- content: Kibana
name: product_name
components:
schemas:
APM_UI_base_source_map_object:
type: object
properties:
compressionAlgorithm:
description: Compression Algorithm
type: string
created:
description: Created date
type: string
decodedSha256:
description: Decoded SHA-256
type: string
decodedSize:
description: Decoded size
type: number
encodedSha256:
description: Encoded SHA-256
type: string
encodedSize:
description: Encoded size
type: number
encryptionAlgorithm:
description: Encryption Algorithm
type: string
id:
description: Identifier
type: string
identifier:
description: Identifier
type: string
packageName:
description: Package name
type: string
relative_url:
description: Relative URL
type: string
type:
description: Type
type: string
APM_UI_403_response:
type: object
properties:
error:
description: Error type
example: Forbidden
type: string
message:
description: Error message
type: string
statusCode:
description: Error status code
example: 403
type: number
APM_UI_401_response:
type: object
properties:
error:
description: Error type
example: Unauthorized
type: string
message:
description: Error message
type: string
statusCode:
description: Error status code
example: 401
type: number
APM_UI_501_response:
type: object
properties:
error:
description: Error type
example: Not Implemented
type: string
message:
description: Error message
example: Not Implemented
type: string
statusCode:
description: Error status code
example: 501
type: number
APM_UI_500_response:
type: object
properties:
error:
description: Error type
example: Internal Server Error
type: string
message:
description: Error message
type: string
statusCode:
description: Error status code
example: 500
type: number
APM_UI_400_response:
type: object
properties:
error:
description: Error type
example: Not Found
type: string
message:
description: Error message
example: Not Found
type: string
statusCode:
description: Error status code
example: 400
type: number
APM_UI_upload_source_map_object:
type: object
properties:
bundle_filepath:
description: The absolute path of the final bundle as used in the web application.
type: string
service_name:
description: The name of the service that the service map should apply to.
type: string
service_version:
description: The version of the service that the service map should apply to.
type: string
sourcemap:
description: 'The source map. It can be a string or file upload. It must follow the
[source map format specification](https://tc39.es/ecma426/).
'
format: binary
type: string
required:
- service_name
- service_version
- bundle_filepath
- sourcemap
APM_UI_source_maps_response:
type: object
properties:
artifacts:
description: Artifacts
items:
allOf:
- type: object
properties:
body:
type: object
properties:
bundleFilepath:
type: string
serviceName:
type: string
serviceVersion:
type: string
sourceMap:
type: object
properties:
file:
type: string
mappings:
type: string
sourceRoot:
type: string
sources:
items:
type: string
type: array
sourcesContent:
items:
type: string
type: array
version:
type: number
- $ref: '#/components/schemas/APM_UI_base_source_map_object'
type: array
APM_UI_upload_source_maps_response:
allOf:
- type: object
properties:
body:
type: string
- $ref: '#/components/schemas/APM_UI_base_source_map_object'
parameters:
APM_UI_kbn_xsrf:
description: A required header to protect against CSRF attacks
in: header
name: kbn-xsrf
required: true
schema:
example: 'true'
type: string
APM_UI_elastic_api_version:
description: The version of the API to use
in: header
name: elastic-api-version
required: true
schema:
default: '2023-10-31'
enum:
- '2023-10-31'
type: string
examples:
APM_UI_source_maps_delete_200_response1:
description: An example of a successful response from `DELETE /api/apm/sourcemaps/{id}`. The response body is intentionally empty.
value: {}
APM_UI_source_maps_get_200_response1:
description: A successful response from `GET /api/apm/sourcemaps`.
value:
artifacts:
- body:
bundleFilepath: /test/e2e/general-usecase/bundle.js
serviceName: foo
serviceVersion: 1.0.0
sourceMap:
file: static/js/main.chunk.js
mappings: mapping
sourceRoot: ''
sources:
- fleet-source-map-client/src/index.css
- fleet-source-map-client/src/App.js
- webpack:///./src/index.css?bb0a
- fleet-source-map-client/src/index.js
- fleet-source-map-client/src/reportWebVitals.js
sourcesContent:
- content
version: 3
compressionAlgorithm: zlib
created: '2021-07-09T20:47:44.812Z'
decodedSha256: 644fd5a997d1ddd90ee131ba18e2b3d03931d89dd1fe4599143c0b3264b3e456
decodedSize: 441
encodedSha256: 024c72749c3e3dd411b103f7040ae62633558608f480bce4b108cf5b2275bd24
encodedSize: 237
encryptionAlgorithm: none
id: apm:foo-1.0.0-644fd5a997d1ddd90ee131ba18e2b3d03931d89dd1fe4599143c0b3264b3e456
identifier: foo-1.0.0
packageName: apm
relative_url: /api/fleet/artifacts/foo-1.0.0/644fd5a997d1ddd90ee131ba18e2b3d03931d89dd1fe4599143c0b3264b3e456
type: sourcemap
APM_UI_source_maps_upload_200_response1:
description: A successful response from `POST /api/apm/sourcemaps`.
value:
body: eJyFkL1OwzAUhd/Fc+MbYMuCEBIbHRjKgBgc96R16tiWr1OQqr47NwqJxEK3q/PzWccXxchnZ7E1A1SjuhjVZtF2yOxiEPlO17oWox3D3uPFeSRTjmJQARfCPeiAgGx8NTKsYdAc1T3rwaSJGcds8Sp3c1HnhfywUZ3QhMTFFGepZxqMC9oex3CS9tpk1XyozgOlmoVKuJX1DqEQZ0su7PGtLU+V/3JPKc3cL7TJ2FNDRPov4bFta3MDM4f7W69lpJjLO9qdK8bzVPhcJz3HUCQ4LbO/p5hCSC4cZPByrp/wFqOklbpefwAhzpqI
compressionAlgorithm: zlib
created: '2021-07-09T20:47:44.812Z'
decodedSha256: 644fd5a997d1ddd90ee131ba18e2b3d03931d89dd1fe4599143c0b3264b3e456
decodedSize: 441
encodedSha256: 024c72749c3e3dd411b103f7040ae62633558608f480bce4b108cf5b2275bd24
encodedSize: 237
encryptionAlgorithm: none
id: apm:foo-1.0.0-644fd5a997d1ddd90ee131ba18e2b3d03931d89dd1fe4599143c0b3264b3e456
identifier: foo-1.0.0
packageName: apm
relative_url: /api/fleet/artifacts/foo-1.0.0/644fd5a997d1ddd90ee131ba18e2b3d03931d89dd1fe4599143c0b3264b3e456
type: sourcemap
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"