diff --git a/dev_docs/tutorials/saved_objects.mdx b/dev_docs/tutorials/saved_objects.mdx index f93d774e663f3..233795374f2e9 100644 --- a/dev_docs/tutorials/saved_objects.mdx +++ b/dev_docs/tutorials/saved_objects.mdx @@ -18,7 +18,7 @@ import { SavedObjectsType } from 'src/core/server'; export const dashboardVisualization: SavedObjectsType = { name: 'dashboard_visualization', [1] - hidden: true, + hidden: true, [3] switchToModelVersionAt: '8.10.0', // this is the default, feel free to omit it unless you intend to switch to using model versions before 8.10.0 namespaceType: 'multiple-isolated', [2] mappings: { @@ -46,6 +46,9 @@ these should follow our API URL path convention and always be written in snake c that objects of this type can only exist in a single space. See for more information. +[3] This field determines whether repositories have access to the type by default. Hidden types will not be automatically exposed via the Saved Objects Client APIs. +Hidden types must be listed in `SavedObjectsClientProviderOptions[includedHiddenTypes]` to be accessible by the client. + **src/plugins/my_plugin/server/saved_objects/index.ts** ```ts @@ -301,4 +304,4 @@ export const foo: SavedObjectsType = { [1] Needs to be `false` to use the `hiddenFromHttpApis` option -[2] Set this to `true` to build your own HTTP API and have complete control over the route handler. \ No newline at end of file +[2] Set this to `true` to build your own HTTP API and have complete control over the route handler. diff --git a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts index 1912863b52703..a29875a733d68 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts @@ -37,7 +37,12 @@ export interface SavedObjectsType { * The hidden types will not be automatically exposed via the HTTP API. * Therefore, that should prevent unexpected behavior in the client code, as all the interactions will be done via the plugin API. * + * Hidden types must be listed to be accessible by the client. + * + * (await context.core).savedObjects.getClient({ includeHiddenTypes: [MY_PLUGIN_HIDDEN_SAVED_OBJECT_TYPE] }) + * * See {@link SavedObjectsServiceStart.createInternalRepository | createInternalRepository}. + * */ hidden: boolean; /**