{"openapi":"3.0.4","info":{"title":"CluedIn REST API — Organization","description":"Organization profile and usage statistics.","version":"v1"},"tags":[{"name":"Organization"},{"name":"OrganizationProfile"}],"paths":{"/api/organization/duplicates":{"get":{"tags":["Organization"],"summary":" (Auth policies: RACI:admin.datamanagement:)","responses":{"200":{"description":"OK"}}}},"/api/v1/organization/usage":{"get":{"tags":["Organization"],"summary":"Get organization usage","responses":{"200":{"description":"OK"}},"description":"Returns the organisation's account usage (data limit, used volume, days left). Falls back to default values if the usage repository cannot be queried."}},"/api/organization/usage":{"get":{"tags":["Organization"],"summary":"Get organization usage","responses":{"200":{"description":"OK"}},"description":"Returns the organisation's account usage (data limit, used volume, days left). Falls back to default values if the usage repository cannot be queried."}},"/api/v1/organization/metrics":{"post":{"tags":["Organization"],"summary":"Run organization metrics","responses":{"200":{"description":"OK"}},"description":"Queues archival of metric values and triggers a global metrics recompute for the organisation. Used after material data changes to refresh organisation-level dashboards."}},"/api/organization/metrics":{"post":{"tags":["Organization"],"summary":"Run organization metrics","responses":{"200":{"description":"OK"}},"description":"Queues archival of metric values and triggers a global metrics recompute for the organisation. Used after material data changes to refresh organisation-level dashboards."}},"/api/v1/organization":{"get":{"tags":["OrganizationProfile"],"summary":"Get current organization profile","responses":{"200":{"description":"OK"}},"description":"Returns the authenticated context organisation profile, application subdomain, and email-domain signup flag."},"put":{"tags":["OrganizationProfile"],"summary":"Update organization profile","requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}}}},"responses":{"200":{"description":"OK"}},"description":"Updates tenant profile details such as name, description, domain, location, website, logo/banner URLs, colours, theme, and email-domain signup settings. Validates reserved organisation ids, logo URLs, and custom theme colours."}},"/api/organization":{"get":{"tags":["OrganizationProfile"],"summary":"Get current organization profile","responses":{"200":{"description":"OK"}},"description":"Returns the authenticated context organisation profile, application subdomain, and email-domain signup flag."},"put":{"tags":["OrganizationProfile"],"summary":"Update organization profile","requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.OrganizationProfileModel"}}}},"responses":{"200":{"description":"OK"}},"description":"Updates tenant profile details such as name, description, domain, location, website, logo/banner URLs, colours, theme, and email-domain signup settings. Validates reserved organisation ids, logo URLs, and custom theme colours."}},"/api/v1/organization/enablesecurityfilter/{organizationid}":{"put":{"tags":["OrganizationProfile"],"summary":"Enable organization security filter","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"description":"Enables account security filtering for the organisation after verifying the path organisation id matches the authenticated user's organisation."}},"/api/organization/enablesecurityfilter/{organizationid}":{"put":{"tags":["OrganizationProfile"],"summary":"Enable organization security filter","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"description":"Enables account security filtering for the organisation after verifying the path organisation id matches the authenticated user's organisation."}},"/api/v1/organization/disablesecurityfilter/{organizationid}":{"put":{"tags":["OrganizationProfile"],"summary":"Disable organization security filter","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"description":"Disables account security filtering for the organisation after verifying the path organisation id matches the authenticated user's organisation."}},"/api/organization/disablesecurityfilter/{organizationid}":{"put":{"tags":["OrganizationProfile"],"summary":"Disable organization security filter","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"description":"Disables account security filtering for the organisation after verifying the path organisation id matches the authenticated user's organisation."}},"/api/v1/organization/securityfilter/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"Get organization security filter state","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"description":"Returns whether account security filtering is enabled for the organisation."}},"/api/organization/securityfilter/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"Get organization security filter state","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"description":"Returns whether account security filtering is enabled for the organisation."}},"/api/v1/organization/configurationvalue/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"Get organization configuration value","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"configurationKey","in":"query","schema":{"type":"string"},"description":"Configuration setting key."}],"responses":{"200":{"description":"OK"}},"description":"Returns one organisation configuration setting value by configuration key."},"put":{"tags":["OrganizationProfile"],"summary":"Update organization configuration value","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}}}},"responses":{"200":{"description":"OK"}},"description":"Updates a single organisation configuration setting after validating data type and setting-specific constraints. Secret values are masked in audit records."}},"/api/organization/configurationvalue/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"Get organization configuration value","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"configurationKey","in":"query","schema":{"type":"string"},"description":"Configuration setting key."}],"responses":{"200":{"description":"OK"}},"description":"Returns one organisation configuration setting value by configuration key."},"put":{"tags":["OrganizationProfile"],"summary":"Update organization configuration value","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"}}}},"responses":{"200":{"description":"OK"}},"description":"Updates a single organisation configuration setting after validating data type and setting-specific constraints. Secret values are masked in audit records."}},"/api/v1/organization/configurationsettings/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"List organization configuration settings","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"responses":{"200":{"description":"OK"}},"description":"Returns visible organisation configuration settings and values. Hidden settings can be included when requested. Returns 403 when the supplied organisation id does not match the caller's organisation."}},"/api/organization/configurationsettings/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"List organization configuration settings","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"responses":{"200":{"description":"OK"}},"description":"Returns visible organisation configuration settings and values. Hidden settings can be included when requested. Returns 403 when the supplied organisation id does not match the caller's organisation."}},"/api/v1/organization/configurationsettings/v2/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"List organization configuration setting models","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingModel"}}}}}},"description":"Returns organisation configuration settings as typed setting models. Hidden settings can be included when requested. Returns 403 when the supplied organisation id does not match the caller's organisation."}},"/api/organization/configurationsettings/v2/{organizationid}":{"get":{"tags":["OrganizationProfile"],"summary":"List organization configuration setting models","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingModel"}}}}}},"description":"Returns organisation configuration settings as typed setting models. Hidden settings can be included when requested. Returns 403 when the supplied organisation id does not match the caller's organisation."}},"/api/v1/organization/configurationSettingsFiltered":{"post":{"tags":["OrganizationProfile"],"summary":"Filter organization configuration settings","parameters":[{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"requestBody":{"content":{"application/json-patch+json":{"schema":{"type":"array","items":{"type":"string"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}},"application/*+json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"OK"}},"description":"Returns a dictionary of configuration settings filtered to the supplied list of setting keys."}},"/api/organization/configurationSettingsFiltered":{"post":{"tags":["OrganizationProfile"],"summary":"Filter organization configuration settings","parameters":[{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"requestBody":{"content":{"application/json-patch+json":{"schema":{"type":"array","items":{"type":"string"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}},"application/*+json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"OK"}},"description":"Returns a dictionary of configuration settings filtered to the supplied list of setting keys."}},"/api/v1/organization/configurationvalue/v2/{organizationid}":{"put":{"tags":["OrganizationProfile"],"summary":"Update multiple organization configuration values","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}}}},"responses":{"200":{"description":"OK"},"500":{"description":"Internal Server Error"}},"description":"Validates and updates multiple organisation configuration settings in one request, returning validation messages when settings are invalid."}},"/api/organization/configurationvalue/v2/{organizationid}":{"put":{"tags":["OrganizationProfile"],"summary":"Update multiple organization configuration values","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel"}}}},"responses":{"200":{"description":"OK"},"500":{"description":"Internal Server Error"}},"description":"Validates and updates multiple organisation configuration settings in one request, returning validation messages when settings are invalid."}},"/api/v1/organization/configurationsettings/group":{"get":{"tags":["OrganizationProfile"],"summary":"List organization configuration groups","parameters":[{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"responses":{"200":{"description":"OK"},"500":{"description":"Internal Server Error"}},"description":"Returns organisation settings grouped for UI presentation, with optional hidden settings."}},"/api/organization/configurationsettings/group":{"get":{"tags":["OrganizationProfile"],"summary":"List organization configuration groups","parameters":[{"name":"includeHiddenFromUi","in":"query","schema":{"type":"boolean","default":false},"description":"When true, include settings hidden from the UI. Defaults to false."}],"responses":{"200":{"description":"OK"},"500":{"description":"Internal Server Error"}},"description":"Returns organisation settings grouped for UI presentation, with optional hidden settings."}},"/api/v1/organization/configurationsettings/group/action":{"post":{"tags":["OrganizationProfile"],"summary":"Execute organization setting group action","requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}}}},"responses":{"200":{"description":"OK"},"500":{"description":"Internal Server Error"}},"description":"Executes a registered organisation setting-group action and returns success or validation/execution messages without throwing for expected group-action failures."}},"/api/organization/configurationsettings/group/action":{"post":{"tags":["OrganizationProfile"],"summary":"Execute organization setting group action","requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel"}}}},"responses":{"200":{"description":"OK"},"500":{"description":"Internal Server Error"}},"description":"Executes a registered organisation setting-group action and returns success or validation/execution messages without throwing for expected group-action failures."}}},"components":{"schemas":{"CluedIn.Server.WebApi.Models.OrganizationProfileModel":{"required":["clientId","organizationName","theme"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"clientId":{"maxLength":100,"minLength":0,"type":"string"},"organizationName":{"maxLength":128,"minLength":0,"type":"string"},"description":{"type":"string","nullable":true},"domain":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"logo":{"type":"string","nullable":true},"banner":{"type":"string","nullable":true},"logoFullResolution":{"type":"string","nullable":true},"bannerFullResolution":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"location":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"locationGeocode":{"$ref":"#/components/schemas/CluedIn.Core.Geocode"},"allowEmailDomainSignup":{"type":"boolean","nullable":true},"primaryColor":{"maxLength":7,"minLength":0,"pattern":"(?:^\\#?[0-9a-fA-F]{1,6}$|^$)","type":"string","nullable":true},"secondaryColor":{"maxLength":7,"minLength":0,"pattern":"(?:^\\#?[0-9a-fA-F]{1,6}$|^$)","type":"string","nullable":true},"darkMainColor":{"maxLength":7,"minLength":0,"pattern":"(?:^\\#?[0-9a-fA-F]{1,6}$|^$)","type":"string","nullable":true},"theme":{"minLength":1,"type":"string"}},"additionalProperties":false},"CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel":{"required":["configurationKey","useDefault","value"],"type":"object","properties":{"configurationKey":{"minLength":1,"type":"string"},"value":{"minLength":1,"type":"string"},"useDefault":{"type":"boolean"}},"additionalProperties":false},"CluedIn.Server.WebApi.Models.Organization.SettingModel":{"type":"object","properties":{"key":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"group":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"value":{"type":"string","nullable":true},"isSecret":{"type":"boolean","nullable":true},"passwordMaskingCharacter":{"type":"string","nullable":true},"featureFlags":{"type":"array","items":{"type":"string"},"nullable":true},"defaultValue":{"type":"string","nullable":true},"areas":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"CluedIn.Server.WebApi.Controllers.Organization.Models.UpdateOrganizationSettingsModel":{"type":"object","properties":{"settings":{"type":"array","items":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.UpdateOrganizationSettingModel"},"nullable":true}},"additionalProperties":false},"CluedIn.Server.WebApi.Controllers.Organization.Models.SettingActionCallbackModel":{"type":"object","properties":{"groupName":{"type":"string","nullable":true},"action":{"$ref":"#/components/schemas/CluedIn.Server.WebApi.Models.Organization.SettingGroupActionModel"},"settings":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false},"CluedIn.Core.Geocode":{"type":"object","properties":{"longitude":{"type":"number","format":"double"},"latitude":{"type":"number","format":"double"}},"additionalProperties":false},"CluedIn.Server.WebApi.Models.Organization.SettingGroupActionModel":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false}},"securitySchemes":{"Bearer":{"type":"http","description":"Please enter a valid token","scheme":"Bearer"}}}}