{"resources":{"notion":{"id":"notion","name":"notion","fields":{"asset":{"name":"asset","type":"\u001basset","title":"Asset this root belongs to","desc":"Platform, version, identity and labels of the asset this root describes.","provider":"go.mondoo.com/mql/providers/notion","is_implicit_resource":true},"bot":{"name":"bot","type":"\u001bnotion.bot","title":"Notion integration's bot identity","desc":"The bot user that represents this integration's internal integration token, returned by Notion's users/me endpoint. The ownerType field is the resource's key security signal: an integration owned by workspace survives the departure of whoever created it, while one owned by user is tied to that person's account and typically loses access when they leave. Notion's public API does not report the read, insert, update, or comment capabilities granted to an integration, those are configured on the integration's settings page and must be reviewed there.","provider":"go.mondoo.com/mql/providers/notion","is_implicit_resource":true,"maturity":"experimental"},"database":{"name":"database","type":"\u001bnotion.database","title":"Notion database","desc":"A database visible to the integration, discovered through Notion's search endpoint and selected by id, for example notion.database(id: \"a1b2c3d4...\"). Exposes sharing exposure through publicUrl (set only when the database has been published to the web via Notion Sites) and edit recency through lastEditedTime, the two signals most security audits need: is this content publicly reachable, and is it actively maintained or abandoned. The parentPage reference resolves the page a database is nested under, when there is one.","provider":"go.mondoo.com/mql/providers/notion","is_implicit_resource":true,"maturity":"experimental"},"databases":{"name":"databases","type":"\u0019\u001bnotion.database","title":"Databases visible to this integration through Notion's sharing model","provider":"go.mondoo.com/mql/providers/notion"},"page":{"name":"page","type":"\u001bnotion.page","title":"Notion page","desc":"A page visible to the integration, discovered through Notion's search endpoint and selected by id, for example notion.page(id: \"a1b2c3d4...\"). Like notion.database, its publicUrl and lastEditedTime are the primary security signals: public sharing exposure and content staleness. The parentDatabase and parentPage references resolve the page's container, when the API reports one, a page can otherwise sit directly under the workspace or a block. The properties field carries the page's raw property values as Notion returns them, keyed by property name, so a property with no field of its own is still reachable there.","provider":"go.mondoo.com/mql/providers/notion","is_implicit_resource":true,"maturity":"experimental"},"pages":{"name":"pages","type":"\u0019\u001bnotion.page","title":"Pages visible to this integration through Notion's sharing model","provider":"go.mondoo.com/mql/providers/notion"},"user":{"name":"user","type":"\u001bnotion.user","title":"Notion workspace member or bot","desc":"A user visible to the integration through Notion's users endpoint, selected by id, for example notion.user(id: \"a1b2c3d4...\"). Covers both human workspace members (type == \"person\") and bot users representing other integrations installed in the same workspace (type == \"bot\"). The email field is set only for person-type users, and only when the integration was granted the \"read user information with email\" capability, otherwise it is null. Bot-type users additionally expose botOwnerType and botOwner, mirroring the fields on notion.bot, since a workspace can contain bots belonging to integrations other than this one. Notion's base API does not report a member/guest role, so this resource cannot distinguish a guest from a full workspace member.","provider":"go.mondoo.com/mql/providers/notion","is_implicit_resource":true,"maturity":"experimental"},"users":{"name":"users","type":"\u0019\u001bnotion.user","title":"Workspace members and bots visible to this integration","provider":"go.mondoo.com/mql/providers/notion"},"workspace":{"name":"workspace","type":"\u001bnotion.workspace","title":"Notion workspace as seen through a connected integration","desc":"Workspace-level information visible to an internal integration. Notion's REST API has no dedicated workspace endpoint: the name comes from the integration's own bot identity. Settings that require full workspace administration, such as enforced SSO, allowed email domains, or member provisioning, are reported only by the separate Enterprise SCIM and Audit Log APIs, so they are not readable through an internal integration token.","provider":"go.mondoo.com/mql/providers/notion","is_implicit_resource":true,"maturity":"experimental"}},"title":"Notion workspace integration","desc":"Root of a Notion integration connected through an internal integration token. Exposes the bot identity of the integration itself, the workspace members and bots visible to it, and the pages and databases the integration has been given access to through Notion's per-page sharing model. The Notion REST API is scoped to content an integration has been explicitly connected to, it does not provide workspace-wide administration data such as SSO enforcement or member provisioning, which requires the separate Enterprise SCIM and Audit Log APIs.","min_provider_version":"14.0.0","provider":"go.mondoo.com/mql/providers/notion","maturity":"experimental","root":true},"notion.bot":{"id":"notion.bot","name":"notion.bot","fields":{"avatarUrl":{"name":"avatarUrl","type":"\u0007","is_mandatory":true,"title":"Avatar image URL","provider":"go.mondoo.com/mql/providers/notion"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Bot user ID","provider":"go.mondoo.com/mql/providers/notion"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Integration display name","provider":"go.mondoo.com/mql/providers/notion"},"owner":{"name":"owner","type":"\u001bnotion.user","title":"Individual owner of the integration, set only when ownerType is 'user'","provider":"go.mondoo.com/mql/providers/notion"},"ownerType":{"name":"ownerType","type":"\u0007","is_mandatory":true,"title":"Owner type of the integration, either 'workspace' or 'user', null when Notion does not report it","provider":"go.mondoo.com/mql/providers/notion"},"workspaceName":{"name":"workspaceName","type":"\u0007","is_mandatory":true,"title":"Name of the workspace this integration is installed in, null when Notion does not report it","provider":"go.mondoo.com/mql/providers/notion"}},"title":"Notion integration's bot identity","desc":"The bot user that represents this integration's internal integration token, returned by Notion's users/me endpoint. The ownerType field is the resource's key security signal: an integration owned by workspace survives the departure of whoever created it, while one owned by user is tied to that person's account and typically loses access when they leave. Notion's public API does not report the read, insert, update, or comment capabilities granted to an integration, those are configured on the integration's settings page and must be reviewed there.","min_provider_version":"14.0.0","defaults":"id name ownerType","provider":"go.mondoo.com/mql/providers/notion","maturity":"experimental"},"notion.database":{"id":"notion.database","name":"notion.database","fields":{"archived":{"name":"archived","type":"\u0004","is_mandatory":true,"title":"Whether the database is archived","provider":"go.mondoo.com/mql/providers/notion"},"createdTime":{"name":"createdTime","type":"\t","is_mandatory":true,"title":"Creation time","provider":"go.mondoo.com/mql/providers/notion"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Database ID","provider":"go.mondoo.com/mql/providers/notion"},"isPubliclyShared":{"name":"isPubliclyShared","type":"\u0004","title":"Whether the database has been published to the web and is reachable without a Notion account","provider":"go.mondoo.com/mql/providers/notion"},"lastEditedTime":{"name":"lastEditedTime","type":"\t","is_mandatory":true,"title":"Last edit time","provider":"go.mondoo.com/mql/providers/notion"},"parentPage":{"name":"parentPage","type":"\u001bnotion.page","title":"Parent page, set only when the database is nested under a page rather than the workspace or a block","provider":"go.mondoo.com/mql/providers/notion"},"publicUrl":{"name":"publicUrl","type":"\u0007","is_mandatory":true,"title":"Public URL if the database has been published to the web, empty otherwise","provider":"go.mondoo.com/mql/providers/notion"},"title":{"name":"title","type":"\u0007","is_mandatory":true,"title":"Database title","provider":"go.mondoo.com/mql/providers/notion"},"url":{"name":"url","type":"\u0007","is_mandatory":true,"title":"Notion URL for viewing the database in the app","provider":"go.mondoo.com/mql/providers/notion"}},"init":{"args":[{"name":"id","type":"\u0007"}]},"title":"Notion database","desc":"A database visible to the integration, discovered through Notion's search endpoint and selected by id, for example notion.database(id: \"a1b2c3d4...\"). Exposes sharing exposure through publicUrl (set only when the database has been published to the web via Notion Sites) and edit recency through lastEditedTime, the two signals most security audits need: is this content publicly reachable, and is it actively maintained or abandoned. The parentPage reference resolves the page a database is nested under, when there is one.","min_provider_version":"14.0.0","defaults":"id title","provider":"go.mondoo.com/mql/providers/notion","maturity":"experimental"},"notion.page":{"id":"notion.page","name":"notion.page","fields":{"archived":{"name":"archived","type":"\u0004","is_mandatory":true,"title":"Whether the page is archived","provider":"go.mondoo.com/mql/providers/notion"},"createdTime":{"name":"createdTime","type":"\t","is_mandatory":true,"title":"Creation time","provider":"go.mondoo.com/mql/providers/notion"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Page ID","provider":"go.mondoo.com/mql/providers/notion"},"isPubliclyShared":{"name":"isPubliclyShared","type":"\u0004","title":"Whether the page has been published to the web and is reachable without a Notion account","provider":"go.mondoo.com/mql/providers/notion"},"lastEditedTime":{"name":"lastEditedTime","type":"\t","is_mandatory":true,"title":"Last edit time","provider":"go.mondoo.com/mql/providers/notion"},"parentDatabase":{"name":"parentDatabase","type":"\u001bnotion.database","title":"Parent database, set only when the page is a row of a database","provider":"go.mondoo.com/mql/providers/notion"},"parentPage":{"name":"parentPage","type":"\u001bnotion.page","title":"Parent page, set only when the page is nested under another page","provider":"go.mondoo.com/mql/providers/notion"},"properties":{"name":"properties","type":"\n","is_mandatory":true,"title":"Raw page properties as returned by the API, keyed by property name","provider":"go.mondoo.com/mql/providers/notion"},"publicUrl":{"name":"publicUrl","type":"\u0007","is_mandatory":true,"title":"Public URL if the page has been published to the web, empty otherwise","provider":"go.mondoo.com/mql/providers/notion"},"title":{"name":"title","type":"\u0007","is_mandatory":true,"title":"Page title, extracted from the title-type property","provider":"go.mondoo.com/mql/providers/notion"},"url":{"name":"url","type":"\u0007","is_mandatory":true,"title":"Notion URL for viewing the page in the app","provider":"go.mondoo.com/mql/providers/notion"}},"init":{"args":[{"name":"id","type":"\u0007"}]},"title":"Notion page","desc":"A page visible to the integration, discovered through Notion's search endpoint and selected by id, for example notion.page(id: \"a1b2c3d4...\"). Like notion.database, its publicUrl and lastEditedTime are the primary security signals: public sharing exposure and content staleness. The parentDatabase and parentPage references resolve the page's container, when the API reports one, a page can otherwise sit directly under the workspace or a block. The properties field carries the page's raw property values as Notion returns them, keyed by property name, so a property with no field of its own is still reachable there.","min_provider_version":"14.0.0","defaults":"id title","provider":"go.mondoo.com/mql/providers/notion","maturity":"experimental"},"notion.user":{"id":"notion.user","name":"notion.user","fields":{"avatarUrl":{"name":"avatarUrl","type":"\u0007","is_mandatory":true,"title":"Avatar image URL","provider":"go.mondoo.com/mql/providers/notion"},"botOwner":{"name":"botOwner","type":"\u001bnotion.user","title":"Individual owner of a bot-type user, set only when botOwnerType is 'user'","provider":"go.mondoo.com/mql/providers/notion"},"botOwnerType":{"name":"botOwnerType","type":"\u0007","is_mandatory":true,"title":"Owner type of a bot-type user, either 'workspace' or 'user', null when the user is not a bot or Notion omits the owner","provider":"go.mondoo.com/mql/providers/notion"},"email":{"name":"email","type":"\u0007","is_mandatory":true,"title":"Email address, set only for person-type users when the integration can read it, otherwise null","provider":"go.mondoo.com/mql/providers/notion"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"User ID","provider":"go.mondoo.com/mql/providers/notion"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Display name","provider":"go.mondoo.com/mql/providers/notion"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"User type, either 'person' or 'bot'","provider":"go.mondoo.com/mql/providers/notion"}},"init":{"args":[{"name":"id","type":"\u0007"}]},"title":"Notion workspace member or bot","desc":"A user visible to the integration through Notion's users endpoint, selected by id, for example notion.user(id: \"a1b2c3d4...\"). Covers both human workspace members (type == \"person\") and bot users representing other integrations installed in the same workspace (type == \"bot\"). The email field is set only for person-type users, and only when the integration was granted the \"read user information with email\" capability, otherwise it is null. Bot-type users additionally expose botOwnerType and botOwner, mirroring the fields on notion.bot, since a workspace can contain bots belonging to integrations other than this one. Notion's base API does not report a member/guest role, so this resource cannot distinguish a guest from a full workspace member.","min_provider_version":"14.0.0","defaults":"id name type","provider":"go.mondoo.com/mql/providers/notion","maturity":"experimental"},"notion.workspace":{"id":"notion.workspace","name":"notion.workspace","fields":{"databaseCount":{"name":"databaseCount","type":"\u0005","title":"Number of databases visible to this integration","provider":"go.mondoo.com/mql/providers/notion"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Workspace name, from the integration's bot identity","provider":"go.mondoo.com/mql/providers/notion"},"pageCount":{"name":"pageCount","type":"\u0005","title":"Number of pages visible to this integration","provider":"go.mondoo.com/mql/providers/notion"},"userCount":{"name":"userCount","type":"\u0005","title":"Number of workspace members and bots visible to this integration","provider":"go.mondoo.com/mql/providers/notion"}},"title":"Notion workspace as seen through a connected integration","desc":"Workspace-level information visible to an internal integration. Notion's REST API has no dedicated workspace endpoint: the name comes from the integration's own bot identity. Settings that require full workspace administration, such as enforced SSO, allowed email domains, or member provisioning, are reported only by the separate Enterprise SCIM and Audit Log APIs, so they are not readable through an internal integration token.","min_provider_version":"14.0.0","defaults":"name","provider":"go.mondoo.com/mql/providers/notion","maturity":"experimental"}},"dependencies":{"core":{"id":"go.mondoo.com/mql/providers/core","name":"core"}},"provider_roots":{"go.mondoo.com/mql/providers/notion":"notion"}}