Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Docs] Clarify that payload of import/export APIs should be treated as opaque #159453

Open
rudolf opened this issue Jun 12, 2023 · 1 comment
Open
Assignees
Labels
documentation Feature:Saved Objects Management Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@rudolf
Copy link
Contributor

rudolf commented Jun 12, 2023

While the path, query paramaters and body format (ndjson) are stable, the individual saved object records are not stable. Between versions we can add, remove or change fields. We have observed some users integrations breaking because they were indirectly relying on the format of the individual records instead of treating them as opaque.

As a concrete example we've seen users use a validation schema to process the output of the export API and this validation would drop unknown fields. When, inevitably, a new field gets introduced it's silently dropped causing unexpected failures.

We should clearly document how users should integrate into this API to help them avoid these problems.

See:
https://www.elastic.co/guide/en/kibana/current/dashboard-import-api.html
https://www.elastic.co/guide/en/kibana/current/saved-objects-api-export.html

@rudolf rudolf added the Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc label Jun 12, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Feature:Saved Objects Management Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests

4 participants