Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.
The Kodexa platform provides a powerful way to manage and organize your data processing workflows. One of the key concepts in Kodexa is the Organization, which serves as a container for various resources and settings. This article will explore the Organization concept and demonstrate how to interact with it using the Kodexa client.
Interacting with Organizations using the Kodexa Client
The Kodexa client provides a convenient way to interact with Organizations programmatically. Let’s explore some common operations you can perform using the client.
To work with an Organization, you typically use the OrganizationEndpoint class. This class provides methods to retrieve and modify Organization-related data.
from kodexa import KodexaClient, OrganizationEndpoint# Assuming you have already initialized the KodexaClientclient = KodexaClient(...)# Get the Organization endpointorganization = client.organization("your-org-slug")
Organizations have access to various resources such as templates, models, and assistants. You can retrieve these using the following methods:
# Get available templatestemplates = organization.available_templates# Get available modelsmodels = organization.available_models# Get available assistantsassistants = organization.available_assistants
Organizations can subscribe to different products within the Kodexa platform. Here’s how you can manage products and subscriptions:
# List available productsproducts = client.products.list()# Add a subscription to a productorganization.add_subscription(product)# Get current subscriptionssubscriptions = organization.get_subscriptions()# Remove a subscriptionorganization.remove_subscription(subscription)
Example: Adding and Removing a Product Subscription
Let’s walk through an example of adding and removing a product subscription for an Organization:
def manage_product_subscription(client: KodexaClient, organization: OrganizationEndpoint): # List available products products = client.products.list() if len(products.content) > 0: # Select the first product test_product = products.content[0] # Add subscription to the product organization.add_subscription(test_product) # Get current subscriptions subscriptions = organization.get_subscriptions() # Remove the subscription we just added for subscription in subscriptions.content: if subscription.organization.slug == organization.slug: organization.remove_subscription(subscription) # Verify that the subscription was removed updated_subscriptions = organization.get_subscriptions() assert len(updated_subscriptions.content) == 0
Some organization-wide behaviour is controlled from Manage → Organization Profile → Features. These settings are stored on the organization’s features object and apply to every project and user in the organization. (Manage is the top-level administration area introduced in 2026.6 — see Manage.)
Enabling user presence & activity tracking is a form of workforce monitoring. Your organization acts as the data controller for the collected information and is responsible for ensuring the collection is lawful in your jurisdiction — including having a valid lawful basis and notifying the affected individuals. Review the on-screen legal & privacy callout before enabling it.
Presence tracking is off by default. When an administrator enables Presence tracking on the Features tab, the platform sets features.presenceTrackingEnabled = true on the organization and begins collecting a small set of derived, per-user signals to power presence (“who is online”) and task-open timing views:
A periodic presence heartbeat (roughly every two minutes while the tab is visible, throttled while it is hidden) recording whether the user is active (recent mouse, keyboard, touch, or scroll input) versus idle, and whether the browser tab is visible.
Task and task-group open events, including how long the task took to load.
No raw input is ever captured — no keystrokes, no mouse coordinates, and no scroll positions. Only the derived active / tabVisible booleans and load timing are recorded, and these signals are tied to the named, authenticated user.Collection is enforced on the server: while the flag is off, the platform silently drops the presence, task, and task-group monitoring events for the organization (failing closed), so nothing is collected without an explicit opt-in. See Publish UI events batch for the event ingestion endpoint.
The Kodexa platform’s Organization concept provides a flexible way to manage resources and settings for your team. By using the Kodexa client, you can easily interact with Organizations programmatically, allowing you to automate various tasks and integrate Kodexa functionality into your workflows.Remember to refer to the Kodexa documentation for the most up-to-date information on available methods and best practices when working with Organizations and the Kodexa client.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kodexa Developer Portal","colors":{"primary":"#2563EB","light":"#93C5FD","dark":"#1E40AF"},"logo":{"light":"https://mintcdn.com/kodexa/fcSOqm-7T1yIp0A8/logo/kodexa-medium.png?fit=max\u0026auto=format\u0026n=fcSOqm-7T1yIp0A8\u0026q=85\u0026s=e34e9f673763b1981e459b1da4304c57","dark":"https://mintcdn.com/kodexa/fcSOqm-7T1yIp0A8/logo/kodexa-medium.png?fit=max\u0026auto=format\u0026n=fcSOqm-7T1yIp0A8\u0026q=85\u0026s=e34e9f673763b1981e459b1da4304c57"},"favicon":"https://mintcdn.com/kodexa/fcSOqm-7T1yIp0A8/logo/favicon-32x32.png?fit=max\u0026auto=format\u0026n=fcSOqm-7T1yIp0A8\u0026q=85\u0026s=3ca807356758cb6160a09ab07e170e34","navbar":{"links":[]},"footer":{"socials":{"github":"https://github.com/kodexa-ai","linkedin":"https://linkedin.com/company/kodexa"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Kodexa","icon":"house","href":"https://www.kodexa.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kodexa","hasAudioNarration":false,"actualSubdomain":"kodexa","customDomains":["developer.kodexa.ai"],"gitSource":{"type":"github","owner":"kodexa-ai","repo":"platform","deployBranch":"releases/2026.10","contentDirectory":"sites/developer.kodexa.ai","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a918736805995acd08a1a23","collectionId":"647a67c3-53de-4aa9-88fb-6c14a6db85a2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a918736805995acd08a1a23"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a98bdaf8e2fd7cdf9be1134","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":1070},{"language":"default","tag":"Guides","count":71},{"language":"default","tag":"Projects","count":52},{"language":"default","tag":"CLI","count":41},{"language":"default","tag":"Tasks","count":32},{"language":"default","tag":"Concepts","count":31},{"language":"default","tag":"DocumentFamilies","count":28},{"language":"default","tag":"Organizations","count":27},{"language":"default","tag":"Data Definitions","count":25},{"language":"default","tag":"Knowledge Features","count":24}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@kodexa.com","showHelpButton":true}},"hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"concepts/organizations","slug":"/concepts/organizations","pageMetadata":{"title":"Organizations","description":"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.","href":"/concepts/organizations"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The Kodexa platform provides a powerful way to manage and organize your data processing workflows. One of the key concepts in Kodexa is the Organization, which serves as a container for various resources and settings. This article will explore the Organization concept and demonstrate how to interact with it using the Kodexa client.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-is-a-kodexa-organization`,children:`What is a Kodexa Organization?`}),`\n`,_jsx(_components.p,{children:`A Kodexa Organization is a logical grouping of resources, settings, and users within the Kodexa platform. It allows you to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Manage access to resources`}),`\n`,_jsx(_components.li,{children:`Configure settings for your team`}),`\n`,_jsx(_components.li,{children:`Organize projects and workflows`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each Organization has a unique identifier (slug) and can have various properties such as a name, description, and associated image.`}),`\n`,_jsx(Heading,{level:`2`,id:`interacting-with-organizations-using-the-kodexa-client`,children:`Interacting with Organizations using the Kodexa Client`}),`\n`,_jsx(_components.p,{children:`The Kodexa client provides a convenient way to interact with Organizations programmatically. Let’s explore some common operations you can perform using the client.`}),`\n`,_jsx(Heading,{level:`3`,id:`accessing-organization-information`,children:`Accessing Organization Information`}),`\n`,_jsxs(_components.p,{children:[`To work with an Organization, you typically use the `,_jsx(_components.code,{children:`OrganizationEndpoint`}),` class. This class provides methods to retrieve and modify Organization-related data.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` kodexa `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` KodexaClient, OrganizationEndpoint`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Assuming you have already initialized the KodexaClient`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` KodexaClient(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Get the Organization endpoint`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`organization `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.organization(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"your-org-slug\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`retrieving-available-resources`,children:`Retrieving Available Resources`}),`\n`,_jsx(_components.p,{children:`Organizations have access to various resources such as templates, models, and assistants. You can retrieve these using the following methods:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Get available templates`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`templates `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.available_templates`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Get available models`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`models `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.available_models`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Get available assistants`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`assistants `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.available_assistants`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`managing-products-and-subscriptions`,children:`Managing Products and Subscriptions`}),`\n`,_jsx(_components.p,{children:`Organizations can subscribe to different products within the Kodexa platform. Here’s how you can manage products and subscriptions:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# List available products`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`products `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.products.list()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Add a subscription to a product`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`organization.add_subscription(product)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Get current subscriptions`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`subscriptions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.get_subscriptions()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Remove a subscription`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`organization.remove_subscription(subscription)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`example-adding-and-removing-a-product-subscription`,children:`Example: Adding and Removing a Product Subscription`}),`\n`,_jsx(_components.p,{children:`Let’s walk through an example of adding and removing a product subscription for an Organization:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`23`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`23`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` manage_product_subscription`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`client`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: KodexaClient, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`organization`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: OrganizationEndpoint):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # List available products`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` products `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.products.list()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(products.content) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Select the first product`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` test_product `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` products.content[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Add subscription to the product`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.add_subscription(test_product)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Get current subscriptions`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscriptions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.get_subscriptions()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Remove the subscription we just added`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscription `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscriptions.content:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` subscription.organization.slug `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.slug:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.remove_subscription(subscription)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Verify that the subscription was removed`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` updated_subscriptions `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` organization.get_subscriptions()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` assert`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` len`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(updated_subscriptions.content) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`==`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 0`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`organization-features`,children:`Organization Features`}),`\n`,_jsxs(_components.p,{children:[`Some organization-wide behaviour is controlled from `,_jsx(_components.strong,{children:`Manage → Organization Profile → Features`}),`. These settings are stored on the organization’s `,_jsx(_components.code,{children:`features`}),` object and apply to every project and user in the organization. (Manage is the top-level administration area introduced in 2026.6 — see `,_jsx(_components.a,{href:`/concepts/manage`,children:`Manage`}),`.)`]}),`\n`,_jsx(Heading,{level:`3`,id:`user-presence-\u0026-activity`,children:`User Presence \u0026 Activity`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Enabling user presence \u0026 activity tracking is a form of workforce monitoring. Your organization acts as the data controller for the collected information and is responsible for ensuring the collection is lawful in your jurisdiction — including having a valid lawful basis and notifying the affected individuals. Review the on-screen legal \u0026 privacy callout before enabling it.`})}),`\n`,_jsxs(_components.p,{children:[`Presence tracking is `,_jsx(_components.strong,{children:`off by default`}),`. When an administrator enables `,_jsx(_components.strong,{children:`Presence tracking`}),` on the Features tab, the platform sets `,_jsx(_components.code,{children:`features.presenceTrackingEnabled = true`}),` on the organization and begins collecting a small set of derived, per-user signals to power presence (“who is online”) and task-open timing views:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A periodic presence heartbeat (roughly every two minutes while the tab is visible, throttled while it is hidden) recording whether the user is `,_jsx(_components.strong,{children:`active`}),` (recent mouse, keyboard, touch, or scroll input) versus idle, and whether the browser tab is visible.`]}),`\n`,_jsx(_components.li,{children:`Task and task-group open events, including how long the task took to load.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No raw input is ever captured`}),` — no keystrokes, no mouse coordinates, and no scroll positions. Only the derived `,_jsx(_components.code,{children:`active`}),` / `,_jsx(_components.code,{children:`tabVisible`}),` booleans and load timing are recorded, and these signals are tied to the named, authenticated user.`]}),`\n`,_jsxs(_components.p,{children:[`Collection is enforced on the server: while the flag is off, the platform silently drops the presence, task, and task-group monitoring events for the organization (failing closed), so nothing is collected without an explicit opt-in. See `,_jsx(_components.a,{href:`/api-reference/events/post-events-ui-batch`,children:`Publish UI events batch`}),` for the event ingestion endpoint.`]}),`\n`,_jsx(Heading,{level:`2`,id:`conclusion`,children:`Conclusion`}),`\n`,_jsx(_components.p,{children:`The Kodexa platform’s Organization concept provides a flexible way to manage resources and settings for your team. By using the Kodexa client, you can easily interact with Organizations programmatically, allowing you to automate various tasks and integrate Kodexa functionality into your workflows.`}),`\n`,_jsx(_components.p,{children:`Remember to refer to the Kodexa documentation for the most up-to-date information on available methods and best practices when working with Organizations and the Kodexa client.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Organizations","description":"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.","href":"/concepts/organizations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What is a Kodexa Organization?","slug":"what-is-a-kodexa-organization","depth":2,"children":[]},{"title":"Interacting with Organizations using the Kodexa Client","slug":"interacting-with-organizations-using-the-kodexa-client","depth":2,"children":[{"title":"Accessing Organization Information","slug":"accessing-organization-information","depth":3,"children":[]},{"title":"Retrieving Available Resources","slug":"retrieving-available-resources","depth":3,"children":[]},{"title":"Managing Products and Subscriptions","slug":"managing-products-and-subscriptions","depth":3,"children":[]}]},{"title":"Example: Adding and Removing a Product Subscription","slug":"example-adding-and-removing-a-product-subscription","depth":2,"children":[]},{"title":"Organization Features","slug":"organization-features","depth":2,"children":[{"title":"User Presence \u0026 Activity","slug":"user-presence-\u0026-activity","depth":3,"children":[]}]},{"title":"Conclusion","slug":"conclusion","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"kodexa","siteName":"Kodexa Developer Portal","title":"Organizations - Kodexa Developer Portal","relatedPagesConfig":{"enabled":false,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-02T10:13:21.711Z","originalFileLocation":"concepts/organizations.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kodexa Developer Portal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Organizations - Kodexa Developer Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kodexa Developer Portal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.kodexa.ai/concepts/organizations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kodexa.mintlify.app/_mintlify/api/og/v2?division=Organization+%26+Projects\u0026amp;title=Organizations\u0026amp;description=Organizations+in+Kodexa+are+logical+containers+for+users%2C+resources%2C+and+settings%2C+enabling+team+collaboration%2C+access+control%2C+and+workflow+management.\u0026amp;theme=b380509fd19b721ffa4cbd60\u0026amp;signature=976b485627bbcd14bb95d23be459dffcf4e00423d7e0e1f15eaa450098f97222\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Organizations - Kodexa Developer Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kodexa.mintlify.app/_mintlify/api/og/v2?division=Organization+%26+Projects\u0026amp;title=Organizations\u0026amp;description=Organizations+in+Kodexa+are+logical+containers+for+users%2C+resources%2C+and+settings%2C+enabling+team+collaboration%2C+access+control%2C+and+workflow+management.\u0026amp;theme=b380509fd19b721ffa4cbd60\u0026amp;signature=976b485627bbcd14bb95d23be459dffcf4e00423d7e0e1f15eaa450098f97222\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kodexa/ECvlLK16-vncGEyW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kodexa Developer Portal\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.kodexa.ai/concepts/organizations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/organizations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.kodexa.ai/#organization\",\"name\":\"Kodexa Developer Portal\",\"url\":\"https://developer.kodexa.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kodexa/fcSOqm-7T1yIp0A8/logo/kodexa-medium.png?fit=max\u0026auto=format\u0026n=fcSOqm-7T1yIp0A8\u0026q=85\u0026s=e34e9f673763b1981e459b1da4304c57\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.kodexa.ai#website\",\"name\":\"Kodexa Developer Portal\",\"url\":\"https://developer.kodexa.ai\",\"publisher\":{\"@id\":\"https://developer.kodexa.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.kodexa.ai/concepts/organizations#webpage\",\"url\":\"https://developer.kodexa.ai/concepts/organizations\",\"name\":\"Organizations\",\"description\":\"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.\",\"dateModified\":\"2026-07-02T10:13:21.711Z\",\"isPartOf\":{\"@id\":\"https://developer.kodexa.ai#website\"},\"breadcrumb\":{\"@id\":\"https://developer.kodexa.ai/concepts/organizations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.kodexa.ai/concepts/organizations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Kodexa Developer Portal\",\"item\":\"https://developer.kodexa.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Organizations\",\"item\":\"https://developer.kodexa.ai/concepts/organizations\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developer.kodexa.ai/concepts/organizations#article\",\"headline\":\"Organizations\",\"name\":\"Organizations\",\"description\":\"Organizations in Kodexa are logical containers for users, resources, and settings, enabling team collaboration, access control, and workflow management.\",\"url\":\"https://developer.kodexa.ai/concepts/organizations\",\"mainEntityOfPage\":{\"@id\":\"https://developer.kodexa.ai/concepts/organizations#webpage\"},\"dateModified\":\"2026-07-02T10:13:21.711Z\",\"publisher\":{\"@id\":\"https://developer.kodexa.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.kodexa.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kodexa Developer Portal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kodexa Developer Portal","nav":{"global":{"anchors":[{"anchor":"Kodexa","icon":"house","href":"https://www.kodexa.ai"}]},"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":"/introduction"}]},{"tab":"Concepts","groups":[{"group":"Introduction","pages":[{"title":"Kodexa Concepts Introduction","href":"/concepts/introduction"}]},{"group":"Activity","pages":[{"title":"Activity","sidebarTitle":"Activities","href":"/concepts/activities"},{"title":"Tasks","href":"/concepts/tasks"},{"title":"Data Forms Introduction","sidebarTitle":"Data Forms","href":"/guides/data-forms/introduction"}]},{"group":"Knowledge System","pages":[{"title":"Knowledge System","href":"/concepts/knowledge_system"},{"title":"Knowledge Feature Types Concept","href":"/concepts/knowledge_feature_types"},{"title":"Knowledge Item Types","href":"/concepts/knowledge_item_types"},{"title":"Customizing Extraction by Document Type","href":"/concepts/customizing_extraction"},{"title":"Adding Validation Rules","href":"/concepts/adding_validation_rules"},{"title":"Knowledge and Agents","description":"How Kodexa agents build and consume knowledge with human-in-the-loop approval, capturing institutional knowledge as agents work with documents.","href":"/concepts/knowledge_and_agents"}]},{"group":"Organization \u0026 Projects","pages":[{"title":"Organizations","href":"/concepts/organizations"},{"title":"Manage","description":"The Manage administration area is the top-level context for organization administration in Kodexa, gathering organization profile, teams, secrets, intakes, custom modules, subscriptions, the model library, and concurrency in one place.","href":"/concepts/manage"},{"title":"Security Model","href":"/concepts/security_model"},{"title":"Projects","href":"/concepts/projects"},{"title":"Project Templates Concept","href":"/concepts/project_templates"},{"title":"Project Template Structure Reference","href":"/concepts/project_template_structure"},{"title":"Working with Projects","href":"/concepts/working_with_projects"}]},{"group":"Resources","pages":[{"title":"Components and Structure","href":"/concepts/components_and_structure"},{"title":"Documents","href":"/concepts/documents"},{"title":"Working with a Document","href":"/concepts/working_with_a_document"},{"title":"Document Tagging","href":"/concepts/document_tagging"},{"title":"Working with Exceptions","href":"/concepts/working_with_exceptions"},{"title":"Document-Based Validation","href":"/concepts/document-based_validation"},{"title":"Storage","href":"/concepts/storage"},{"title":"Document Stores","href":"/concepts/document_stores"},{"title":"Data Stores","href":"/concepts/data_stores"}]},{"group":"Modules","pages":[{"title":"Modules","href":"/concepts/modules"},{"title":"Module Skills","href":"/concepts/module_skills"},{"title":"Working with Modules","href":"/concepts/working_with_modules"},{"title":"Module Runtimes","href":"/concepts/module_runtimes"},{"title":"Event Handling with Modules","href":"/concepts/event_handling_with_modules"},{"title":"Module Sidecars","href":"/concepts/module_sidecars"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/introduction"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/guides/kdx-cli/overview"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"title":"Organizations - Kodexa Developer Portal","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}