{"info":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","description":"

AppOmni API routes can be accessed using API tokens created and managed from Settings > API Settings in your AppOmni instance.

\n

To start using this Postman Collection, please update the required variables:

\n\n

Please Note: Routes and functionality not documented here are not guaranteed to be supported.

\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"45135595","collectionId":"244c5280-5479-4b7d-abb9-41c0549cffc1","publishedId":"2sBXc7Mjib","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-04T17:15:27.000Z"},"item":[{"name":"Monitored Services","item":[{"name":"List monitored services","id":"e4d77015-9a81-45be-a614-fd393f394b31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/","description":"

Returns a paginated list of all Monitored Services configured in your environment.

\n

Each entry includes core metadata such as name, service type, score, status flags, and connection state. Supports filtering and annotations via query parameters.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the monitored service. This is an AppOmni internal ID5
createdString (ISO datetime)Timestamp when the service was created2022-11-29T05:56:26.372253Z
created_byIntegerID of the user who created the service23
modifiedString (ISO datetime)Timestamp of the last modification2022-11-29T05:56:26.372253Z
modified_byIntegerID of the user that last modified the entry32
ownerIntegerID of the user or team that owns the service23
nameStringDisplay name of the monitored service'MS Name'
external_idStringIdentifier from the external system'1234-5683'
service_idStringUnique identifier of the connected service instance. This is the ID set by the connected service provider.'1234'
service_typeStringType of service (e.g., box, github)'box'
service_type_slugStringSlug version of the service type'box'
descriptionStringOptional human-readable description
enforcement_modeStringPolicy enforcement mode (monitor, enforce, etc.)'monitor'
integration_connectedBooleanIndicates if the service is currently connectedfalse
monitoring_reqs_satisfiedBooleanWhether monitoring requirements are mettrue
has_warningsBooleanTrue if the service has warningsfalse
has_errorsBooleanTrue if the service has errorsfalse
initial_ingest_completeBooleanTrue if initial data ingestion is completetrue
is_archivedBooleanTrue if the service has been archivedfalse
tagsArray[Integer]List of tag IDs assigned to the service[34, 55, 66]
baseline_policiesArray[Integer]IDs of applied baseline policies[1]
detection_ingest_enabledBooleanTrue if detection ingest is enabledtrue
scoreIntegerSecurity score for the service (typically 0–100)100
\n

Annotations schema

\n

When the query parameter annotations=1 is included in the request, each Monitored Service object in the results array includes the following read-only, computed fields:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
open_issues_countIntegerNumber of unresolved issues associated with this service1
last_run_insightsString (ISO datetime)Timestamp of the last insights scan or analysis run2022-11-29T05:56:26.372253Z
num_perspective_errorsIntegerNumber of errors found across perspectives33
any_perspective_errorsBooleanWhether any perspective errors existfalse
service_installed_app_needs_updateBooleanTrue if an installed app related to the service needs updatingfalse
total_users_countIntegerTotal number of users in the monitored service123
inactive_user_countIntegerNumber of users marked as inactive222
elevated_perm_user_countIntegerNumber of users with elevated permissions32
admin_perm_user_countIntegerNumber of users with administrative permissions432
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"limit=50"},{"disabled":true,"description":{"content":"

Integer; Number of items to skip (pagination)

\n","type":"text/plain"},"key":"offset","value":"offset=0"},{"disabled":true,"description":{"content":"

Integer; Annotate services with read-only computed fields (see Annotations)

\n","type":"text/plain"},"key":"annotations","value":"annotations=1"},{"disabled":true,"description":{"content":"

Boolean; Filter by integration connection state

\n","type":"text/plain"},"key":"integration_connected","value":"integration_connected=true"},{"disabled":true,"description":{"content":"

Boolean; Filter by ingest completion state

\n","type":"text/plain"},"key":"initial_ingest_complete","value":"initial_ingest_complete=true"},{"disabled":true,"description":{"content":"

Integer; Score greater than or equal to value

\n","type":"text/plain"},"key":"score__gte","value":"score__gte=50"},{"disabled":true,"description":{"content":"

Integer; Score less than or equal to value

\n","type":"text/plain"},"key":"score__lte","value":"score__lte=100"},{"disabled":true,"description":{"content":"

String; Search query

\n","type":"text/plain"},"key":"search","value":"search=admin"},{"disabled":true,"description":{"content":"

String; Filter by service type

\n","type":"text/plain"},"key":"service_type","value":"service_type=box"}],"variable":[]}},"response":[{"id":"664ddb8a-15c7-419b-b617-78b8ccc6b233","name":"List Monitored Services","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":"https://acme.appomni.com/api/v1/core/monitoredservice"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 6,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"id\": 1,\n \"created\": \"2025-03-10T20:10:45.013060Z\",\n \"created_by\": 1,\n \"modified\": \"2025-04-08T15:41:32.406310Z\",\n \"modified_by\": null,\n \"owner\": 1,\n \"name\": \"Box DE\",\n \"external_id\": null,\n \"service_id\": \"285415710\",\n \"service_type\": \"box\",\n \"service_type_slug\": \"box\",\n \"description\": null,\n \"enforcement_mode\": \"monitor\",\n \"integration_connected\": true,\n \"monitoring_reqs_satisfied\": true,\n \"has_warnings\": false,\n \"has_errors\": false,\n \"initial_ingest_complete\": true,\n \"is_archived\": false,\n \"tags\": [1],\n \"baseline_policies\": [],\n \"detection_ingest_enabled\": true,\n \"score\": 100\n },\n ...,\n ]\n}"}],"_postman_id":"e4d77015-9a81-45be-a614-fd393f394b31"},{"name":"Monitored service detail","id":"45b5c785-52b6-4c19-abcd-5ed41e450d39","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/{serviceType}/{serviceType}org/{id}","description":"

Returns detailed metadata, sync status, user stats, preferences, and policy posture for a single monitored service instance by service type and org ID.

\n

If using developer platform modules, run the following call instead: GET api/v1/core/custom/custommonitoredservice/{id}

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
idIntegerUnique identifier for the monitored service1
createdString (ISO datetime)Timestamp of creation2022-11-29T05:56:26.372253Z
modifiedString (ISO datetime)Timestamp of last modification2022-11-29T05:56:26.372253Z
external_idStringExternal service identifier'12345'
created_byIntegerID of the creator2022-11-29T05:56:26.372253Z
modified_byIntegerID of last modifier2022-11-29T05:56:26.372253Z
ownerIntegerID of the owning user/team33
monitored_service_typeStringType of the monitored service (e.g., box)'box'
service_type_slugStringSlugified type (same as above)'box'
nameStringDisplay name'MS Name'
authoritative_nameStringAuthoritative identifier (if configured)'123456'
descriptionStringOptional human-readable description'description'
service_idStringUnique identifier for the service instance'5678'
initial_ingest_completeBooleanWhether the initial ingest completedtrue
integration_connectedBooleanWhether integration is connectedtrue
integration_failed_atString (ISO datetime)Timestamp of last failed integration (if any)2022-11-29T05:56:26.372253Z
has_warningsBooleanIndicates if warnings existtrue
has_errorsBooleanIndicates if errors existfalse
integration_installed_versionStringInstalled version of the integration'1234'
notify_ms_ownerBooleanWhether to notify the monitored service ownerfalse
notify_userIntegerID of an additional user to notify45
extra_notification_emailsArray[String]Extra email addresses to notify['123@email.com']
allow_deploy_remediationBooleanWhether remediation actions can be deployedfalse
enforcement_modeStringMode of policy enforcement'monitor'
last_service_data_syncString (ISO datetime)Last successful service data sync2022-11-29T05:56:26.372253Z
last_user_syncStringLast user sync time2022-11-29T05:56:26.372253Z
last_login_syncStringLast login data sync time2022-11-29T05:56:26.372253Z
StringLast security data sync time2022-11-29T05:56:26.372253Z
StringLast apps data sync time2022-11-29T05:56:26.372253Z
last_detection_collectionStringLast detection data collection time2022-11-29T05:56:26.372253Z
total_internal_user_countIntegerCount of internal users54
internal_active_user_countIntegerActive internal users65
total_external_user_countIntegerExternal users count22
external_active_user_countIntegerActive external users43
inactive_user_countIntegerTotal inactive users43
internal_inactive_user_countIntegerInactive internal users54
external_inactive_user_countIntegerInactive external users123
elevated_perm_user_countIntegerUsers with elevated permissions424
internal_elevated_perm_user_countIntegerInternal users with elevated permissions243
external_elevated_perm_user_countIntegerExternal users with elevated permissions234
admin_perm_user_countIntegerAdmin users total2343
internal_admin_perm_user_countIntegerInternal admin users12
external_admin_perm_user_countIntegerExternal admin users32
tagsArray[Integer]Associated tag IDs[1324]
classification_configurationsArrayCustom classification settings (if any)[]
num_internal_users_coveredIntegerCovered internal users43
num_external_users_coveredIntegerCovered external users54
internal_user_coverageFloat% internal user coverage45.3
external_user_coverageFloat% external user coverage43.2
num_internal_users_representedIntegerInternal users represented in policies23
num_external_users_representedIntegerExternal users represented in policies5
service_installed_app_needs_updateBooleanIndicates if installed app needs updatingfalse
service_statisticsObjectAggregated service statistics (file/site/user counts, if any){}
user_msgsObjectUser-facing messages related to the service (if any){}
open_issues_countIntegerNumber of open issues43
monitoring_reqs_satisfiedBooleanTrue if monitoring prerequisites are metfalse
is_archivedBooleanWhether the service is archivedfalse
archived_atString (ISO datetime)Timestamp when service was archived2022-11-29T05:56:26.372253Z
prefsObjectStructured preference data container (if any){}
baseline_policiesArrayAssociated baseline policy IDs[]
degraded_feature_keysArrayFeatures currently degraded/unavailable[]
detection_ingest_enabledBooleanWhether detection ingest is enabledtrue
scoreIntegerService security score43
score_last_calculatedString (ISO datetime)Timestamp of last score calculation2022-11-29T05:56:26.372253Z
admin_perspectiveIntegerID of the admin perspective43
preferencesObjectSimple key-value preferences for this service (if any){}
active_perspective_countIntegerNumber of active perspectives43
perspective_countIntegerTotal number of perspectives22
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice","{serviceType}","{serviceType}org","{id}"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"423a642d-da49-430a-84e0-6be2097e7678","name":"Monitored Service Detail","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/{serviceType}/{serviceType}org/{id}"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"id\": 1,\n \"created\": \"2025-03-10T20:10:45.013060Z\",\n \"modified\": \"2025-04-08T15:41:32.406310Z\",\n \"external_id\": null,\n \"created_by\": 1,\n \"modified_by\": null,\n \"owner\": 1,\n \"monitored_service_type\": \"box\",\n \"service_type_slug\": \"box\",\n \"name\": \"Box DE\",\n \"authoritative_name\": null,\n \"description\": null,\n \"service_id\": \"285415710\",\n \"initial_ingest_complete\": true,\n \"integration_connected\": true,\n \"integration_failed_at\": null,\n \"has_warnings\": false,\n \"has_errors\": false,\n \"integration_installed_version\": null,\n \"notify_ms_owner\": true,\n \"notify_user\": null,\n \"extra_notification_emails\": [],\n \"allow_deploy_remediation\": false,\n \"enforcement_mode\": \"monitor\",\n \"last_service_data_sync\": \"2025-04-08T15:41:32.401611Z\",\n \"last_user_sync\": null,\n \"last_login_sync\": null,\n \"last_security_data_sync\": null,\n \"last_apps_data_sync\": null,\n \"last_detection_collection\": null,\n \"total_internal_user_count\": 20,\n \"internal_active_user_count\": 20,\n \"total_external_user_count\": 0,\n \"external_active_user_count\": 0,\n \"inactive_user_count\": null,\n \"internal_inactive_user_count\": null,\n \"external_inactive_user_count\": null,\n \"elevated_perm_user_count\": null,\n \"internal_elevated_perm_user_count\": null,\n \"external_elevated_perm_user_count\": null,\n \"admin_perm_user_count\": null,\n \"internal_admin_perm_user_count\": null,\n \"external_admin_perm_user_count\": null,\n \"tags\": [\n 1\n ],\n \"classification_configurations\": [],\n \"num_internal_users_covered\": 0,\n \"num_external_users_covered\": 0,\n \"internal_user_coverage\": 0.0,\n \"external_user_coverage\": 0.0,\n \"num_internal_users_represented\": 0,\n \"num_external_users_represented\": 0,\n \"service_installed_app_needs_update\": false,\n \"service_statistics\": {\n \"md_kind\": \"fsb.ms.service_statics\",\n \"file_count\": 40,\n \"md_version\": 2,\n \"site_count\": 0,\n \"folder_count\": 69,\n \"user_count_external\": 0,\n \"user_count_internal\": 20\n },\n \"user_msgs\": {\n \"md_kind\": \"core.monitoredservice.user_msgs\",\n \"md_version\": 1,\n \"msgs\": []\n },\n \"open_issues_count\": 0,\n \"monitoring_reqs_satisfied\": true,\n \"is_archived\": false,\n \"archived_at\": null,\n \"prefs\": {\n \"md_version\": 1,\n \"md_kind\": \"core.shared.prefs.ms_container\",\n \"preference_groups\": {\n \"modules\": {\n \"group_label\": \"Module Settings\",\n \"group_description\": \"Configure which modules are enabled\",\n \"preferences\": [\n {\n \"name\": \"dam\",\n \"label\": \"Exposure - enabled\",\n \"value_type\": \"bool\",\n \"show_in_ui\": false,\n \"value\": true,\n \"default_value\": true,\n \"description\": \"Data Exposure will be monitored\",\n \"md_version\": 1,\n \"md_kind\": \"core.shared.prefs.entry\"\n }\n ],\n \"md_version\": 1,\n \"md_kind\": \"core.shared.prefs.group\"\n }\n },\n \"flat_dict\": {\n \"modules.dam\": true\n }\n },\n \"baseline_policies\": [],\n \"degraded_feature_keys\": [],\n \"detection_ingest_enabled\": true,\n \"score\": 100,\n \"score_last_calculated\": \"2025-04-09T18:07:02.533226Z\",\n \"admin_perspective\": 9,\n \"preferences\": {\n \"batch_perspectives\": true\n },\n \"active_perspective_count\": 1,\n \"perspective_count\": 5\n}"}],"_postman_id":"45b5c785-52b6-4c19-abcd-5ed41e450d39"},{"name":"Data syncs","id":"d5183348-ba7d-434d-ad4c-ad6edbe95ec4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/{serviceType}/{serviceType}org/{id}/sync_timestamps/","description":"

Provides users with information pertaining to the status of syncing various data types to AppOmni from their SaaS application.

\n

For example, if a sync hadn't started or finished for a few days, AppOmni would be operating on data from whenever the last data sync completed successfully, and could be missing important configuration changes or repo additions that occurred during that interim period.

\n

For developer platform modules, run:
GET api/v1/custom/custommonitoredservice/{id}/sync_timestamps/

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
timestamp_fieldStringInternal field name for the last sync timestamp (used for lookups and logic)'timestamp'
labelStringi18n key or label describing the sync category'label'
allow_adhoc_refreshBooleanWhether ad-hoc manual sync is allowed for this typetrue
descriptionStringi18n key or full description of the sync category'description'
rate_limitedBooleanWhether triggering this sync is rate-limitedtrue
rate_limit_categoryStringIndicates how heavily the sync is rate-limited (e.g., light, medium, heavy)'light'
last_sync_timestampString (ISO datetime)Time the last sync finished (or was recorded as completed)2022-11-29T05:56:26.372253Z
required_syncsArray[String]List of dependent sync steps that must be completed first[]
statusStringCurrent sync status (pending, failed, complete, etc.)'complete'
last_sync_start_timeString (ISO datetime)Time the sync last began (useful for tracking duration)2022-11-29T05:56:26.372253Z
long_sync_detectedBooleanTrue if the system has flagged the sync as taking unusually longfalse
messagesStringOptional additional info or warning messages\"\"
\n
","urlObject":{"protocol":"https","path":["api","v1","{serviceType}","{serviceType}org","{id}","sync_timestamps",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"a61c97f2-f825-4de7-b611-2077f30e3cbc","name":"Data Syncs","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/{serviceType}/{serviceType}org/{id}/sync_timestamps/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\n {\n \"timestamp_field\": \"last_org_sync\",\n \"label\": \"common.monitored_service.data_timestamps.last_security_data_sync.label\",\n \"allow_adhoc_refresh\": true,\n \"description\": \"common.monitored_service.data_timestamps.last_security_data_sync.description\",\n \"rate_limited\": false,\n \"rate_limit_category\": \"light\",\n \"last_sync_timestamp\": \"2025-04-08T23:50:20.161334+00:00\",\n \"required_syncs\": [\n \"org_settings_sync\"\n ],\n \"status\": \"complete\",\n \"last_sync_start_time\": \"2025-04-08T23:50:15.463009+00:00\",\n \"long_sync_detected\": false,\n \"messages\": null\n },\n ...,\n]"}],"_postman_id":"d5183348-ba7d-434d-ad4c-ad6edbe95ec4"},{"name":"Request sync data type","id":"a38ca0eb-8fec-4ff4-8b1c-db1dd23c51aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{ sync_type: \"last_security_data_sync\"}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/{serviceType}/{serviceType}org/{id}/request_adhoc_sync/","description":"

Request an on-demand resync of the provided data type.

\n

Affected by rate_limits and availability. Data syncs are enqueued. Only syncs with ‘allow_adhoc_refresh: true’ and ‘rate_limited: false’ will be requested.

\n

For the payload, specify the timestamp_field to resync.

\n

For developer platform module types, run:
POST - api/v1/{serviceType}/{serviceType}org/{id}/request_adhoc_sync/.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
sync_typeStringYesTimestamp field to resync (use value from Data syncs)last_security_data_sync
\n
","urlObject":{"protocol":"https","path":["api","v1","{serviceType}","{serviceType}org","{id}","request_adhoc_sync",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a38ca0eb-8fec-4ff4-8b1c-db1dd23c51aa"},{"name":"Request sync all data types","id":"3896808a-80f0-410e-a96d-d27aa81550e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/{serviceType}/{serviceType}org/{id}/request_adhoc_all_sync/","description":"

Request on-demand resyncs of all data types meeting the required criteria.

\n

No payload is necessary.

\n

Utilizes the same schema as Request Sync Data Type.

\n

For developer platform module types, run:
POST - api/v1/custom/custommonitoredservice/{id}/request_adhoc_all_sync/

\n","urlObject":{"protocol":"https","path":["api","v1","{serviceType}","{serviceType}org","{id}","request_adhoc_all_sync",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3896808a-80f0-410e-a96d-d27aa81550e9"},{"name":"Rotate ingest token","id":"06261074-26b8-47de-9b5b-53abc14d6e5d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/rotate_ingest_token/","description":"

Each sync event for a monitored service is a job that requires authentication to push data to AppOmni. An ingest token is the authentication that makes the sync secure. You might require the ingest token to make direct API calls when you're using the AppOmni Developer Platform. Rotating a token immediately replaces the ingest token with a new value. Any existing integrations using the old/previous ingest token cease to work.

\n

Only users with Admin or Service Onboarder roles are able to use this endpoint. Users without permission will return a 403.

\n

Run the \"List Monitored Services\" endpoint to obtain the ms_id variable.

\n

There is no payload required for this endpoint.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
tokenString (UUID)New ingest token valuea5633c0d-a9dd-46c5-903d-5007dc6d6e42
rotate_timeString (ISO datetime)Time the token was rotated2024-07-17T18:41:02.452800+00:00
urlStringIngest API endpoint URLhttps://your-domain.appomni.com/platform/ingest/v2/ingest/
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","rotate_ingest_token",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":"","key":"ms_id"}]}},"response":[{"id":"681dd8a8-e9d8-4a4e-be90-bf0638deb3b7","name":"Rotate Ingest Token","originalRequest":{"method":"PATCH","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/rotate_ingest_token/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","rotate_ingest_token",""],"variable":[{"key":"ms_id","value":""}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"token\": \"a5633c0d-a9dd-46c5-903d-5007dc6d6e42\",\n \"rotate_time\": \"2024-07-17T18:41:02.452800+00:00\",\n \"url\": \"https://[your-domain].appomni.com/platform/ingest/v2/ingest/\"\n}"}],"_postman_id":"06261074-26b8-47de-9b5b-53abc14d6e5d"},{"name":"Get ingest token","id":"049d4065-d6c4-4b5c-8aa6-860fad8b2ba2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/get_ingest_token/","description":"

Each sync event for a monitored service is a job that requires authentication to push data to AppOmni. An ingest token is the authentication that makes the sync secure. You might require the ingest token to make direct API calls when you're using the AppOmni Developer Platform.

\n

Only users with Admin or Service Onboarder roles are able to use this endpoint. Users without permission will return a 403.

\n

Run the \"List Monitored Services\" endpoint to obtain the ms_id variable.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
tokenString (UUID)Current ingest token value3ea1ae3e-792f-4682-ae01-c07e6c63ea39
rotate_timeString (ISO datetime) or nullTime the token was rotated (if ever)null
urlStringIngest API endpoint URLhttps://your-domain.appomni.com/platform/ingest/v2/ingest/
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","get_ingest_token",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":"","key":"ms_id"}]}},"response":[{"id":"292ef514-cec0-405e-8d9c-0d5a39a33e99","name":"Get Ingest Token","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/get_ingest_token/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","get_ingest_token",""],"variable":[{"key":"ms_id","value":""}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"token\": \"3ea1ae3e-792f-4682-ae01-c07e6c63ea39\",\n \"rotate_time\": null,\n \"url\": \"https://[your-domain].appomni.com/platform/ingest/v2/ingest/\"\n}"}],"_postman_id":"049d4065-d6c4-4b5c-8aa6-860fad8b2ba2"}],"id":"d4bc7b1b-ab02-4467-a5eb-dcc712f0e052","_postman_id":"d4bc7b1b-ab02-4467-a5eb-dcc712f0e052","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Policies","item":[{"name":"List Policies","id":"dbcc2a64-8366-40ba-8dac-3fa5ef9b8ffa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/?limit=25&offset=0&ordering=policy_type,name&is_reference=true","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the resource591391
createdString (ISO datetime)Timestamp when the record was created2024-02-20T18:48:37.189165Z
modifiedString (ISO datetime)Timestamp when the record was last modified2024-02-20T19:05:43.282655Z
external_idInteger or nullExternal system identifiernull
created_byIntegerID of the user who created the record1526
modified_byString (ISO datetime) or nullID of the user who last modified the recordnull
ownerIntegerID of the record owner1526
internal_idString (UUID)Internal system identifier453a6236-79eb-4cf6-b38b-3cfcaf7b3277
baseline_policy_for_tenantBooleanbaseline policy for tenantfalse
nameStringName of the resourceAuth0: Baseline Posture Settings
descriptionString or nullDescription of the resourcenull
activeBooleanWhether the resource is activetrue
policy_typeStringType of policyauth0
policy_type_slugStringpolicy type slugauth0
custom_service_typeString or nullType of custom servicenull
installed_service_typeString or nullType of installed servicenull
tagsArrayList of associated tags[]
is_referenceBooleanis referencetrue
from_reference_policyString or nullfrom reference policynull
notify_pol_ownerBooleannotify pol ownerfalse
notify_ms_recipsBooleannotify ms recipsfalse
notify_userString or nullnotify usernull
service_groupsArrayList of service groups[]
monitored_servicesArrayList of monitored services[]
roleStringrolemonitored_service_config
modeStringmodeblacklist
issue_handlingStringissue handlingnotify
scheduledBooleanWhether the resource is scheduledtrue
pol_intervalStringpol interval08:00:00
last_runString or nullTimestamp of the last executionnull
last_scheduledString or nulllast schedulednull
last_completed_scanString or nulllast completed scannull
last_policy_assessment_statusString or nullStatus of last policy assessmentnull
last_policy_assessment_error_codeString or nulllast policy assessment error codenull
targets_countIntegerNumber of items0
monitored_services_countIntegerNumber of items0
risk_statisticsObjectrisk statistics{}
external_dataString or nullexternal datanull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"25"},{"description":{"content":"

Integer; Number of results to skip for pagination

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field(s) to sort results by (prefix with - for descending)

\n","type":"text/plain"},"key":"ordering","value":"policy_type,name"},{"description":{"content":"

Boolean; Filter by reference policies

\n","type":"text/plain"},"key":"is_reference","value":"true"}],"variable":[]}},"response":[{"id":"96291bce-19c4-468b-898e-6ec72e345a9f","name":"Get Policies","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/policy/?limit=25&offset=0&ordering=policy_type,name&is_reference=true","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","policy",""],"query":[{"key":"limit","value":"25","description":"Integer; Maximum number of results to return"},{"key":"offset","value":"0","description":"Integer; Number of results to skip for pagination"},{"key":"ordering","value":"policy_type,name","description":"String; Field(s) to sort results by (prefix with - for descending)"},{"key":"is_reference","value":"true","description":"Boolean; Filter by reference policies"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"count\": 64,\n \"next\": \"https:/[your-domain].appomni.com/api/v1/core/policy/?is_reference=true&limit=25&offset=25&ordering=policy_type%2Cname\",\n \"previous\": null,\n \"results\": [\n {\n \"id\": 591391,\n \"created\": \"2024-02-20T18:48:37.189165Z\",\n \"modified\": \"2024-02-20T19:05:43.282655Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"453a6236-79eb-4cf6-b38b-3cfcaf7b3277\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Auth0: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"auth0\",\n \"policy_type_slug\": \"auth0\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591392,\n \"created\": \"2024-02-20T18:48:49.386304Z\",\n \"modified\": \"2024-02-20T19:05:47.253582Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"8b85edc5-d57b-4645-a8d8-c5fd3baa5dde\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Crowdstrike: Baseline Posture Permissions\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"crowdstrike\",\n \"policy_type_slug\": \"crowdstrike\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591393,\n \"created\": \"2024-02-20T18:48:53.573669Z\",\n \"modified\": \"2024-02-20T19:04:10.081083Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"264733ca-a1a8-42b6-9680-a8d378be7407\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Crowdstrike: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"crowdstrike\",\n \"policy_type_slug\": \"crowdstrike\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591385,\n \"created\": \"2024-02-20T18:47:40.301220Z\",\n \"modified\": \"2024-02-20T19:05:52.215367Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"37dae3e3-23fe-4250-a6d8-a00698aef6de\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Duo : Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"duo\",\n \"policy_type_slug\": \"duo\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591432,\n \"created\": \"2024-02-20T19:02:25.937865Z\",\n \"modified\": \"2024-02-20T19:05:54.917348Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"282bc037-2739-4d4d-a294-1cb164ba5c14\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"GitHub: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"github\",\n \"policy_type_slug\": \"github\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591433,\n \"created\": \"2024-02-20T19:02:35.857015Z\",\n \"modified\": \"2024-02-20T19:04:13.323552Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"b656d02f-3833-442c-ad18-129ace97c1a3\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Github: ISO 27001:2013 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"github\",\n \"policy_type_slug\": \"github\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591434,\n \"created\": \"2024-02-20T19:02:38.868938Z\",\n \"modified\": \"2024-02-20T19:04:14.339207Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"0e58e498-774a-4d92-bab4-5c8376c77a2f\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Github: NIST CSF v1.1 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"github\",\n \"policy_type_slug\": \"github\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591435,\n \"created\": \"2024-02-20T19:02:45.322584Z\",\n \"modified\": \"2024-02-20T19:04:15.370742Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"57fb4d39-de50-4691-a110-51f16fe4a179\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Github: SOC 2 Type 1 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"github\",\n \"policy_type_slug\": \"github\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591420,\n \"created\": \"2024-02-20T19:01:06.035410Z\",\n \"modified\": \"2024-02-20T19:05:58.715594Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"882d1f9c-f7dd-4f6e-8321-c602dffca0d2\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"GitLab: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"gitlab\",\n \"policy_type_slug\": \"gitlab\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591430,\n \"created\": \"2024-02-20T19:02:15.790449Z\",\n \"modified\": \"2024-02-20T19:06:01.988812Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"8be8b1db-ad58-416a-bfa5-78cb23987c1b\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Google Workspace: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"gsuite\",\n \"policy_type_slug\": \"gsuite\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591431,\n \"created\": \"2024-02-20T19:02:18.891486Z\",\n \"modified\": \"2024-02-20T19:04:18.500558Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"c91972e3-10f8-4714-b367-b2613e81180e\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Google Workspace: Posture Permissions\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"gsuite\",\n \"policy_type_slug\": \"gsuite\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591439,\n \"created\": \"2024-02-20T19:03:24.509504Z\",\n \"modified\": \"2024-02-20T19:06:06.227821Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"3e928803-d1f2-48ef-9914-7ec3c2dfd207\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Jamf: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"jamf\",\n \"policy_type_slug\": \"jamf\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591429,\n \"created\": \"2024-02-20T19:02:09.616323Z\",\n \"modified\": \"2024-02-20T19:06:09.362261Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"f12c3bcf-0ebd-49a0-9c2f-6a17f91be998\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"JumpCloud: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"jumpcloud\",\n \"policy_type_slug\": \"jumpcloud\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591436,\n \"created\": \"2024-02-20T19:02:49.154081Z\",\n \"modified\": \"2024-02-20T19:04:30.478349Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"7475f901-6551-428a-b00d-e1395bf471ea\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"NetSuite: Accounting Policy\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"netsuite\",\n \"policy_type_slug\": \"netsuite\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591437,\n \"created\": \"2024-02-20T19:02:57.843269Z\",\n \"modified\": \"2024-02-20T19:06:18.538099Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"5945ca8e-8f30-4b8f-afbc-fb72715e39e0\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"NetSuite: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"netsuite\",\n \"policy_type_slug\": \"netsuite\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591409,\n \"created\": \"2024-02-20T18:56:31.188611Z\",\n \"modified\": \"2024-02-20T19:04:21.551665Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"179f3d35-b0a0-427d-bfb0-8746369c6834\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: Azure AD Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 593401,\n \"created\": \"2024-02-23T18:31:15.850018Z\",\n \"modified\": \"2024-02-23T18:34:46.754343Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"e5cb6646-bb2e-426e-95f0-952dfb087641\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 593421,\n \"created\": \"2024-02-23T18:51:43.369928Z\",\n \"modified\": \"2024-02-23T18:53:31.769905Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"3fc0a205-db81-43d7-b7f2-b59c6404eab2\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: CIS Benchmark v.1.3.0 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 593422,\n \"created\": \"2024-02-23T18:51:59.868975Z\",\n \"modified\": \"2024-02-23T18:53:33.108293Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"3b882af9-6f69-4816-9938-fde400537368\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: CIS Benchmark v.2.0.0 Policy\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 593418,\n \"created\": \"2024-02-23T18:51:14.995905Z\",\n \"modified\": \"2024-02-23T18:53:34.832275Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"5b07f05e-ba51-4956-bb24-79e7c0fc9265\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: ISO 27001:2013 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 593420,\n \"created\": \"2024-02-23T18:51:29.101177Z\",\n \"modified\": \"2024-02-23T18:53:36.241090Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"2983d961-6323-4703-8601-7e00b1fa96cd\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: NIST CSF v1.1 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591415,\n \"created\": \"2024-02-20T18:58:19.140893Z\",\n \"modified\": \"2024-02-20T19:04:27.373674Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"9a874993-f7f4-4514-8e9d-103f71a7fd72\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: Posture Permissions\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591416,\n \"created\": \"2024-02-20T18:58:34.788707Z\",\n \"modified\": \"2024-02-20T19:04:28.440364Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"fe4ec194-e81e-422e-aba1-42d67610c7be\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: SOC 2 Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591417,\n \"created\": \"2024-02-20T18:58:43.217878Z\",\n \"modified\": \"2024-02-20T19:04:29.527051Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"e13e6af1-0188-4629-958a-ee0a64cebe0c\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Microsoft 365: SOX Compliance Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"o365\",\n \"policy_type_slug\": \"o365\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 591427,\n \"created\": \"2024-02-20T19:01:51.624637Z\",\n \"modified\": \"2024-02-20T19:06:21.982473Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"a73d0f00-8ee2-4d0a-a2c4-75adbe6b2a17\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Okta: Baseline Classic Engine Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"okta\",\n \"policy_type_slug\": \"okta\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n }\n ]\n}"}],"_postman_id":"dbcc2a64-8366-40ba-8dac-3fa5ef9b8ffa"},{"name":"Get Policy","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"f75fc04e-0853-41e0-84fa-ca349cc6bb5e"}}],"id":"3def6879-b9df-4b8b-a75b-c5c28ac510f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/:id/","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the resource591391
createdString (ISO datetime)Timestamp when the record was created2024-02-20T18:48:37.189165Z
modifiedString (ISO datetime)Timestamp when the record was last modified2024-02-20T19:05:43.282655Z
external_idInteger or nullExternal system identifiernull
created_byIntegerID of the user who created the record1526
modified_byString (ISO datetime) or nullID of the user who last modified the recordnull
ownerIntegerID of the record owner1526
internal_idString (UUID)Internal system identifier453a6236-79eb-4cf6-b38b-3cfcaf7b3277
baseline_policy_for_tenantBooleanBaseline policy for tenantfalse
nameStringName of the resourceAuth0: Baseline Posture Settings
descriptionString or nullDescription of the resourcenull
activeBooleanWhether the resource is activetrue
policy_typeStringType of policyauth0
policy_type_slugStringPolicy type slugauth0
custom_service_typeString or nullType of custom servicenull
installed_service_typeString or nullType of installed servicenull
tagsArrayList of associated tags[]
is_referenceBooleanWhether the resource is referencetrue
from_reference_policyString or nullFrom reference policynull
notify_pol_ownerBooleanNotify pol ownerfalse
notify_ms_recipsBooleanNotify ms recipsfalse
notify_userString or nullNotify usernull
service_groupsArrayList of service groups[]
monitored_servicesArrayList of monitored services[]
roleStringRolemonitored_service_config
modeStringModeblacklist
issue_handlingStringIssue handlingnotify
scheduledBooleanWhether the resource is scheduledtrue
pol_intervalStringPol interval08:00:00
last_runString or nullTimestamp of the last executionnull
last_scheduledString or nullLast schedulednull
last_completed_scanString or nullLast completed scannull
last_policy_assessment_statusString or nullStatus of last policy assessmentnull
last_policy_assessment_error_codeString or nullLast policy assessment error codenull
monitored_services_countIntegerNumber of items0
risk_statisticsObjectRisk statistics{}
external_dataString or nullExternal datanull
default_actionString or nullDefault actionnull
asset_restrictionsArrayList of asset restrictions[]
pers_fresh_ttlStringPers fresh ttl1 00:00:00
notification_frequencyStringNotification frequencyimmediate
extra_notification_emailsArrayList of extra notification emails[]
notif_env_filter_tagsArrayList of notif env filter tags[]
ext_services_enabledArrayWhether ext services is enabled[]
ext_services_configsObjectExt services configs{}
is_runnableBooleanWhether the resource is runnablefalse
implements_classification_configurationString or nullImplements classification configurationnull
open_issues_countIntegerNumber of items0
active_perspectives_countIntegerNumber of items0
interval_total_secondsIntegerInterval total seconds28800
basic_notifs_enabledBooleanWhether basic notifs is enabledfalse
enabled_notifsArrayList of enabled notifs[]
has_rule_requiring_authBooleanWhether the resource has rule requiring authfalse
bounding_classificationsArrayList of bounding classifications[]
workflowsArrayList of workflows[]
last_policy_assessment_failure_infosArrayList of last policy assessment failure infos[]
last_policy_assessment_warningsArrayList of last policy assessment warnings[]
target_tagsArrayList of target tags[]
is_obj_comprehensiveBooleanWhether the resource is obj comprehensivefalse
is_field_comprehensiveBooleanWhether the resource is field comprehensivefalse
rule_type_countsObjectNumber of items{\"config.org.sys_setting\": {\"rules\": 23, \"excep...
rule_type_counts.config.org.sys_settingObjectNumber of items{\"rules\": 23, \"exceptions\": 0, \"by_target_type\"...
rule_type_counts.config.org.sys_setting.rulesIntegerNumber of items23
rule_type_counts.config.org.sys_setting.exceptionsIntegerNumber of items0
rule_type_counts.config.org.sys_setting.by_target_typeObjectNumber of items{}
not_runnable_reasonStringNot runnable reasonmissing_monitored_service
pending_assessment_started_onString or nullPending assessment started onnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Policy ID

\n","type":"text/plain"},"type":"any","value":"{{policy_id}}","key":"id"}]}},"response":[{"id":"a4dfb6f4-ba15-44aa-b5d5-6724004785dc","name":"Get Policy","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/policy/:id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","policy",":id",""],"variable":[{"key":"id","value":"{{policy_id}}","description":"Policy ID"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 591391,\n \"created\": \"2024-02-20T18:48:37.189165Z\",\n \"modified\": \"2024-02-20T19:05:43.282655Z\",\n \"external_id\": null,\n \"created_by\": 1526,\n \"modified_by\": null,\n \"owner\": 1526,\n \"internal_id\": \"453a6236-79eb-4cf6-b38b-3cfcaf7b3277\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Auth0: Baseline Posture Settings\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"auth0\",\n \"policy_type_slug\": \"auth0\",\n \"custom_service_type\": null,\n \"installed_service_type\": null,\n \"tags\": [],\n \"is_reference\": true,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null,\n \"default_action\": null,\n \"asset_restrictions\": [],\n \"pers_fresh_ttl\": \"1 00:00:00\",\n \"notification_frequency\": \"immediate\",\n \"extra_notification_emails\": [],\n \"notif_env_filter_tags\": [],\n \"ext_services_enabled\": [],\n \"ext_services_configs\": {},\n \"is_runnable\": false,\n \"implements_classification_configuration\": null,\n \"open_issues_count\": 0,\n \"active_perspectives_count\": 0,\n \"interval_total_seconds\": 28800,\n \"basic_notifs_enabled\": false,\n \"enabled_notifs\": [],\n \"has_rule_requiring_auth\": false,\n \"bounding_classifications\": [],\n \"workflows\": [],\n \"last_policy_assessment_failure_infos\": [],\n \"last_policy_assessment_warnings\": [],\n \"target_tags\": [],\n \"is_obj_comprehensive\": false,\n \"is_field_comprehensive\": false,\n \"rule_type_counts\": {\n \"config.org.sys_setting\": {\n \"rules\": 23,\n \"exceptions\": 0,\n \"by_target_type\": {}\n }\n },\n \"not_runnable_reason\": \"missing_monitored_service\",\n \"pending_assessment_started_on\": null\n}"}],"_postman_id":"3def6879-b9df-4b8b-a75b-c5c28ac510f1"},{"name":"Start Policy Scan","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"100cd231-2579-4967-aa06-55994fe00c41"}}],"id":"ccae3470-1578-4c77-9de7-1a3b09072672","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/:id/scan/","description":"

POST request to begin policy scan.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
external_idString (UUID)External system identifier39b9cf55-c2f0-476d-84e3-9ae32722db53
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy",":id","scan",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Policy ID to scan

\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"69992039-7140-4b9e-8aaa-28fab0677efa","name":"Start Policy Scan","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://acme.appomni.com/api/v1/core/policy/:id/scan/","protocol":"https","host":["acme","appomni","com"],"path":["api","v1","core","policy",":id","scan",""],"variable":[{"key":"id","value":"12345","description":"Policy ID to scan"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"54"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n \"external_id\": \"39b9cf55-c2f0-476d-84e3-9ae32722db53\"\n}"}],"_postman_id":"ccae3470-1578-4c77-9de7-1a3b09072672"},{"name":"Check Policy Scan Status and Results","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"916834cc-78a2-44b3-a90b-174177ba295d"}}],"id":"d4fa4521-e720-4493-acee-69084ac0ca2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/policyassessment/check_status/","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
external_idString (UUID)External system identifier39b9cf55-c2f0-476d-84e3-9ae32722db53
policy_idIntegerID of the policy136740
completeBooleanCompletefalse
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policyassessment","check_status",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

String; Filter by external id

\n","type":"text/plain"},"key":"external_id","value":"{{external_id_value}}"}],"variable":[]}},"response":[{"id":"0c1a7e96-08b3-40fe-9186-b32655cbf4df","name":"Scan Incomplete","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://acme.appomni.com/api/v1/core/policyassessment/check_status?external_id=39b9cf55-c2f0-476d-84e3-9ae32722db53","protocol":"https","host":["acme","appomni","com"],"path":["api","v1","core","policyassessment","check_status"],"query":[{"key":"external_id","value":"39b9cf55-c2f0-476d-84e3-9ae32722db53","description":"String; Filter by external id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"external_id\": \"39b9cf55-c2f0-476d-84e3-9ae32722db53\",\n \"policy_id\": 136740,\n \"complete\": false\n}"},{"id":"c343d489-f106-4951-8436-68e759aecfce","name":"Scan Complete","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://acme.appomni.com/api/v1/core/policyassessment/check_status?external_id=39b9cf55-c2f0-476d-84e3-9ae32722db53","protocol":"https","host":["acme","appomni","com"],"path":["api","v1","core","policyassessment","check_status"],"query":[{"key":"external_id","value":"39b9cf55-c2f0-476d-84e3-9ae32722db53","description":"String; Filter by external id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"external_id\": \"39b9cf55-c2f0-476d-84e3-9ae32722db53\",\n \"policy_id\": 12345,\n \"complete\": true,\n \"completion_status\": \"success\",\n \"success\": true,\n \"open_issues\": 1,\n \"new_issues\": 0,\n \"reopened_issues\": 0\n}"}],"_postman_id":"d4fa4521-e720-4493-acee-69084ac0ca2a"},{"name":"List Open Policy Issues","id":"218123c9-118f-4d36-bb5c-eeea177bf97a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/ruleevent/","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the issue12345
createdString (ISO datetime)Timestamp when the issue was created\"2024-09-18T10:30:45.123Z\"
modifiedString (ISO datetime)Timestamp when the issue was last modified\"2024-09-18T14:20:30.456Z\"
policyIntegerID of the policy that generated this issue591391
policy_nameStringName of the policy\"Baseline Posture Settings\"
ruleIntegerID of the rule that triggered this issue78901
rule_nameStringName of the rule\"MFA not enabled for admin users\"
statusStringCurrent status of the issue\"open\"
severityStringSeverity level of the issue\"high\"
risk_scoreIntegerRisk score associated with the issue8
monitored_serviceIntegerID of the monitored service2345
service_nameStringName of the monitored service\"Production Salesforce\"
first_openedString (ISO datetime)When the issue was first detected\"2024-09-15T08:00:00.000Z\"
last_seenString (ISO datetime)When the issue was last observed\"2024-09-18T10:30:45.123Z\"
descriptionStringDescription of the issue\"Admin user john@example.com does not have MFA enabled\"
\n

All parameters are optional. This request with no filtering parameters will return all open Policy Issues.

\n","urlObject":{"protocol":"https","path":["api","v1","core","ruleevent",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Array[String]; Filter by policy values

\n","type":"text/plain"},"key":"policy__in","value":"[{value1},{value2}]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by service org values

\n","type":"text/plain"},"key":"service_org__in","value":"[{value1},{value2}]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by service org tags values

\n","type":"text/plain"},"key":"service_org__tags__in","value":"[{tag1_id},{tag2_id}]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by service org type values

\n","type":"text/plain"},"key":"service_org__type__in","value":"[{value1},{value2}]"}],"variable":[]}},"response":[],"_postman_id":"218123c9-118f-4d36-bb5c-eeea177bf97a"},{"name":"List Compliance Controls for Policy Rule","id":"dbece7f4-39be-4c89-ba8c-b56adad6af2b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/compliance/evaluated_controls/?rule_event_id=issue_id","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the control456
control_idStringCompliance framework control ID\"AC-2\"
frameworkStringCompliance framework name\"NIST 800-53\"
titleStringControl title\"Account Management\"
descriptionStringDetailed description of the control\"The organization manages user accounts...\"
categoryStringControl category\"Access Control\"
severityStringSeverity level\"medium\"
rule_event_idIntegerAssociated rule event ID12345
compliance_statusStringCurrent compliance status\"compliant\"
last_evaluatedString (ISO datetime)Last evaluation timestamp\"2024-09-18T12:00:00.000Z\"
\n

Additional Notes:

\n\n","urlObject":{"protocol":"https","path":["api","v1","compliance","evaluated_controls",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Array[String]; Filter by compliance framework name values

\n","type":"text/plain"},"key":"compliance_framework_name__in","value":"[{value1},{value2}]"},{"disabled":true,"description":{"content":"

String; Filter by compliant

\n","type":"text/plain"},"key":"compliant","value":"{{compliant_value}}"},{"description":{"content":"

String; Filter by rule event id

\n","type":"text/plain"},"key":"rule_event_id","value":"issue_id"},{"disabled":true,"description":{"content":"

Array[String]; Filter by service org values

\n","type":"text/plain"},"key":"service_org__in","value":"[{value1},{value2}]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by service types

\n","type":"text/plain"},"key":"service_type__in","value":"[\"sfdc\",\"m365\"]"}],"variable":[]}},"response":[],"_postman_id":"dbece7f4-39be-4c89-ba8c-b56adad6af2b"},{"name":"Assign Monitored Services to Policy","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"b97601d8-2132-4c24-993f-32b3476fa7a0"}}],"id":"c672b192-58a4-4a7e-9f7a-5e1b3bf53215","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"monitored_services\": [monitored_service_id, ...]}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/:id/","description":"

Assign monitored services to a Posture Policy in order to scan those with the policy. Note that the monitored services must be of the same service type as the policy.

\n

Request Parameters

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
monitored_servicesArray[Integer]YesList of monitored service IDs to assign[2345, 2346, 2347]
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the policy591391
createdString (ISO datetime)Timestamp when created\"2024-02-20T18:48:37.189165Z\"
modifiedString (ISO datetime)Timestamp when last modified\"2024-09-18T15:30:45.123Z\"
nameStringPolicy name\"Baseline Posture Settings\"
descriptionString or nullPolicy description\"Standard security posture policy\"
activeBooleanWhether the policy is activetrue
policy_typeStringType of policy\"o365\"
monitored_servicesArray[Integer]List of assigned monitored service IDs[2345, 2346, 2347]
monitored_services_countIntegerNumber of assigned monitored services3
tagsArray[Integer]List of assigned tag IDs[]
scheduledBooleanWhether policy scans are scheduledtrue
pol_intervalStringScan interval\"08:00:00\"
last_runString (ISO datetime) or nullLast scan timestamp\"2024-09-18T08:00:00.000Z\"
\n

Additional Notes:

\n\n","urlObject":{"protocol":"https","path":["api","v1","core","policy",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Policy ID to modify

\n","type":"text/plain"},"type":"any","value":"{{policy_id}}","key":"id"}]}},"response":[],"_postman_id":"c672b192-58a4-4a7e-9f7a-5e1b3bf53215"},{"name":"Assign Target Tags to Policy","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"id":"54bd5e82-d9b5-47e7-b156-63d7854cf339"}}],"id":"447ec00d-a6f5-4783-a5c6-abd4e7a6ffa7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"target_tags\": [tag_id, ...]}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/:id/","description":"

By assigning Target Tags to a Posture Policy you are able to design a policy that will target all monitored services that are tagged with the tags specified as Target Tags at scan time.

\n

Note that of the monitored services tagged with the policy's Target Tags, only the monitored services that are the same service type as the policy will be collected for scanning.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
tagsArray[Integer]YesList of tag IDs to assign to the policy[120, 345, 678]
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the policy591391
createdString (ISO datetime)Timestamp when created\"2024-02-20T18:48:37.189165Z\"
modifiedString (ISO datetime)Timestamp when last modified\"2024-09-18T15:35:20.456Z\"
nameStringPolicy name\"Baseline Posture Settings\"
descriptionString or nullPolicy description\"Standard security posture policy\"
activeBooleanWhether the policy is activetrue
policy_typeStringType of policy\"o365\"
tagsArray[Integer]List of assigned tag IDs[120, 345, 678]
monitored_servicesArray[Integer]List of assigned monitored service IDs[]
scheduledBooleanWhether policy scans are scheduledtrue
pol_intervalStringScan interval\"08:00:00\"
targets_countIntegerNumber of targets3
\n

Additional Notes:

\n\n","urlObject":{"protocol":"https","path":["api","v1","core","policy",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Policy ID to modify

\n","type":"text/plain"},"type":"any","value":"{{policy_id}}","key":"id"}]}},"response":[],"_postman_id":"447ec00d-a6f5-4783-a5c6-abd4e7a6ffa7"},{"name":"Retrieve Posture Policies","id":"e2d3942d-a761-43b9-ae65-666415580158","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/?policy_type={monitored_service_config}","description":"

Returns a list of posture policies configured for the specified monitored service(s)

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the resource330516
createdString (ISO datetime)Timestamp when the record was created2022-12-05T22:03:58.321175Z
modifiedString (ISO datetime)Timestamp when the record was last modified2023-03-24T21:02:10.994053Z
external_idInteger or nullExternal system identifiernull
created_byIntegerID of the user who created the record3362
modified_byIntegerID of the user who last modified the record3362
ownerIntegerID of the record owner3362
internal_idString (UUID)Internal system identifier322bb353-70dc-4cc5-b7ba-5ab292460231
baseline_policy_for_tenantBooleanBaseline policy for tenantfalse
nameStringName of the resourceds-1
descriptionString or nullDescription of the resourcenull
activeBooleanWhether the resource is activetrue
policy_typeStringType of policysfdc
policy_type_slugStringPolicy type slugsfdc
custom_service_typeString or nullType of custom servicenull
tagsArrayList of associated tags[]
is_referenceBooleanWhether the resource is referencefalse
from_reference_policyString or nullFrom reference policynull
notify_pol_ownerBooleanNotify pol ownerfalse
notify_ms_recipsBooleanNotify ms recipsfalse
notify_userString or nullNotify usernull
service_groupsArray[Integer]List of service groups[107310]
monitored_servicesArrayList of monitored services[]
roleStringRolesecurity
modeStringModewhitelist
issue_handlingStringIssue handlingnotify
scheduledBooleanWhether the resource is scheduledtrue
pol_intervalStringPol interval12:00:00
last_runString (ISO datetime)Timestamp of the last execution2023-03-24T20:04:16.823492Z
last_scheduledString (ISO datetime)Last scheduled2023-03-24T20:02:33.530066Z
last_completed_scanString (ISO datetime)Last completed scan2023-03-24T20:04:16.823492Z
last_policy_assessment_statusStringStatus of last policy assessmentsuccess
last_policy_assessment_error_codeString or nullLast policy assessment error codenull
targets_countIntegerNumber of items1
monitored_services_countIntegerNumber of items0
risk_statisticsObjectRisk statistics{}
external_dataString or nullExternal datanull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

String; Filter by policy_type

\n","type":"text/plain"},"key":"policy_type","value":"{monitored_service_config}"}],"variable":[]}},"response":[{"id":"599de248-4ad4-4a40-a9ce-580b8b81634c","name":"Retrieve Posture Policies","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/core/policy/?filter.policyType=monitored_service_config","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","policy",""],"query":[{"key":"filter.policyType","value":"monitored_service_config","description":"String; Filter by filter.policyType"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 330516,\n \"created\": \"2022-12-05T22:03:58.321175Z\",\n \"modified\": \"2023-03-24T21:02:10.994053Z\",\n \"external_id\": null,\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"owner\": 3362,\n \"internal_id\": \"322bb353-70dc-4cc5-b7ba-5ab292460231\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"ds-1\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [\n 107310\n ],\n \"monitored_services\": [],\n \"role\": \"security\",\n \"mode\": \"whitelist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"12:00:00\",\n \"last_run\": \"2023-03-24T20:04:16.823492Z\",\n \"last_scheduled\": \"2023-03-24T20:02:33.530066Z\",\n \"last_completed_scan\": \"2023-03-24T20:04:16.823492Z\",\n \"last_policy_assessment_status\": \"success\",\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 1,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 330517,\n \"created\": \"2022-12-05T22:08:16.525753Z\",\n \"modified\": \"2023-03-24T21:38:33.623855Z\",\n \"external_id\": \"212609\",\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"owner\": 3362,\n \"internal_id\": \"1855824b-49f4-4b35-bc5c-a838ae29c601\",\n \"baseline_policy_for_tenant\": true,\n \"name\": \"Salesforce: ISO 27001:2013\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": 212609,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [\n 26063\n ],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"01:00:00\",\n \"last_run\": \"2023-03-24T21:26:56.912034Z\",\n \"last_scheduled\": \"2023-03-24T21:26:38.374056Z\",\n \"last_completed_scan\": \"2023-03-24T21:26:56.912034Z\",\n \"last_policy_assessment_status\": \"success\",\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 1,\n \"monitored_services_count\": 1,\n \"risk_statistics\": {\n \"risk_score\": 0,\n \"risk_levels\": [\n {\n \"name\": \"Informational\",\n \"risk_count\": 2,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Low\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Medium\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"High\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Critical\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n }\n ],\n \"max_risks_only\": {\n \"risk_score\": 0,\n \"risk_levels\": [\n {\n \"name\": \"Informational\",\n \"risk_count\": 2,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Low\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Medium\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"High\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Critical\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n }\n ],\n \"max_risks_only\": null\n }\n },\n \"external_data\": null\n },\n {\n \"id\": 330518,\n \"created\": \"2022-12-05T22:09:06.094268Z\",\n \"modified\": \"2022-12-05T22:09:06.094288Z\",\n \"external_id\": \"166344\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"internal_id\": \"6ab7f626-0dfb-423c-8eb8-e42b520bb226\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Salesforce: SOC 2 Type 1\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": 166344,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"01:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 372222,\n \"created\": \"2023-02-16T15:59:04.069054Z\",\n \"modified\": \"2023-02-16T16:01:29.533521Z\",\n \"external_id\": null,\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"owner\": 3362,\n \"internal_id\": \"098206d2-6afb-4c9f-be4c-efde286fdd71\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"test-day\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [\n 107310\n ],\n \"monitored_services\": [],\n \"role\": \"security\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"12:00:00\",\n \"last_run\": \"2023-03-24T20:04:16.823492Z\",\n \"last_scheduled\": \"2023-03-24T20:02:33.530066Z\",\n \"last_completed_scan\": \"2023-03-24T20:04:16.823492Z\",\n \"last_policy_assessment_status\": \"success\",\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 1,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 372224,\n \"created\": \"2023-02-16T16:04:34.255911Z\",\n \"modified\": \"2023-03-24T18:30:01.471226Z\",\n \"external_id\": null,\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"owner\": 3362,\n \"internal_id\": \"560622dc-a6e6-4b07-aaa7-457231165bda\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"smm-test\",\n \"description\": \"{\\\"ops\\\":[{\\\"insert\\\":\\\"testing 123\\\\n\\\"}]}\",\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [\n 26063\n ],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": \"2023-03-24T18:29:39.679356Z\",\n \"last_scheduled\": \"2023-03-24T18:29:30.320152Z\",\n \"last_completed_scan\": \"2023-03-24T18:29:39.679356Z\",\n \"last_policy_assessment_status\": \"success\",\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 1,\n \"monitored_services_count\": 1,\n \"risk_statistics\": {\n \"risk_score\": 0,\n \"risk_levels\": [\n {\n \"name\": \"Informational\",\n \"risk_count\": 1,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Low\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Medium\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"High\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Critical\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n }\n ],\n \"max_risks_only\": {\n \"risk_score\": 0,\n \"risk_levels\": [\n {\n \"name\": \"Informational\",\n \"risk_count\": 1,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Low\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Medium\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"High\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n },\n {\n \"name\": \"Critical\",\n \"risk_count\": 0,\n \"max_risk_score\": 0\n }\n ],\n \"max_risks_only\": null\n }\n },\n \"external_data\": null\n },\n {\n \"id\": 390027,\n \"created\": \"2023-03-20T19:29:11.152396Z\",\n \"modified\": \"2023-03-20T19:31:03.208381Z\",\n \"external_id\": null,\n \"created_by\": 9153,\n \"modified_by\": null,\n \"owner\": 9153,\n \"internal_id\": \"640c9987-efa4-43ae-8106-2c2aade3ae04\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Test policy for workday\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"workday\",\n \"policy_type_slug\": \"workday\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"monitored_service_config\",\n \"mode\": \"blacklist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"08:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 392490,\n \"created\": \"2023-03-24T20:45:28.212464Z\",\n \"modified\": \"2023-03-24T20:45:43.373981Z\",\n \"external_id\": null,\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"internal_id\": \"bf6f7d22-2be0-4c26-a9cf-9da2344f5155\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Policy test\",\n \"description\": null,\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [],\n \"monitored_services\": [],\n \"role\": \"security\",\n \"mode\": \"whitelist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"12:00:00\",\n \"last_run\": null,\n \"last_scheduled\": null,\n \"last_completed_scan\": null,\n \"last_policy_assessment_status\": null,\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 0,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n },\n {\n \"id\": 392491,\n \"created\": \"2023-03-24T20:46:54.296919Z\",\n \"modified\": \"2023-03-24T20:51:32.002703Z\",\n \"external_id\": null,\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"owner\": 3362,\n \"internal_id\": \"3316651b-f505-4917-9921-fd7db9fb0ced\",\n \"baseline_policy_for_tenant\": false,\n \"name\": \"Functional policy test\",\n \"description\": \"{\\\"ops\\\":[{\\\"insert\\\":\\\"Test for API response\\\\n\\\"}]}\",\n \"active\": true,\n \"policy_type\": \"sfdc\",\n \"policy_type_slug\": \"sfdc\",\n \"custom_service_type\": null,\n \"tags\": [],\n \"is_reference\": false,\n \"from_reference_policy\": null,\n \"notify_pol_owner\": false,\n \"notify_ms_recips\": false,\n \"notify_user\": null,\n \"service_groups\": [\n 107310\n ],\n \"monitored_services\": [],\n \"role\": \"functional\",\n \"mode\": \"whitelist\",\n \"issue_handling\": \"notify\",\n \"scheduled\": true,\n \"pol_interval\": \"12:00:00\",\n \"last_run\": \"2023-03-24T20:53:08.344454Z\",\n \"last_scheduled\": \"2023-03-24T20:51:33.595679Z\",\n \"last_completed_scan\": \"2023-03-24T20:53:08.344454Z\",\n \"last_policy_assessment_status\": \"success\",\n \"last_policy_assessment_error_code\": null,\n \"targets_count\": 1,\n \"monitored_services_count\": 0,\n \"risk_statistics\": {},\n \"external_data\": null\n }\n]"}],"_postman_id":"e2d3942d-a761-43b9-ae65-666415580158"},{"name":"Retrieve Selected Posture Policy Rule Options","id":"f65d701d-9dce-49db-a074-ee4197898feb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/rule/?policy={policy_id}","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
rule_optionsArray[Object]List of available rule options[]
rule_options[].sys_valueStringSystem value identifierconfig.sys_setting.value
rule_options[].labelStringDisplay label for the rule optionSystem Setting
rule_options[].descriptionStringDescription of what the rule detectsDetect when a System Setting has been given a specified value
rule_options[].binary_typeBooleanWhether this is a binary typefalse
rule_options[].md_kindStringMetadata kind identifiersfdc.scp.rule.criteria.config.sys_setting.value
rule_options[].disabledBooleanWhether the option is disabledfalse
rule_options[].disabled_reasonString or nullReason if disablednull
rule_options[].optgroupString or nullOption groupnull
rule_options[].sspm_categoryStringSSPM categorysystem_config
rule_options[].sspm_category_labelStringSSPM category display labelSystem Configuration
rule_options[].exception_handlingStringException handling typeconvert_only
rule_options[].options_support_service_specific_categoriesBooleanWhether options support service-specific categoriesfalse
\n
","urlObject":{"protocol":"https","path":["api","v1",":service_type","rule",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Filter by specific policy ID

\n","type":"text/plain"},"key":"policy","value":"{policy_id}"}],"variable":[{"description":{"content":"

SaaS application identifier

\n","type":"text/plain"},"type":"any","value":null,"key":"service_type"}]}},"response":[{"id":"3ecb5600-be73-4994-a377-a19f2fef03af","name":"Retrieve Selected Posture Policy Rule Options","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/:service_type/rule/?policy={{policy_id}}","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1",":service_type","rule",""],"query":[{"key":"policy","value":"{{policy_id}}","description":"Integer; Filter by specific policy ID"}],"variable":[{"key":"service_type","value":null,"description":"The SaaS application or AppOmni service"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"rule_options\": [\n {\n \"sys_value\": \"config.sys_setting.value\",\n \"label\": \"System Setting\",\n \"description\": \"Detect when a System Setting has been given a specified value\",\n \"binary_type\": false,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"disabled\": false,\n \"disabled_reason\": null,\n \"optgroup\": null,\n \"sspm_category\": \"system_config\",\n \"sspm_category_label\": \"System Configuration\",\n \"exception_handling\": \"convert_only\",\n \"options_support_service_specific_categories\": false\n },\n {\n \"sys_value\": \"config.profile.functional\",\n \"label\": \"Profile Setting\",\n \"description\": \"Detect when a Profile Setting has been assigned a specified value\",\n \"binary_type\": false,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.profile.functional\",\n \"disabled\": false,\n \"disabled_reason\": null,\n \"optgroup\": \"Profile\",\n \"sspm_category\": \"rbac_settings\",\n \"sspm_category_label\": \"RBAC Element Settings\",\n \"exception_handling\": \"convert_only\",\n \"options_support_service_specific_categories\": false\n },\n ]\n}"}],"_postman_id":"f65d701d-9dce-49db-a074-ee4197898feb"},{"name":"Retrieve Rules for Policy","id":"d1014d79-8d87-4855-8009-eab45dd8e386","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/{policy_type}/rule/?policy={policy_id}","description":"

Returns a list of rules configured for a posture policy, including rule_id(s) needed for other endpoints.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the resource443195
createdString (ISO datetime)Timestamp when the record was created2022-12-05T22:11:03.624785Z
modifiedString (ISO datetime)Timestamp when the record was last modified2022-12-05T22:11:03.624807Z
external_idStringExternal system identifier195014
created_byIntegerID of the user who created the record3362
modified_byString (ISO datetime) or nullID of the user who last modified the recordnull
ownerIntegerID of the record owner3362
rule_typeStringType of ruleconfig.sys_setting.value
unique_idString (UUID)ID of the unique231ead69-d0af-4bce-a082-2fd8e8d5b2e6
policyIntegerpolicy330517
actionString or nullactionnull
statusStringCurrent status of the resourceactive
expiresString or nullexpiresnull
nameStringName of the resourcePassword complexity requirement Org Setting Rule
system_descriptionObjectsystem description{\"description\": \"Org Setting '{setting}' {polar...
system_description.descriptionStringDescription of the resourceOrg Setting '{setting}' {polarity} {values}
system_description.placeholdersObjectsystem description placeholders{\"setting\": [{\"label\": \"Password complexity req...
system_description.placeholders.settingArray[Object]system description placeholders setting[{\"label\": \"Password complexity requirement\", \"...
system_description.placeholders.setting[].labelStringsystem description placeholders setting[] labelPassword complexity requirement
system_description.placeholders.setting[].api_nameStringsystem description placeholders setting[] api namecomplexity
system_description.placeholders.setting[].api_idInteger or nullID of the system description.placeholders.setting[].apinull
system_description.placeholders.setting[].md_versionIntegersystem description placeholders setting[] md version1
system_description.placeholders.setting[].md_kindStringsystem description placeholders setting[] md kindcore.rule.criteria.translation_placeholder
system_description.placeholders.polarityArray[Object]system description placeholders polarity[{\"label\": \"must be\", \"api_name\": null, \"api_id...
system_description.placeholders.polarity[].labelStringsystem description placeholders polarity[] labelmust be
system_description.placeholders.polarity[].api_nameString or nullsystem description placeholders polarity[] api namenull
system_description.placeholders.polarity[].api_idInteger or nullID of the system description.placeholders.polarity[].apinull
system_description.placeholders.polarity[].md_versionIntegersystem description placeholders polarity[] md version1
system_description.placeholders.polarity[].md_kindStringsystem description placeholders polarity[] md kindcore.rule.criteria.translation_placeholder
system_description.placeholders.valuesArray[Object]List of system description.placeholders.values[{\"label\": \"At least 1 letter and at least one ...
system_description.placeholders.values[].labelStringsystem description placeholders values[] labelAt least 1 letter and at least one number
system_description.placeholders.values[].api_nameStringsystem description placeholders values[] api namealphanumeric
system_description.placeholders.values[].api_idInteger or nullID of the system description.placeholders.values[].apinull
system_description.placeholders.values[].md_versionIntegersystem description placeholders values[] md version1
system_description.placeholders.values[].md_kindStringsystem description placeholders values[] md kindcore.rule.criteria.translation_placeholder
system_description.md_versionIntegersystem description md version1
system_description.md_kindStringsystem description md kindcore.rule.criteria.translation
descriptionString or nullDescription of the resourcenull
criteriaObjectcriteria{\"md_version\": 1, \"md_kind\": \"sfdc.scp.rule.cri...
criteria.md_versionIntegercriteria md version1
criteria.md_kindStringcriteria md kindsfdc.scp.rule.criteria.config.sys_setting.value
criteria.setting_nameStringcriteria setting namecomplexity
criteria.setting_labelStringcriteria setting labelPassword complexity requirement
criteria.polarityStringcriteria polarityIS
criteria.valuesArray[String]List of criteria.values[\"alphanumeric\"]
criteria.value_labelsArray[String]List of criteria.value labels[\"At least 1 letter and at least one number\"]
criteria.noop_ruleBooleancriteria noop rulefalse
criteria.posture_subcategoryStringcriteria posture subcategorypassword_and_session_settings
has_child_rulesBooleanhas child rulesfalse
rule_posture_categoryStringrule posture categorysystem_config
rule_posture_subcategoryStringrule posture subcategorypassword_and_session_settings
service_specific_categoryString or nullservice specific categorynull
evaluation_errorsArrayList of evaluation errors[]
tagsArray[Integer]List of associated tags[87172]
modeStringmodeblacklist
compliance_controlsArray[Integer]List of compliance controls[126, 127]
external_dataString or nullexternal datanull
\n
","urlObject":{"protocol":"https","path":["api","v1","{policy_type}","rule",""],"host":["[your_subdomain]","appomni","com"],"query":[{"key":"policy","value":"{policy_id}"}],"variable":[]}},"response":[{"id":"f1a4025a-d4ca-40b7-9583-11f5c3b5a9e6","name":"Retrieve Rules for Policy","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/{policy_type}/rule/?policy={policy_id}","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","{policy_type}","rule",""],"query":[{"key":"policy","value":"{policy_id}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"count\": 9,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"id\": 443195,\n \"created\": \"2022-12-05T22:11:03.624785Z\",\n \"modified\": \"2022-12-05T22:11:03.624807Z\",\n \"external_id\": \"195014\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"231ead69-d0af-4bce-a082-2fd8e8d5b2e6\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Password complexity requirement Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Password complexity requirement\",\n \"api_name\": \"complexity\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"At least 1 letter and at least one number\",\n \"api_name\": \"alphanumeric\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"complexity\",\n \"setting_label\": \"Password complexity requirement\",\n \"polarity\": \"IS\",\n \"values\": [\n \"alphanumeric\"\n ],\n \"value_labels\": [\n \"At least 1 letter and at least one number\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"password_and_session_settings\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"password_and_session_settings\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87172\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 126,\n 127\n ],\n \"external_data\": null\n },\n {\n \"id\": 443194,\n \"created\": \"2022-12-05T22:11:03.624560Z\",\n \"modified\": \"2022-12-05T22:11:03.624577Z\",\n \"external_id\": \"195010\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"b260b776-4386-4b57-8c8c-7f680838a19c\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Allow non-admin users to grant Support login access Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Allow non-admin users to grant Support login access\",\n \"api_name\": \"canUsersGrantLoginAccess\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"canUsersGrantLoginAccess\",\n \"setting_label\": \"Allow non-admin users to grant Support login access\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"administrative_permissions\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"administrative_permissions\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87171\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 126\n ],\n \"external_data\": null\n },\n {\n \"id\": 443193,\n \"created\": \"2022-12-05T22:11:03.624395Z\",\n \"modified\": \"2022-12-05T22:11:03.624407Z\",\n \"external_id\": \"195003\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"cb67f6d3-d3f4-481c-a989-9626b3d9ac84\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Enable SAML-based SSO into Salesforce Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Enable SAML-based SSO into Salesforce\",\n \"api_name\": \"enableSamlLogin\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"true\",\n \"api_name\": \"true\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"enableSamlLogin\",\n \"setting_label\": \"Enable SAML-based SSO into Salesforce\",\n \"polarity\": \"IS\",\n \"values\": [\n \"true\"\n ],\n \"value_labels\": [\n \"true\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"identity_and_system_access\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"identity_and_system_access\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87168\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 126\n ],\n \"external_data\": null\n },\n {\n \"id\": 443192,\n \"created\": \"2022-12-05T22:11:03.624241Z\",\n \"modified\": \"2022-12-05T22:11:03.624257Z\",\n \"external_id\": \"195002\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"5c43aa54-5f0e-41c7-977a-a59487cc813e\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Allow granting super user access to partners in Communities Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Allow granting super user access to partners in Communities\",\n \"api_name\": \"enablePartnerSuperUserAccess\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"enablePartnerSuperUserAccess\",\n \"setting_label\": \"Allow granting super user access to partners in Communities\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"authorization\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"authorization\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87170\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 126\n ],\n \"external_data\": null\n },\n {\n \"id\": 443191,\n \"created\": \"2022-12-05T22:11:03.624045Z\",\n \"modified\": \"2022-12-05T22:11:03.624057Z\",\n \"external_id\": \"195001\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"7ba2b4ee-0bff-47c2-8480-e7ffc79dbbeb\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Enable auto-provisioning of users via SAML sign-in Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Enable auto-provisioning of users via SAML sign-in\",\n \"api_name\": \"enableSamlJitProvisioning\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"enableSamlJitProvisioning\",\n \"setting_label\": \"Enable auto-provisioning of users via SAML sign-in\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"identity_and_system_access\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"identity_and_system_access\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87169\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 125\n ],\n \"external_data\": null\n },\n {\n \"id\": 443190,\n \"created\": \"2022-12-05T22:11:03.623900Z\",\n \"modified\": \"2022-12-05T22:11:03.623913Z\",\n \"external_id\": \"194999\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"9f001557-c1e8-4ee6-9915-5263321b3414\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Require Users to have read access to a record to see the record's name in lookup and system fields Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Require Users to have read access to a record to see the record's name in lookup and system fields\",\n \"api_name\": \"enableRestrictAccessLookupRecords\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"enableRestrictAccessLookupRecords\",\n \"setting_label\": \"Require Users to have read access to a record to see the record's name in lookup and system fields\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"authorization\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"authorization\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87170\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 125\n ],\n \"external_data\": null\n },\n {\n \"id\": 443189,\n \"created\": \"2022-12-05T22:11:03.623745Z\",\n \"modified\": \"2022-12-05T22:11:03.623760Z\",\n \"external_id\": \"194996\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"c04efee0-a599-430a-9bd1-2ed7e6ce992c\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Disable login with Salesforce credentials Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Disable login with Salesforce credentials\",\n \"api_name\": \"isLoginWithSalesforceCredentialsDisabled\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"isLoginWithSalesforceCredentialsDisabled\",\n \"setting_label\": \"Disable login with Salesforce credentials\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"identity_and_system_access\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"identity_and_system_access\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87172\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 123\n ],\n \"external_data\": null\n },\n {\n \"id\": 443188,\n \"created\": \"2022-12-05T22:11:03.623516Z\",\n \"modified\": \"2022-12-05T22:11:03.623542Z\",\n \"external_id\": \"194992\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"7bdf102e-def5-4739-a240-e482cce237aa\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Prevent login from mobile user devices with revoked status Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Prevent login from mobile user devices with revoked status\",\n \"api_name\": \"enforceUserDeviceRevoked\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"enforceUserDeviceRevoked\",\n \"setting_label\": \"Prevent login from mobile user devices with revoked status\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"identity_and_system_access\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"identity_and_system_access\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87171\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 123\n ],\n \"external_data\": null\n },\n {\n \"id\": 443187,\n \"created\": \"2022-12-05T22:11:03.618630Z\",\n \"modified\": \"2022-12-05T22:11:03.618663Z\",\n \"external_id\": \"194991\",\n \"created_by\": 3362,\n \"modified_by\": null,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"6e4467ef-1475-467b-be6f-17766b80c3e4\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Opt Out of Guest User Security Policies Org Setting Rule\",\n \"system_description\": {\n \"description\": \"Org Setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"Opt Out of Guest User Security Policies\",\n \"api_name\": \"enableGuestSecurityOptOutCruc\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"setting_name\": \"enableGuestSecurityOptOutCruc\",\n \"setting_label\": \"Opt Out of Guest User Security Policies\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false,\n \"posture_subcategory\": \"authorization\"\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"authorization\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87170\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 102\n ],\n \"external_data\": null\n }\n ]\n}"}],"_postman_id":"d1014d79-8d87-4855-8009-eab45dd8e386"},{"name":"Update Policy Rule","id":"c6dd7758-b56c-475d-94e0-a2681ae7ee33","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"criteria\": {\n \"setting_name\": \"enablePartnerSuperUserAccess\",\n \"md_kind\": \"sfdc.scp.rule.criteria.config.sys_setting.value\",\n \"md_version\": 1,\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"noop_rule\": false\n },\n \"name\": \"Allow granting super user access to partners in Communities Org Setting Rule\",\n \"policy\": 330517,\n \"rule_type\": \"config.sys_setting.value\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/rule/:rule_id/","description":"

Allows users to update the details of the specified rule for a SaaS applicaiton in AppOmni.

\n

WARNING
If you use the \"Update Policy Rule\" API endpoint to add NOTES to a Policy Rule, rather than using the UI method defined on the \"Manage Policy Rule\" page in the documentation portal, you will NOT be able to EDIT or DELETE the content you add.

\n

NOTE: You may update tags by sending the payload below plus the additional tags payload:

\n
\n

{ \"tags\": [ 17367 ] }

\n
\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
criteriaObjectYesCriteria{\"setting_name\": \"enablePartnerSuperU...
criteria.setting_nameStringYesCriteria setting nameenablePartnerSuperUserAccess
criteria.md_kindStringYesCriteria md kindsfdc.scp.rule.criteria.config.sys_set...
criteria.md_versionIntegerYesCriteria md version1
criteria.polarityStringYesCriteria polarityIS
criteria.valuesArray[String]YesList of criteria.values[\"false\"]
criteria.noop_ruleBooleanYesCriteria noop rulefalse
nameStringYesName of the resourceAllow granting super user access to p...
policyIntegerYesPolicy330517
rule_typeStringYesType of ruleconfig.sys_setting.value
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the resource443195
createdString (ISO datetime)Timestamp when the record was created2022-12-05T22:11:03.624785Z
modifiedString (ISO datetime)Timestamp when the record was last modified2023-03-25T01:05:37.487405Z
external_idStringExternal system identifier195014
created_byIntegerID of the user who created the record3362
modified_byIntegerID of the user who last modified the record3362
ownerIntegerID of the record owner3362
rule_typeStringType of ruleconfig.sys_setting.value
unique_idString (UUID)ID of the unique231ead69-d0af-4bce-a082-2fd8e8d5b2e6
policyIntegerPolicy330517
actionString or nullActionnull
statusStringCurrent status of the resourceactive
expiresString or nullExpiresnull
nameStringName of the resourcePassword complexity requirement Org Setting Rule
system_descriptionObjectSystem description{\"description\": \"All Profiles' setting '{settin...
system_description.descriptionStringDescription of the resourceAll Profiles' setting '{setting}' {polarity} {v...
system_description.placeholdersObjectSystem description placeholders{\"setting\": [{\"label\": \"API Enabled\", \"api_name...
system_description.placeholders.settingArray[Object]System description placeholders setting[{\"label\": \"API Enabled\", \"api_name\": \"permissi...
system_description.placeholders.setting[].labelStringSystem description placeholders setting[] labelAPI Enabled
system_description.placeholders.setting[].api_nameStringSystem description placeholders setting[] api namepermissionsapienabled
system_description.placeholders.setting[].api_idInteger or nullID of the system description.placeholders.setting[].apinull
system_description.placeholders.setting[].md_versionIntegerSystem description placeholders setting[] md version1
system_description.placeholders.setting[].md_kindStringSystem description placeholders setting[] md kindcore.rule.criteria.translation_placeholder
system_description.placeholders.polarityArray[Object]System description placeholders polarity[{\"label\": \"must be\", \"api_name\": null, \"api_id...
system_description.placeholders.polarity[].labelStringSystem description placeholders polarity[] labelmust be
system_description.placeholders.polarity[].api_nameString or nullSystem description placeholders polarity[] api namenull
system_description.placeholders.polarity[].api_idInteger or nullID of the system description.placeholders.polarity[].apinull
system_description.placeholders.polarity[].md_versionIntegerSystem description placeholders polarity[] md version1
system_description.placeholders.polarity[].md_kindStringSystem description placeholders polarity[] md kindcore.rule.criteria.translation_placeholder
system_description.placeholders.valuesArray[Object]List of system description.placeholders.values[{\"label\": \"false\", \"api_name\": \"false\", \"api_i...
system_description.placeholders.values[].labelStringSystem description placeholders values[] labelfalse
system_description.placeholders.values[].api_nameStringSystem description placeholders values[] api namefalse
system_description.placeholders.values[].api_idInteger or nullID of the system description.placeholders.values[].apinull
system_description.placeholders.values[].md_versionIntegerSystem description placeholders values[] md version1
system_description.placeholders.values[].md_kindStringSystem description placeholders values[] md kindcore.rule.criteria.translation_placeholder
system_description.md_versionIntegerSystem description md version1
system_description.md_kindStringSystem description md kindcore.rule.criteria.translation
descriptionString or nullDescription of the resourcenull
criteriaObjectCriteria{\"md_version\": 1, \"md_kind\": \"sfdc.scp.rule.cri...
criteria.md_versionIntegerCriteria md version1
criteria.md_kindStringCriteria md kindsfdc.scp.rule.criteria.config.profile.all_setting
criteria.setting_nameStringCriteria setting namepermissionsapienabled
criteria.polarityStringCriteria polarityIS
criteria.valuesArray[String]List of criteria.values[\"false\"]
criteria.value_labelsArray[String]List of criteria.value labels[\"false\"]
criteria.noop_ruleBooleanCriteria noop rulefalse
has_child_rulesBooleanWhether the resource has child rulesfalse
rule_posture_categoryStringRule posture categorysystem_config
rule_posture_subcategoryStringRule posture subcategorypassword_and_session_settings
service_specific_categoryString or nullService specific categorynull
evaluation_errorsArrayList of evaluation errors[]
tagsArray[Integer]List of associated tags[87172]
modeStringModeblacklist
compliance_controlsArray[Integer]List of compliance controls[126, 127]
external_dataString or nullExternal datanull
\n
","urlObject":{"protocol":"https","path":["api","v1",":service_type","rule",":rule_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

SaaS application

\n","type":"text/plain"},"type":"any","value":null,"key":"service_type"},{"description":{"content":"

Unque identifier for a rule

\n","type":"text/plain"},"type":"any","value":null,"key":"rule_id"}]}},"response":[{"id":"cff17087-0ccb-49dc-be32-3f3280fcaf56","name":"Update Policy Rule","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.profile.all_setting\",\n \"setting_name\": \"permissionsapienabled\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false\n }\n}"},"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/:service_type/rule/:rule_id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1",":service_type","rule",":rule_id",""],"variable":[{"key":"service_type","value":null},{"key":"rule_id","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 443195,\n \"created\": \"2022-12-05T22:11:03.624785Z\",\n \"modified\": \"2023-03-25T01:05:37.487405Z\",\n \"external_id\": \"195014\",\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"owner\": 3362,\n \"rule_type\": \"config.sys_setting.value\",\n \"unique_id\": \"231ead69-d0af-4bce-a082-2fd8e8d5b2e6\",\n \"policy\": 330517,\n \"action\": null,\n \"status\": \"active\",\n \"expires\": null,\n \"name\": \"Password complexity requirement Org Setting Rule\",\n \"system_description\": {\n \"description\": \"All Profiles' setting '{setting}' {polarity} {values}\",\n \"placeholders\": {\n \"setting\": [\n {\n \"label\": \"API Enabled\",\n \"api_name\": \"permissionsapienabled\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"polarity\": [\n {\n \"label\": \"must be\",\n \"api_name\": null,\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ],\n \"values\": [\n {\n \"label\": \"false\",\n \"api_name\": \"false\",\n \"api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation_placeholder\"\n }\n ]\n },\n \"md_version\": 1,\n \"md_kind\": \"core.rule.criteria.translation\"\n },\n \"description\": null,\n \"criteria\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.scp.rule.criteria.config.profile.all_setting\",\n \"setting_name\": \"permissionsapienabled\",\n \"polarity\": \"IS\",\n \"values\": [\n \"false\"\n ],\n \"value_labels\": [\n \"false\"\n ],\n \"noop_rule\": false\n },\n \"has_child_rules\": false,\n \"rule_posture_category\": \"system_config\",\n \"rule_posture_subcategory\": \"password_and_session_settings\",\n \"service_specific_category\": null,\n \"evaluation_errors\": [],\n \"tags\": [\n 87172\n ],\n \"mode\": \"blacklist\",\n \"compliance_controls\": [\n 126,\n 127\n ],\n \"external_data\": null\n}"}],"_postman_id":"c6dd7758-b56c-475d-94e0-a2681ae7ee33"},{"name":"Retrieve Impact Tags","id":"a9f41f5d-7096-4251-a47d-bfc862f8dffa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/tag/?type=impact","description":"

Returns a list of Impact tags identifiers so you can update impact tags for posture rules.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the resource87167
createdString (ISO datetime)Timestamp when the record was created2022-11-26T22:10:52.885519Z
modifiedString (ISO datetime)Timestamp when the record was last modified2022-11-26T22:10:52.885524Z
external_idInteger or nullExternal system identifiernull
created_byString (ISO datetime) or nullID of the user who created the recordnull
modified_byString (ISO datetime) or nullID of the user who last modified the recordnull
ownerString or nullID of the record ownernull
nameStringName of the resourceConfidentiality:Critical
short_nameString or nullShort namenull
typeStringTypeimpact
colorStringColorDB0300
immutableBooleanImmutabletrue
confidentiality_scoreIntegerConfidentiality score100
integrity_scoreString or nullIntegrity scorenull
confidentiality_multiplierInteger or nullConfidentiality multipliernull
integrity_multiplierString or nullIntegrity multipliernull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","tag",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

String; Filter by type

\n","type":"text/plain"},"key":"type","value":"impact"}],"variable":[]}},"response":[{"id":"29bbd051-cabb-4e3a-86a9-a98b639c4803","name":"Retreive Impact Tags","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/tag/?type=impact","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","tag",""],"query":[{"key":"type","value":"impact","description":"String; Filter by type"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 87167,\n \"created\": \"2022-11-26T22:10:52.885519Z\",\n \"modified\": \"2022-11-26T22:10:52.885524Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Confidentiality:Critical\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"DB0300\",\n \"immutable\": true,\n \"confidentiality_score\": 100,\n \"integrity_score\": null,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87166,\n \"created\": \"2022-11-26T22:10:52.885490Z\",\n \"modified\": \"2022-11-26T22:10:52.885494Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Confidentiality:High\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"FD7A79\",\n \"immutable\": true,\n \"confidentiality_score\": 75,\n \"integrity_score\": null,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87164,\n \"created\": \"2022-11-26T22:10:52.885430Z\",\n \"modified\": \"2022-11-26T22:10:52.885435Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Confidentiality:Low\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"E6C128\",\n \"immutable\": true,\n \"confidentiality_score\": 25,\n \"integrity_score\": null,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87165,\n \"created\": \"2022-11-26T22:10:52.885460Z\",\n \"modified\": \"2022-11-26T22:10:52.885465Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Confidentiality:Medium\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"FFB000\",\n \"immutable\": true,\n \"confidentiality_score\": 50,\n \"integrity_score\": null,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87172,\n \"created\": \"2022-11-26T22:10:52.885684Z\",\n \"modified\": \"2022-11-26T22:10:52.885689Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Integrity:Critical\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"DB0300\",\n \"immutable\": true,\n \"confidentiality_score\": null,\n \"integrity_score\": 100,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87171,\n \"created\": \"2022-11-26T22:10:52.885653Z\",\n \"modified\": \"2022-11-26T22:10:52.885658Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Integrity:High\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"FD7A79\",\n \"immutable\": true,\n \"confidentiality_score\": null,\n \"integrity_score\": 75,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87169,\n \"created\": \"2022-11-26T22:10:52.885583Z\",\n \"modified\": \"2022-11-26T22:10:52.885591Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Integrity:Low\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"E6C128\",\n \"immutable\": true,\n \"confidentiality_score\": null,\n \"integrity_score\": 25,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87170,\n \"created\": \"2022-11-26T22:10:52.885623Z\",\n \"modified\": \"2022-11-26T22:10:52.885628Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Integrity:Medium\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": \"FFB000\",\n \"immutable\": true,\n \"confidentiality_score\": null,\n \"integrity_score\": 50,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n },\n {\n \"id\": 87168,\n \"created\": \"2022-11-26T22:10:52.885548Z\",\n \"modified\": \"2022-11-26T22:10:52.885557Z\",\n \"external_id\": null,\n \"created_by\": null,\n \"modified_by\": null,\n \"owner\": null,\n \"name\": \"Integrity:None\",\n \"short_name\": null,\n \"type\": \"impact\",\n \"color\": null,\n \"immutable\": true,\n \"confidentiality_score\": null,\n \"integrity_score\": 0,\n \"confidentiality_multiplier\": null,\n \"integrity_multiplier\": null\n }\n]"}],"_postman_id":"a9f41f5d-7096-4251-a47d-bfc862f8dffa"},{"name":"List open policy violations","id":"96847ee4-dff0-46ae-a468-d2d5d69d6a09","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/ruleevent/:id/list_instances/","description":"

Given the service type and the issue id, this request returns a list of violations associated with that issue.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
bulk_action_onlyBooleanBulk action onlytrue
countIntegerTotal number of results available1
is_truncatedBooleanWhether the resource is truncatedfalse
resultsArray[Object]Array of result objects[{\"instance_id\": \"47897358\", \"opened_at\": \"2023...
instance_idStringID of the instance47897358
results[].opened_atString (ISO datetime)opened at2023-05-04T19:23:19.087260Z
results[].contextObjectcontext{\"md_version\": 1, \"md_kind\": \"sfdc.dam.ruleeven...
results[].context.md_versionIntegercontext md version1
results[].context.md_kindStringcontext md kindsfdc.dam.ruleevent.context.object.access
results[].context.accessStringcontext accessedit
results[].target_dataObjecttarget data{\"primary_target_label\": \"Content Document\", \"s...
results[].target_data.primary_target_labelStringtarget data primary target labelContent Document
results[].target_data.secondary_target_labelStringtarget data secondary target labelEdit
results[].target_data.primary_target_api_nameStringtarget data primary target api namecontentdocument
results[].target_data.primary_target_api_idInteger or nullID of the results[].target data.primary target apinull
results[].target_data.secondary_target_api_nameStringtarget data secondary target api nameedit
results[].target_data.secondary_target_api_idInteger or nullID of the results[].target data.secondary target apinull
results[].target_data.md_versionIntegertarget data md version1
results[].target_data.md_kindStringtarget data md kindcore.ruleevent.context.translation
results[].reasonsArray[Object]List of results[].reasons[{\"oid\": \"\", \"name\": \"Observed\", \"tier\": \"prima...
results[].reasons[].oidStringreasons[] oid
results[].reasons[].nameStringName of the resourceObserved
results[].reasons[].tierStringreasons[] tierprimary
results[].reasons[].sourceStringreasons[] sourceobservation
results[].reasons[].targetStringreasons[] targetContentDocument
results[].reasons[].detailsString or nullreasons[] detailsnull
results[].reasons[].settingStringreasons[] settingedit
results[].reasons[].categoryStringreasons[] categoryobserved
results[].reasons[].target_idInteger or nullID of the results[].reasons[].targetnull
results[].reasons[].classificationsArrayList of results[].reasons[].classifications[]
results[].reasons[].translated_detailsObjectreasons[] translated details{\"entity_type\": \"observation\", \"entity_type_lab...
results[].reasons[].translated_details.entity_typeStringType of results[].reasons[].translated details.entityobservation
results[].reasons[].translated_details.entity_type_labelStringreasons[] translated details entity type labelObserved Access
results[].reasons[].translated_details.entity_idStringID of the results[].reasons[].translated details.entity
results[].reasons[].translated_details.entity_labelStringreasons[] translated details entity labelObserved
results[].reasons[].translated_details.setting_categoryStringreasons[] translated details setting categoryobserved
results[].reasons[].translated_details.setting_category_labelStringreasons[] translated details setting category labelObserved
results[].reasons[].translated_details.setting_api_nameStringreasons[] translated details setting api nameedit
results[].reasons[].translated_details.setting_labelStringreasons[] translated details setting labeledit
results[].reasons[].translated_details.targetStringreasons[] translated details targetContentDocument
results[].reasons[].translated_details.target_labelStringreasons[] translated details target labelContentDocument
results[].reasons[].translated_details.explanation_strStringreasons[] translated details explanation strObserved access - this may be default or system...
results[].monitored_service_idIntegerID of the results[].monitored service26063
results[].monitored_service_nameStringmonitored service nameAppOmni
results[].perspective_idIntegerID of the results[].perspective88772
results[].perspective_nameStringperspective nameSusan Michalski
results[].actionableBooleanactionabletrue
\n
","urlObject":{"protocol":"https","path":["api","v1",":service_type","ruleevent",":id","list_instances",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":null,"key":"service_type"},{"type":"any","value":null,"key":"id"}]}},"response":[{"id":"7174327b-3eb9-4cee-9dff-9ec072e431d8","name":"List open policy violations","originalRequest":{"method":"GET","header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"bulk_action_only\": true,\n \"count\": 1,\n \"is_truncated\": false,\n \"results\": [\n {\n \"instance_id\": \"47897358\",\n \"opened_at\": \"2023-05-04T19:23:19.087260Z\",\n \"context\": {\n \"md_version\": 1,\n \"md_kind\": \"sfdc.dam.ruleevent.context.object.access\",\n \"access\": \"edit\"\n },\n \"target_data\": {\n \"primary_target_label\": \"Content Document\",\n \"secondary_target_label\": \"Edit\",\n \"primary_target_api_name\": \"contentdocument\",\n \"primary_target_api_id\": null,\n \"secondary_target_api_name\": \"edit\",\n \"secondary_target_api_id\": null,\n \"md_version\": 1,\n \"md_kind\": \"core.ruleevent.context.translation\"\n },\n \"reasons\": [\n {\n \"oid\": \"\",\n \"name\": \"Observed\",\n \"tier\": \"primary\",\n \"source\": \"observation\",\n \"target\": \"ContentDocument\",\n \"details\": null,\n \"setting\": \"edit\",\n \"category\": \"observed\",\n \"target_id\": null,\n \"classifications\": [],\n \"translated_details\": {\n \"entity_type\": \"observation\",\n \"entity_type_label\": \"Observed Access\",\n \"entity_id\": \"\",\n \"entity_label\": \"Observed\",\n \"setting_category\": \"observed\",\n \"setting_category_label\": \"Observed\",\n \"setting_api_name\": \"edit\",\n \"setting_label\": \"edit\",\n \"target\": \"ContentDocument\",\n \"target_label\": \"ContentDocument\",\n \"explanation_str\": \"Observed access - this may be default or system level access\"\n }\n }\n ],\n \"monitored_service_id\": 26063,\n \"monitored_service_name\": \"AppOmni\",\n \"perspective_id\": 88772,\n \"perspective_name\": \"Susan Michalski\",\n \"actionable\": true\n }\n ]\n}"}],"_postman_id":"96847ee4-dff0-46ae-a468-d2d5d69d6a09"},{"name":"Get current user's permissions for policy issues","id":"dd1e416e-4e7a-429c-862c-917092871c96","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/ruleevent/meta/","description":"

This request returns the permissions for the currently authenticated user for viewing, creating, updating, and deleting policy issues.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
permissionsObjectList of permissions{\"list\": true, \"create\": true, \"update\": true, ...
permissions.listBooleanPermissions listtrue
permissions.createBooleanPermissions createtrue
permissions.updateBooleanPermissions updatetrue
permissions.partial_updateBooleanPermissions partial updatetrue
permissions.deleteBooleanPermissions deletetrue
\n
","urlObject":{"protocol":"https","path":["api","v1",":service_type","ruleevent","meta",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":null,"key":"service_type"}]}},"response":[{"id":"0da0d969-2de1-41af-be36-e5fb54188da7","name":"Get current user's permissions for policy issues","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/:service_type/ruleevent/meta/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1",":service_type","ruleevent","meta",""],"variable":[{"key":"service_type","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"permissions\": {\n \"list\": true,\n \"create\": true,\n \"update\": true,\n \"partial_update\": true,\n \"delete\": true\n }\n}"}],"_postman_id":"dd1e416e-4e7a-429c-862c-917092871c96"},{"name":"Allow rule event violation","id":"2df55414-3092-4bee-891b-7428c3d583b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"records\":[\n {\n \"rule_event\":957611,\n \"action\":\"allow\"\n }\n ],\n \"message\":\"allow event\",\n \"expires\":\"2023-09-17T04:00:00.000Z\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/ruleevent/convert_to_exception/","description":"

This request provides the issue id and the action allow in the payload, which creates an exception for violations for that issue in the queried environment.

\n

expires (date/time) is optional. It is only needed when allowing an issue with a expiration date.

\n

The records array contains all issues being allowed.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
recordsArray[Object]YesList of records[{\"rule_event\": 957611, \"action\": \"al...
records[].rule_eventIntegerYesRecords[] rule event957611
records[].actionStringYesRecords[] actionallow
messageStringYesMessageallow event
expiresString (ISO datetime)YesExpires2023-09-17T04:00:00.000Z
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
handle_asyncBooleanHandle asyncfalse
rule_eventsArray[Object]List of rule events[{\"success\": true, \"event\": 957611, \"instance\":...
rule_events[].successBooleanRule events[] successtrue
rule_events[].eventIntegerRule events[] event957611
rule_events[].instanceString or nullRule events[] instancenull
rule_events[].event_statusStringStatus of rule events[].eventclosed
\n
","urlObject":{"protocol":"https","path":["api","v1",":service_type","ruleevent","convert_to_exception",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":null,"key":"service_type"}]}},"response":[{"id":"cd0a004f-de28-415c-b4c0-50b2e2fdb7d0","name":"Allow rulleevent violation","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"records\":[\n {\n \"rule_event\":957611,\n \"action\":\"allow\"\n }\n ],\n \"message\":\"allow event\",\n \"expires\":\"2023-09-17T04:00:00.000Z\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain]/api/v1/:service_type/ruleevent/convert_to_exception/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1",":service_type","ruleevent","convert_to_exception",""],"variable":[{"key":"service_type","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"handle_async\": false,\n \"rule_events\": [\n {\n \"success\": true,\n \"event\": 957611,\n \"instance\": null,\n \"event_status\": \"closed\"\n }\n ]\n}"}],"_postman_id":"2df55414-3092-4bee-891b-7428c3d583b5"},{"name":"Close rule event violation","id":"696f62c8-9152-47f9-ba85-ce1565a6cba9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"records\":[\n {\n \"closed_status\":\"ignored\",\n \"message\":\"\",\n \"rule_event\":881891\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/ruleevent/close/","description":"

This request passes the issue id and the closed_status in the payload, thereby closing the violations for the specified issue in the queried environment.

\n

The records array contains all issues being closed.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
recordsArray[Object]YesList of records[{\"closed_status\": \"ignored\", \"messag...
records[].closed_statusStringYesStatus of records[].closedignored
records[].messageStringYesRecords[] message
records[].rule_eventIntegerYesRecords[] rule event881891
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
handle_asyncBooleanHandle asyncfalse
rule_eventsArray[Object]List of rule events[{\"success\": true, \"event\": 881891, \"instance\":...
rule_events[].successBooleanRule events[] successtrue
rule_events[].eventIntegerRule events[] event881891
rule_events[].instanceString or nullRule events[] instancenull
rule_events[].event_statusStringStatus of rule events[].eventclosed
\n
","urlObject":{"protocol":"https","path":["api","v1",":service_type","ruleevent","close",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":null,"key":"service_type"}]}},"response":[{"id":"44d9c5bc-c1c8-407e-b8e9-a25e1f895f07","name":"Close ruleevent violation","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"records\":[\n {\n \"closed_status\":\"ignored\",\n \"message\":\"\",\n \"rule_event\":881891\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain]/api/v1/:service_type/ruleevent/close/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1",":service_type","ruleevent","close",""],"variable":[{"key":"service_type","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"handle_async\": false,\n \"rule_events\": [\n {\n \"success\": true,\n \"event\": 881891,\n \"instance\": null,\n \"event_status\": \"closed\"\n }\n ]\n}"}],"_postman_id":"696f62c8-9152-47f9-ba85-ce1565a6cba9"},{"name":"Delete an individual rule within a policy","id":"3a50876b-006a-490e-8c16-3a42100e4f52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/rule/:id/","description":"

This request deletes the rule specified by the id passed in.

\n","urlObject":{"protocol":"https","path":["api","v1",":service_type","rule",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":null,"key":"service_type"},{"type":"any","value":null,"key":"id"}]}},"response":[{"id":"673eb22c-1182-46a2-b16f-cf7ddf0e89db","name":"Delete an individual rule within a policy","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/:service_type/rule/:id/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1",":service_type","rule",":id",""],"variable":[{"key":"service_type","value":null},{"key":"id","value":null}]}},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"3a50876b-006a-490e-8c16-3a42100e4f52"},{"name":"Bulk delete rules within a policy","id":"4e6aa243-872b-4953-8342-247fe61493e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n \"ids\": [443194,443193]\n} ","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/:service_type/rule/bulk_delete/","description":"

Multiple rule ids may be passed in through the payload, separated by commas. The specified rules are deleted from the queried environment.

\n","urlObject":{"protocol":"https","path":["api","v1",":service_type","rule","bulk_delete",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":null,"key":"service_type"}]}},"response":[{"id":"b90eea5f-f3ed-45a7-ad06-d3434af54cf9","name":"Bulk delete rules within a policy","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n \"ids\": [443194,443193]\n} ","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain]/api/v1/:service_type/rule/bulk_delete/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1",":service_type","rule","bulk_delete",""],"variable":[{"key":"service_type","value":null}]}},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"4e6aa243-872b-4953-8342-247fe61493e0"},{"name":"List the last successful scan time for the active policies in a given monitored service","id":"c1f996e0-2855-4b6c-ac69-aff19abdcf61","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:id/last_successful_policy_assessments/","description":"

Returns the last successful scan time for all active policies for the specified monitored service id.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
unique_idString (UUID)ID of the unique961dcbf3-da1a-4a8d-8f39-33fc221de080
createdString (ISO datetime)Timestamp when the record was created2023-03-24T09:54:16.681653Z
modifiedString (ISO datetime)Timestamp when the record was last modified2023-03-24T09:55:19.825023Z
external_idString (UUID)External system identifier3e11c869-82f8-43b4-9d29-70f4fdcd4620
policyIntegerPolicy330517
completion_statusStringStatus of completionsuccess
completion_dateString (ISO datetime)Timestamp for completion2023-03-24T09:54:27.431321Z
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":id","last_successful_policy_assessments",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[{"id":"b29fb814-8270-4af3-8659-d8a668da8536","name":"List the last successful scan time for the active policies in a given monitored service","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"unique_id\": \"961dcbf3-da1a-4a8d-8f39-33fc221de080\",\n \"created\": \"2023-03-24T09:54:16.681653Z\",\n \"modified\": \"2023-03-24T09:55:19.825023Z\",\n \"external_id\": \"3e11c869-82f8-43b4-9d29-70f4fdcd4620\",\n \"policy\": 330517,\n \"completion_status\": \"success\",\n \"completion_date\": \"2023-03-24T09:54:27.431321Z\"\n },\n {\n \"unique_id\": \"2e8e5390-bd9f-476b-ad4c-2d939364cf70\",\n \"created\": \"2023-09-18T12:54:15.140099Z\",\n \"modified\": \"2023-09-18T12:54:46.320401Z\",\n \"external_id\": \"a2011302-1716-4b21-a31e-fc28d160d06b\",\n \"policy\": 372224,\n \"completion_status\": \"success\",\n \"completion_date\": \"2023-09-18T12:54:21.574818Z\"\n },\n {\n \"unique_id\": \"eff7514e-cfe1-455b-addf-ba676fcdcf64\",\n \"created\": \"2023-09-18T12:54:15.292540Z\",\n \"modified\": \"2023-09-18T12:54:48.367066Z\",\n \"external_id\": \"a2011302-1716-4b21-a31e-fc28d160d06b\",\n \"policy\": 473174,\n \"completion_status\": \"success\",\n \"completion_date\": \"2023-09-18T12:54:21.574818Z\"\n },\n {\n \"unique_id\": \"2010c649-5309-4f77-a6a3-9ea284904d31\",\n \"created\": \"2023-09-18T15:07:21.808364Z\",\n \"modified\": \"2023-09-18T15:08:45.772402Z\",\n \"external_id\": \"01002033-e7ad-4b31-b130-62610d231a91\",\n \"policy\": 330518,\n \"completion_status\": \"success\",\n \"completion_date\": \"2023-09-18T15:07:35.959192Z\"\n },\n {\n \"unique_id\": \"97076661-2e74-484e-a308-7dc16c3fa593\",\n \"created\": \"2023-09-18T15:41:23.215168Z\",\n \"modified\": \"2023-09-18T15:41:51.532207Z\",\n \"external_id\": \"7fab80aa-40b5-4999-b1c5-d546a9cf054a\",\n \"policy\": 418440,\n \"completion_status\": \"success\",\n \"completion_date\": \"2023-09-18T15:41:30.185936Z\"\n }\n]"}],"_postman_id":"c1f996e0-2855-4b6c-ac69-aff19abdcf61"},{"name":"List the last successful scan time for all monitored services on a given active policy","id":"c59d9087-69f7-40c9-b88a-2fc785d062c9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/:id/last_successful_policy_assessments/","description":"

Returns the last successful scan time for all monitored services for the specified active policy id.

\n

API results account for all monitored services associated with a given policy, including those added directly and those added indirectly using Target Tags.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
26063Object26063{\"unique_id\": \"a35e064b-c713-4f85-9079-895f6f3d...
26063.unique_idString (UUID)ID of the 26063.uniquea35e064b-c713-4f85-9079-895f6f3dd6ea
26063.createdString (ISO datetime)Timestamp when the record was created2023-09-18T16:04:06.189913Z
26063.modifiedString (ISO datetime)Timestamp when the record was last modified2023-09-18T16:06:45.253276Z
26063.external_idString (UUID)External system identifierd9335070-e680-48b9-8bb9-51665f12009c
26063.policyInteger26063 policy330517
26063.completion_statusStringStatus of 26063.completionsuccess
26063.completion_dateString (ISO datetime)Timestamp for 26063.completion2023-09-18T16:04:14.440094Z
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy",":id","last_successful_policy_assessments",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":"","key":"id"}]}},"response":[{"id":"0c816c28-45fa-41e3-b0bf-b850e92808b3","name":"List the last successful scan time for all monitored services on a given active policy","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://bdemo.appomni.com/api/v1/core/policy/:id/last_successful_policy_assessments/","protocol":"https","host":["bdemo","appomni","com"],"path":["api","v1","core","policy",":id","last_successful_policy_assessments",""],"variable":[{"key":"id","value":""}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"26063\": {\n \"unique_id\": \"a35e064b-c713-4f85-9079-895f6f3dd6ea\",\n \"created\": \"2023-09-18T16:04:06.189913Z\",\n \"modified\": \"2023-09-18T16:06:45.253276Z\",\n \"external_id\": \"d9335070-e680-48b9-8bb9-51665f12009c\",\n \"policy\": 330517,\n \"completion_status\": \"success\",\n \"completion_date\": \"2023-09-18T16:04:14.440094Z\"\n }\n}"}],"_postman_id":"c59d9087-69f7-40c9-b88a-2fc785d062c9"},{"name":"List MS Service Settings","id":"84b9f2de-5aae-474e-a293-029b00133c00","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/:serviceType/svcexp/:serviceId/servicesettings/","description":"

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
settingStringsettingTotal global admins
categoryStringcategoryservice_features_and_config
category_labelStringcategory labelService Features and Configuration
criticalityStringcriticalityhigh
criticality_scoreIntegercriticality score75
current_valueStringcurrent value3
api_nameStringapi nametotal_global_admins
ao_modeling_metadataString or nullao modeling metadatanull
optgroupString or nulloptgroupnull
setting_idStringID of the setting4912921d8bd3ca58ef1a5a6fb1c2e791
service_categoryStringservice categoryazure_ad
\n
","urlObject":{"protocol":"https","path":["api","v1",":serviceType","svcexp",":serviceId","servicesettings",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":"","key":"serviceType"},{"type":"any","value":"","key":"serviceId"}]}},"response":[{"id":"ffcbcf28-d549-4e44-badd-481952da5220","name":"List MS System Settings","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/:serviceType/svcexp/:serviceId/servicesettings/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1",":serviceType","svcexp",":serviceId","servicesettings",""],"variable":[{"key":"serviceType","value":""},{"key":"serviceId","value":""}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"count\": 644,\n \"next\": \"https://[your-domain].appomni.com/api/v1/o365/svcexp/27539/servicesettings/?=&limit=25&offset=25\",\n \"previous\": null,\n \"results\": [\n {\n \"setting\": \"Total global admins\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"high\",\n \"criticality_score\": 75,\n \"current_value\": \"3\",\n \"api_name\": \"total_global_admins\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"4912921d8bd3ca58ef1a5a6fb1c2e791\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Total global admins including apps\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"high\",\n \"criticality_score\": 75,\n \"current_value\": \"3\",\n \"api_name\": \"total_global_admins_including_apps\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"7c2150f3ca7e9193b847fa370a876ce6\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Total global admins - just apps\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"high\",\n \"criticality_score\": 75,\n \"current_value\": \"0\",\n \"api_name\": \"total_global_admins_just_apps\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"14ee5e9e7d43b23cc1831721c1a3026a\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Enable Email One Time Passcode For Guests\",\n \"category\": \"identity_and_system_access\",\n \"category_label\": \"Identity and System Access\",\n \"criticality\": \"critical\",\n \"criticality_score\": 100,\n \"current_value\": \"True\",\n \"api_name\": \"enable_email_one_time_passcode_for_guests\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"443251016a2c07d6c685fc8339cc95fe\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"External Collaboration Settings - Collaboration Restrictions - Blocked Domains\",\n \"category\": \"identity_and_system_access\",\n \"category_label\": \"Identity and System Access\",\n \"criticality\": \"critical\",\n \"criticality_score\": 100,\n \"current_value\": \"[]\",\n \"api_name\": \"blocked_domains\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"07a99632e04a9245dd7155bbc9cad228\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"External Collaboration Settings - Collaboration Restrictions - Allowed Domains\",\n \"category\": \"identity_and_system_access\",\n \"category_label\": \"Identity and System Access\",\n \"criticality\": \"critical\",\n \"criticality_score\": 100,\n \"current_value\": \"[]\",\n \"api_name\": \"allowed_domains\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"cf11682ad6d23539b115c24b0305b564\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Security Defaults\",\n \"category\": \"other_security_settings\",\n \"category_label\": \"Other Security Settings\",\n \"criticality\": \"high\",\n \"criticality_score\": 75,\n \"current_value\": \"True\",\n \"api_name\": \"security_defaults_enabled\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"62a2c722669e0bd0afa7725d97e8022c\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Enable MIP Labels\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"low\",\n \"criticality_score\": 25,\n \"current_value\": \"False\",\n \"api_name\": \"enable_mip_labels\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"07d166262aa1b46afe6dbb6ffca9c4f8\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Enable MS standard blocked words\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"low\",\n \"criticality_score\": 25,\n \"current_value\": \"\",\n \"api_name\": \"enable_ms_standard_blocked_words\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"b9065e568946e557917e50f149e89132\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Allow guests to own group\",\n \"category\": \"other_security_settings\",\n \"category_label\": \"Other Security Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"False\",\n \"api_name\": \"allow_guests_to_be_group_owner\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"38ef41823fbcc25bfaebbad7df4721ce\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Allow guests to access groups\",\n \"category\": \"authorization\",\n \"category_label\": \"Authorization\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"True\",\n \"api_name\": \"allow_guests_to_access_groups\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"c8dceaccd34e100ececec74934b718c5\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Guests allowed in groups\",\n \"category\": \"authorization\",\n \"category_label\": \"Authorization\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"True\",\n \"api_name\": \"allow_to_add_guests\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"e402d5b1e76504ab604b6fa92f5c9ad4\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Enable group creation\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"low\",\n \"criticality_score\": 25,\n \"current_value\": \"True\",\n \"api_name\": \"enable_group_creation\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"b034896f8aac921a0f402181b2ed5aba\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Check for app privileged updates\",\n \"category\": \"other_security_settings\",\n \"category_label\": \"Other Security Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"False\",\n \"api_name\": \"enable_access_check_for_privileged_application_updates\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"5cd7dbfe896310c9930a3487dc7fa3fc\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Enable banned password check\",\n \"category\": \"password_and_session_settings\",\n \"category_label\": \"Password and Session Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"True\",\n \"api_name\": \"enable_banned_password_check\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"6c41dd2fa3324c94e67d40ba379c4c9f\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Lockout duration (seconds)\",\n \"category\": \"password_and_session_settings\",\n \"category_label\": \"Password and Session Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"60\",\n \"api_name\": \"lockout_duration_in_seconds\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"54a3ad208c5a708920b6bbdbdf086106\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Lockout threshold (number of attempts)\",\n \"category\": \"password_and_session_settings\",\n \"category_label\": \"Password and Session Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"10\",\n \"api_name\": \"lockout_threshold\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"7c2d90286bb9ddf2f13af709d6557dc4\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Disable name validation against TM\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"low\",\n \"criticality_score\": 25,\n \"current_value\": \"False\",\n \"api_name\": \"do_not_validate_against_trademark\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"5c7506f1a3391cc5c7c35eb096130d24\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Group owners can grant group permissions\",\n \"category\": \"authorization\",\n \"category_label\": \"Authorization\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"False\",\n \"api_name\": \"enable_group_specific_consent\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"cba5b141dca2f84036821f17bddad67a\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Block user consent for risky apps\",\n \"category\": \"other_security_settings\",\n \"category_label\": \"Other Security Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"True\",\n \"api_name\": \"block_user_consent_for_risky_apps\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"5b11b0a0a8778b17f38892a02b913ed0\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Enable admin consent requests\",\n \"category\": \"service_features_and_config\",\n \"category_label\": \"Service Features and Configuration\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"False\",\n \"api_name\": \"enable_admin_consent_requests\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"d3e3b103c91290c3cb69d5146719b6f7\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Guest self-service sign-up enabled\",\n \"category\": \"identity_and_system_access\",\n \"category_label\": \"Identity and System Access\",\n \"criticality\": \"high\",\n \"criticality_score\": 75,\n \"current_value\": \"False\",\n \"api_name\": \"self_service_sign_up_enabled\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"6026d76cd333bee96b1ad7dbf825badc\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"All users have default password policy\",\n \"category\": \"password_and_session_settings\",\n \"category_label\": \"Password and Session Settings\",\n \"criticality\": \"high\",\n \"criticality_score\": 75,\n \"current_value\": \"True\",\n \"api_name\": \"all_users_have_default_password_policy\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"d8c0ad37a529644c9180d20674d48d3b\",\n \"service_category\": \"azure_ad\"\n },\n {\n \"setting\": \"Has maximum secure score\",\n \"category\": \"other_security_settings\",\n \"category_label\": \"Other Security Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"False\",\n \"api_name\": \"has_max_secure_score\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"7cddcc4e0b5b03fb14fdf2b82cab59b5\",\n \"service_category\": \"secure_scores\"\n },\n {\n \"setting\": \"Secure Score (%): Integrated Apps\",\n \"category\": \"other_security_settings\",\n \"category_label\": \"Other Security Settings\",\n \"criticality\": \"medium\",\n \"criticality_score\": 50,\n \"current_value\": \"0\",\n \"api_name\": \"secure_score_integrated_apps\",\n \"ao_modeling_metadata\": null,\n \"optgroup\": null,\n \"setting_id\": \"78c85921b825902fe03989269ce7ad5a\",\n \"service_category\": \"secure_scores\"\n }\n ]\n}"}],"_postman_id":"84b9f2de-5aae-474e-a293-029b00133c00"},{"name":"List Policy Settings - M365 Only","id":"ac029300-e973-4761-8f22-752f84ed5fef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/o365/svcexp/:serviceId/policy/","description":"

Returns a list of policy settings specific to Microsoft 365 service.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
policy_idStringUnique identifier for the policyf250f7fc-c869-46c2-b786-10dcf9a16f3a
nameStringName of the policyf250f7fc-c869-46c2-b786-10dcf9a16f3a
service_typeStringType of serviceo365
activeBooleanWhether the policy is activetrue
descriptionString or nullPolicy descriptionnull
notesString or nullAdditional notesnull
notes_last_updated_byString or nullUser who last updated notesnull
notes_last_updatedString (ISO datetime) or nullWhen notes were last updatednull
observed_settings_countIntegerNumber of observed settings34
policy_categoryStringCategory of the policym365crosstenantaccesspolicy
policy_category_labelStringDisplay label for the policy categoryM365 Cross Tenant Access Policy
data_typeString or nullData type of the policynull
\n
","urlObject":{"protocol":"https","path":["api","v1","o365","svcexp",":serviceId","policy",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"type":"any","value":"","key":"serviceId"}]}},"response":[{"id":"042a0a3c-fe0c-4ef6-a82e-78a85732676d","name":"List Policy Settings - M365 Only","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/o365/svcexp/:serviceId/policy","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","o365","svcexp",":serviceId","policy"],"variable":[{"key":"serviceId","value":""}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"policy_id\": \"f250f7fc-c869-46c2-b786-10dcf9a16f3a\",\n \"name\": \"f250f7fc-c869-46c2-b786-10dcf9a16f3a\",\n \"service_type\": \"o365\",\n \"active\": true,\n \"description\": null,\n \"notes\": null,\n \"notes_last_updated_by\": null,\n \"notes_last_updated\": null,\n \"observed_settings_count\": 34,\n \"policy_category\": \"m365crosstenantaccesspolicy\",\n \"policy_category_label\": \"M365 Cross Tenant Access Policy\",\n \"data_type\": null\n },\n {\n \"policy_id\": \"xnc5q.onmicrosoft.com\",\n \"name\": \"xnc5q.onmicrosoft.com\",\n \"service_type\": \"o365\",\n \"active\": true,\n \"description\": null,\n \"notes\": null,\n \"notes_last_updated_by\": null,\n \"notes_last_updated\": null,\n \"observed_settings_count\": 11,\n \"policy_category\": \"m365domain\",\n \"policy_category_label\": \"M365 Domain\",\n \"data_type\": null\n }\n]"}],"_postman_id":"ac029300-e973-4761-8f22-752f84ed5fef"},{"name":"Create a System Settings Snapshot","id":"38b5b333-68f1-4b93-9183-e43fca0afa50","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"type\": \"system\",\n \"collections\": [\n {\n \"name\": \"testing123\",\n \"baseline_monitored_service\": 34,\n \"target_monitored_services\": [23],\n \"filters\": {\n \"setting_id__in\": [\n \"c69e55ad835b9fa4a5e8964b95d4dbd3\",\n \"da3d7b56c23644a02769affb2edc7a55\",\n \"2a17ef3e7872c90a805e9fcd2802b9c6\"\n ],\n \"criticality_filter\": [\"low\"],\n \"category_filter\": [\"system_config\"]\n }\n }\n ]\n}\n","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/snapshot/","description":"

System Settings Collection Snapshot

\n

STEPS-Methods:

\n
    \n
  1. GET - List Monitored Services[your_subdomain]/api/v1/core/monitoredservice/

    \n
  2. \n
  3. GET Get monitored service system settings[your_subdomain]/api/v1/:serviceType/svcexp/:serviceId/servicesettings/

    \n
  4. \n
  5. POST Systems Settings Collection Snapshot[your_subdomain]/api/v1/core/policy/snapshot

    \n
  6. \n
\n

Variables:

\n\n

PAYLOAD (BODY)

\n
{\n    \"type\": \"system\",\n    \"collections\": [\n        {\n             “baseline_monitored_service_id”: “<monitored service ID>”,\n             “target_monitored_service_ids”: “<related monitored service IDs>”,\n             “name”: “<string>”,\n             “description”: “<string>”,\n             “tags”: “<related tag IDs>”,\n             “filters”: {\n           “setting_id__in”: “<Array of primary keys>”,\n          “<filter attribute>”: “<string>” | “<number>”,\n        },\n      }\n    ]\n  }\n\n

Request Parameters

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
typeStringYesTypesystem
collectionsArray[Object]YesList of collections[{\"name\": \"testing123\", \"baseline_mon...
collections[].nameStringYesName of the resourcetesting123
collections[].baseline_monitored_serviceIntegerYesCollections[] baseline monitored service34
collections[].target_monitored_servicesArray[Integer]YesList of collections[].target monitored services[23]
collections[].filtersObjectYesCollections[] filters{\"setting_id__in\": [\"c69e55ad835b9fa4...
collections[].filters.setting_id__inArray[String]YesCollections[] filters setting id in[\"c69e55ad835b9fa4a5e8964b95d4dbd3\", ...
collections[].filters.criticality_filterArray[String]YesCollections[] filters criticality filter[\"low\"]
collections[].filters.category_filterArray[String]YesCollections[] filters category filter[\"system_config\"]
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy","snapshot",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"38b5b333-68f1-4b93-9183-e43fca0afa50"},{"name":"Create a Posture Policy Snapshot","id":"0a818774-0880-4871-8340-71a063b403e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"type\": \"policies\",\n \"collections\": [\n {\n \"name\": \"appomni\",\n \"description\": \"74691f58-52a4-453e-9c22-b88c0e2cc851\",\n \"baseline_monitored_service\": 17690,\n \"target_monitored_services\": [17690],\n \"policy_category\": \"m365exchangeaccepteddomain\",\n \"policy_id\": \"4f07749c-6a46-492f-96fc-aa597238281b\"\n }\n ]\n}\n","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/policy/snapshot/","description":"

STEPS:

\n
    \n
  1. GET - List Monitored Services [your_subdomain]/api/v1/core/monitoredservice/

    \n
  2. \n
  3. GET - List monitored service policy settings - M365 only[your_subdomain]/api/v1/o365/svcexp/:serviceId/policy

    \n
  4. \n
  5. POST - Create a Posture Policy Collections Snapshot[your_subdomain]/api/v1/core/policy/snapshot

    \n
  6. \n
\n
* `“name”` - The name you are giving the snapshot that is being created\n* `”baseline_monitored_service”` - maps to `”id”` from List Monitored Services - The monitored service that has the base policy content that is being snapshotted. \n* \"target_monitored_services\" - maps to `”id”` from List Monitored Services - The monitored services that the snapshot is saved to.\n* `”description”` - string - *optional\n* `“tags”` - maps to `“tags”` from List Monitored Services expressed as integers (environment or target tags) - *optional\n* `“policy_category”` - maps to `“policy_category”` from List monitored service policy settings -M365 only\n* `“policy_id”` - maps to `“policy_id”` from List monitored service policy settings \n\n

PAYLOAD (BODY)

\n
{\n  “type”: “policies”\n  “collections”: [\n    {\n         “name”: “<string>”,\n          “description”: “<string>”,\n         “baseline_monitored_service_id”: “<monitored service ID>”,\n          “target_monitored_service_ids”: “<related monitored service IDs>”,\n         “policy_category”: “<string>”,\n          “policy_id”: “<policy ID>”,\n         “tags”: “<related tag IDs>”,\n         }\n      ]  \n   }\n\n

Request Parameters

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
typeStringYesTypepolicies
collectionsArray[Object]YesList of collections[{\"name\": \"appomni\", \"description\": \"...
collections[].nameStringYesName of the resourceappomni
collections[].descriptionString (UUID)YesDescription of the resource74691f58-52a4-453e-9c22-b88c0e2cc851
collections[].baseline_monitored_serviceIntegerYesCollections[] baseline monitored service17690
collections[].target_monitored_servicesArray[Integer]YesList of collections[].target monitored services[17690]
collections[].policy_categoryStringYesCollections[] policy categorym365exchangeaccepteddomain
collections[].policy_idString (UUID)YesID of the collections[].policy4f07749c-6a46-492f-96fc-aa597238281b
\n
","urlObject":{"protocol":"https","path":["api","v1","core","policy","snapshot",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a818774-0880-4871-8340-71a063b403e3"}],"id":"1bc48dc8-6b70-47f9-863e-121724bb4aba","_postman_id":"1bc48dc8-6b70-47f9-863e-121724bb4aba","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Authorization Tokens","item":[{"name":"Exchange refresh token for new access token","id":"91b001d5-5211-430b-97f7-119963af42ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"grant_type","value":"refresh_token","type":"text"},{"key":"refresh_token","value":"{{refreshtoken}}","description":"

Your Refresh Token

\n","type":"text"},{"key":"client_id","value":"{{api_app_client_id}}","description":"

The Client ID of your AppOmni API Application

\n","type":"text"},{"key":"client_secret","value":"{{api_app_client_secret}}","description":"

The Client Secret of your AppOmni API Application

\n","type":"text"}]},"url":"https://[your_subdomain].appomni.com/oauth/token/","description":"

This is a standard OAuth 2.0 \"Refresh Token Grant\" flow that enables the exchange of a valid Refresh Token for a new Access Token. The valid Access Token can then be used to make authenticated API requests in the context of the user who granted the Refresh Token.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
grant_typeStringYesOAuth2 grant type (must be \"refresh_token\")refresh_token
refresh_tokenStringYesYour Refresh Token{{refreshtoken}}
client_idStringYesThe Client ID of your AppOmni API Application{{api_app_client_id}}
client_secretStringYesThe Client Secret of your AppOmni API Application{{api_app_client_secret}}
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
access_tokenStringAPI access tokenXXXXX
expires_inIntegerToken expiration time in seconds3600
token_typeStringType of authentication tokenBearer
scopeStringPermissions granted to the token
refresh_tokenStringToken to refresh access tokenXXXXX
\n
","urlObject":{"protocol":"https","path":["oauth","token",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"602203d7-b615-4895-a8a9-aa8c52ecb5e2","name":"Exchange Refresh Token for New Access Token","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"access_token\": \"XXXXX\",\n \"expires_in\": 3600,\n \"token_type\": \"Bearer\",\n \"scope\": \"\",\n \"refresh_token\": \"XXXXX\"\n}"},"url":"https://[your_subdomain].appomni.com/oauth/token/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"access_token\": \"XXXXX\",\n \"expires_in\": 3600,\n \"token_type\": \"Bearer\",\n \"scope\": \"\",\n \"refresh_token\": \"XXXXX\"\n}"}],"_postman_id":"91b001d5-5211-430b-97f7-119963af42ad"},{"name":"Manually Grant Access Token with Specific Expiration Date","id":"e2271210-e2f5-457c-ae4c-997855d5f678","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"application\": 11472,\n \"description\": \"Example Description. Setting to expire on 05/31/2025\",\n \"access_token_expiration\": \"2025-05-31T07:00:00.000Z\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your-domain].appomni.com/api/v1/core/oauthaccesstoken/manual/\n","description":"

Use this route to grant an Access Token with a custom expiration date. This can be used to create long-lived API tokens where necessary for service-to-service integrations that cannot execute the OAuth 2.0 token grant flow using a Refresh Token.

\n

When using this capability, a new Refresh Token will be created for the specified Application. An Access Token with the specified expiration date will be granted under that Refresh Token.

\n

In the request,application is the ID of the AppOmni API Application to grant the token under. The API token you are using to make this request must have access to the application.

\n

You can execute a GET request on /api/v1/core/oauthapplication/?limit=25&offset=0&ordering=-name to obtain ID's for available API applications.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
applicationIntegerYesApplication11472
descriptionStringYesDescription of the resourceExample Description. Setting to expire on 05/31...
access_token_expirationString (ISO datetime)YesAccess token expiration2025-05-31T07:00:00.000Z
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
applicationIntegerApplication11472
access_token_expirationString (ISO datetime)Access token expiration2025-05-31T07:00:00Z
access_tokenStringAPI access tokenXXXXX
refresh_tokenStringToken to refresh access tokenXXXXX
descriptionStringDescription of the resourceExample Description. Setting to expire on 05/31...
\n
","urlObject":{"protocol":"https","path":["api","v1","core","oauthaccesstoken","manual","\n"],"host":["[your-domain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"a83502c5-2c0b-4142-9a26-c4a83e91f7c1","name":"Example of manual token grant","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"application\": 11472,\n \"access_token_expiration\": \"2025-05-31T07:00:00Z\",\n \"access_token\": \"XXXXX\",\n \"refresh_token\": \"XXXXX\",\n \"description\": \"Example Description. Setting to expire on 05/31/2025\"\n}"}],"_postman_id":"e2271210-e2f5-457c-ae4c-997855d5f678"},{"name":"Introspect Access Token","id":"eb40ace1-40a0-4d83-b7e1-ed174d1d171a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain]/oauth/introspect/","description":"

This is a RFC 7662-compliant Access Token Introspection endpoint. When making a query to the introspection endpoint with your valid access token in the Authorization header, you will get a response including the Client ID of the API Application the Access Token belongs to, the unix timestamp the token expires at, and the username of the user to which the token grants access under.

\n

https://datatracker.ietf.org/doc/html/rfc7662#section-2.2

\n","urlObject":{"protocol":"https","path":["oauth","introspect",""],"host":["[your_subdomain]"],"query":[],"variable":[]}},"response":[{"id":"812ed240-9492-4e7f-a370-2e0cf75eb0f3","name":"Introspect Access Token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{vault:bearer-token}}","type":"text"}],"url":"https://[your_subdomain]/oauth/introspect/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"active\": true,\n \"exp\": 1788793177,\n \"client_id\": \"XXX\",\n \"username\": user123\"\n}"}],"_postman_id":"eb40ace1-40a0-4d83-b7e1-ed174d1d171a"},{"name":"Revoke Refresh Token","id":"e97f6ab9-61c5-4f4e-97b1-c543146447db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"token","value":"REFRESH_TOKEN","description":"

Refresh Token to revoke

\n","type":"text"}]},"url":"https://[your_subdomain]/oauth/revoke/","description":"

This is a RFC 7009-compliant revocation route for OAuth Refresh Tokens granted under AppOmni API Applications.

\n

This route should be called via POST with the token parameter containing the value of the Refresh Token to be revoked. The token, and all Access Tokens granted under it, will be immediately revoked.

\n

https://datatracker.ietf.org/doc/html/rfc7009#section-2.1

\n","urlObject":{"protocol":"https","path":["oauth","revoke",""],"host":["[your_subdomain]"],"query":[],"variable":[]}},"response":[],"_postman_id":"e97f6ab9-61c5-4f4e-97b1-c543146447db"},{"name":"Revoke Refresh Token by Token ID","id":"a6c75a75-d6a9-40cb-ad55-d1df636d7ed9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://[your_subdomain]/api/v1/core/oauthrefreshtoken/:token_id/","urlObject":{"protocol":"https","path":["api","v1","core","oauthrefreshtoken",":token_id",""],"host":["[your_subdomain]"],"query":[],"variable":[{"description":{"content":"

The ID of the Refresh Token to delete

\n","type":"text/plain"},"type":"any","value":"XXX","key":"token_id"}]}},"response":[],"_postman_id":"a6c75a75-d6a9-40cb-ad55-d1df636d7ed9"},{"name":"Get API Application by Client ID","id":"8957c87f-20fa-4f8b-82d2-63f88e67c2bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain]/api/v1/core/oauthapplication/?client_id=CLIENT_ID","description":"

Using this route you are able to query for an AppOmni API Application (OAuthApplication object) by Client ID. This will allow you to convert a Client ID to the API Application ID, which may be necessary for other operations (e.g. rotating the client secret via API).

\n","urlObject":{"protocol":"https","path":["api","v1","core","oauthapplication",""],"host":["[your_subdomain]"],"query":[{"description":{"content":"

String; Filter by client id

\n","type":"text/plain"},"key":"client_id","value":"CLIENT_ID"}],"variable":[]}},"response":[{"id":"201eafcd-1b6a-485d-8f1a-9866a964fbc2","name":"Get API Application by Client ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/core/oauthapplication/?client_id=ABCDEF123456","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","oauthapplication",""],"query":[{"key":"client_id","value":"ABCDEF123456","description":"String; Filter by client id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 1,\n \"created\": \"2025-09-07T14:59:37.872737Z\",\n \"modified\": \"2025-09-07T14:59:37.872717Z\",\n \"external_id\": null,\n \"created_by\": 1,\n \"modified_by\": null,\n \"owner\": 1,\n \"name\": \"Sample Application\",\n \"description\": null\n \"client_id\": \"ABCDEF123456\",\n \"redirect_uris\": \"\",\n \"client_type\": \"confidential\",\n \"authorization_grant_type\": \"authorization-code\",\n \"skip_authorization\": false,\n \"allowed_scopes\": [],\n }\n]"}],"_postman_id":"8957c87f-20fa-4f8b-82d2-63f88e67c2bc"},{"name":"Rotate an API Application's Client Secret","id":"c71d683b-0ff1-4643-9d53-1b7bdb0b6dd5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"url":"https://[your_subdomain]/api/v1/core/oauthapplication/:app_id/rotate_client_secret/","description":"

Making a POST request to this route with valid authorization credentials (must be a valid API token with access to manage the API Application in question) will immediately rotate the API Application's client secret. The new client secret will be required for all future Access Token grant requests in conjunction with a valid Refresh Token.

\n

All existing Refresh Tokens will remain valid, and all Access Tokens previously granted and still valid will remain so until their expiration time.

\n

In most cases this action is only required if you believe your API Application's Client Secret has been compromised. Otherwise, it is recommended you revoke and issue new Refresh Tokens.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
client_secretStringClient secretNEW_CLIENT_SECRET
\n
","urlObject":{"protocol":"https","path":["api","v1","core","oauthapplication",":app_id","rotate_client_secret",""],"host":["[your_subdomain]"],"query":[],"variable":[{"description":{"content":"

The ID of the API Application

\n","type":"text/plain"},"type":"any","value":"","key":"app_id"}]}},"response":[{"id":"d6507ee0-5740-40d3-b28b-b017b153c481","name":"Rotate an API Application's Client Secret","originalRequest":{"method":"POST","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/core/oauthapplication/:app_id/rotate_client_secret/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","oauthapplication",":app_id","rotate_client_secret",""],"variable":[{"key":"app_id","value":"1","description":"The ID of the API Application"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"client_secret\": \"NEW_CLIENT_SECRET\"\n}"}],"_postman_id":"c71d683b-0ff1-4643-9d53-1b7bdb0b6dd5"}],"id":"e265732a-f827-445f-a97f-1d6fbc379af8","_postman_id":"e265732a-f827-445f-a97f-1d6fbc379af8","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Tags","item":[{"name":"List tags","id":"7f689dd2-52c8-4403-a2ee-daeb718863db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/tag/?limit=50&offset=0","description":"

Returns a paginated list of tags in the system.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the tag259814
createdString (ISO datetime)Timestamp when the tag was created2025-03-28T14:45:37.694435Z
modifiedString (ISO datetime)Timestamp when the tag was last modified2025-03-28T14:45:37.694453Z
external_idString or nullExternal system identifiernull
created_byIntegerID of user who created the tag1
modified_byInteger or nullID of user who last modified the tagnull
ownerIntegerID of the tag owner1
nameStringFull name of the tagcustom-environment-tag
short_nameStringShort name of the tagCE-tag
typeStringType classification of the tagenvironment
colorString or nullColor associated with the tagnull
immutableBooleanWhether the tag can be modifiedfalse
confidentiality_scoreInteger or nullConfidentiality score valuenull
integrity_scoreInteger or nullIntegrity score valuenull
confidentiality_multiplierFloatMultiplier for confidentiality calculations0.45
integrity_multiplierFloatMultiplier for integrity calculations0.77
\n
","urlObject":{"protocol":"https","path":["api","v1","core","tag",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Number of results to skip for pagination

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

String; Filter by tag full name

\n","type":"text/plain"},"key":"name","value":"Production"},{"disabled":true,"description":{"content":"

String; Filter by tag short name

\n","type":"text/plain"},"key":"short_name","value":"Prod"},{"disabled":true,"description":{"content":"

String; Filter by tag type (environment, impact, trust, compliance, generic)

\n","type":"text/plain"},"key":"type","value":"environment"}],"variable":[]}},"response":[{"id":"e3339dfc-f296-44d5-9011-969b4190a8d2","name":"List Tags","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/tag/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","tag",""],"query":[{"key":"name","value":"{{name_value}}","description":"String; Filter by name","disabled":true},{"key":"short_name","value":"{{short_name_value}}","description":"String; Filter by short name","disabled":true},{"key":"type","value":"{{type_value}}","description":"String; Filter by tag type","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[{ \n \"id\": 259814,\n \"created\": \"2025-03-28T14:45:37.694435Z\",\n \"modified\": \"2025-03-28T14:45:37.694453Z\",\n \"external_id\": null,\n \"created_by\": 1,\n \"modified_by\": null,\n \"owner\": 1,\n \"name\": \"custom-environment-tag\",\n \"short_name\": \"CE-tag\",\n \"type\": \"environment\",\n \"color\": null,\n \"immutable\": false,\n \"confidentiality_score\": null,\n \"integrity_score\": null,\n \"confidentiality_multiplier\": 0.45,\n \"integrity_multiplier\": 0.77\n },...]"}],"_postman_id":"7f689dd2-52c8-4403-a2ee-daeb718863db"}],"id":"fe098d7b-92e8-4490-83b2-534523a4de91","_postman_id":"fe098d7b-92e8-4490-83b2-534523a4de91","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Audit Logs","item":[{"name":"Get audit logs","id":"e6d91600-f467-4557-9157-2bfb37b934ae","protocolProfileBehavior":{"disabledSystemHeaders":{"host":true,"user-agent":true,"accept":true,"accept-encoding":true,"connection":true},"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/auditlogs/","description":"

Use this API route to retrieve AppOmni audit logs programmatically.

\n

For most use cases, its is recommended that you download AppOmni audit logs via the Reports feature. Audit logs are stored for 180 days; for longer term storage it is recommended you use Destinations to have logs sent to your SIEM.

\n

AppOmni audit logs will be immediately sent to configured Threat Detection event sinks (e.g. a SIEM).

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
identifierString (UUID)Unique identifier for the audit log entry24e94fd4-7d17-4302-9e98-1b9e468187a1
user_idInteger or nullID of the user who performed the action21
action_atString (ISO datetime)Timestamp when the action occurred2025-05-02T13:30:06.948560Z
action_typeStringType of action performedpolicy_scan_ended
service_idInteger or nullID of the monitored servicenull
service_typeString or nullType of the monitored servicenull
service_nameString or nullName of the monitored servicenull
policy_idInteger or nullID of the related policy311371
perspective_idInteger or nullID of the perspectivenull
perspective_nameString or nullName of the perspectivenull
action_dataObjectDetailed data about the actionSee action_data fields below
\n

action_data Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
rule_idInteger or nullID of the related rulenull
rule_nameString or nullName of the related rulenull
ruleexception_idInteger or nullID of the rule exceptionnull
ruleevent_idInteger or nullID of the rule eventnull
messageString or nullAction messagenull
expirationString or nullExpiration timestampnull
instance_idInteger or nullInstance IDnull
assignee_idInteger or nullID of the assigneenull
assignee_usernameString or nullUsername of the assigneenull
policy_idInteger or nullPolicy ID (in action_data)311371
policy_nameString or nullPolicy nameLP1
exception_dataObject or nullException datanull
policy_assessment_idInteger or nullPolicy assessment IDnull
policy_assessment_completion_dateString or nullPolicy assessment completion datenull
workflow_instance_idInteger or nullWorkflow instance IDnull
workflow_instance_nameString or nullWorkflow instance namenull
platform_ingest_job_idInteger or nullPlatform ingest job IDnull
file_idInteger or nullFile IDnull
third_party_application_idInteger or nullThird party application IDnull
third_party_application_nameString or nullThird party application namenull
oauth_application_idInteger or nullOAuth application IDnull
refresh_token_idInteger or nullRefresh token IDnull
access_token_idInteger or nullAccess token IDnull
external_entity_idInteger or nullExternal entity IDnull
group_idInteger or nullGroup IDnull
group_nameString or nullGroup namenull
tag_idInteger or nullTag IDnull
tag_nameString or nullTag namenull
type_strString or nullType stringnull
reason_strString or nullReason stringnull
detail_strString or nullDetail stringCompletion Status: Success
error_strString or nullError stringnull
user_ipString or nullUser IP address71.178.255.92
user_agentString or nullUser agent stringMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
unified_identity_idInteger or nullUnified identity IDnull
unified_identity_emailString or nullUnified identity emailnull
target_user_idInteger or nullTarget user IDnull
target_user_usernameString or nullTarget user usernamenull
user_usernameString or nullUsername who performed the actionJohn Doe
setting_nameString or nullSetting namenull
old_valueString or nullOld value of the settingnull
new_valueString or nullNew value of the settingnull
scim_mapping_idInteger or nullSCIM mapping IDnull
scim_attributeString or nullSCIM attributenull
scim_attribute_valueString or nullSCIM attribute valuenull
scim_group_targetsArray or nullSCIM group targetsnull
sink_idInteger or nullSink IDnull
sink_nameString or nullSink namenull
detection_rule_idInteger or nullDetection rule IDnull
detection_rule_nameString or nullDetection rule namenull
detection_ruleset_idInteger or nullDetection ruleset IDnull
detection_ruleset_nameString or nullDetection ruleset namenull
detection_alert_idInteger or nullDetection alert IDnull
detection_alert_countInteger or nullDetection alert countnull
destination_idInteger or nullDestination IDnull
destination_nameString or nullDestination namenull
destination_hashString or nullDestination hashnull
destination_typeString or nullDestination typenull
external_connection_idInteger or nullExternal connection IDnull
external_connection_nameString or nullExternal connection namenull
external_connection_provider_typeString or nullExternal connection provider typenull
external_connection_auth_typeString or nullExternal connection auth typenull
eventsource_idInteger or nullEvent source IDnull
eventsource_nameString or nullEvent source namenull
eventsource_typeString or nullEvent source typenull
eventsource_datasetString or nullEvent source datasetnull
investigation_idInteger or nullInvestigation IDnull
investigation_subjectString or nullInvestigation subjectnull
element_list_idInteger or nullElement list IDnull
element_idInteger or nullElement IDnull
element_typeString or nullElement typenull
global_value_list_collection_idInteger or nullGlobal value list collection IDnull
email_addressesArray or nullEmail addressesnull
email_identifierString or nullEmail identifiernull
email_reasonString or nullEmail reasonnull
insight_nameString or nullInsight namenull
thread_nameString or nullThread namenull
occurrence_nameString or nullOccurrence namenull
insight_idInteger or nullInsight IDnull
thread_idInteger or nullThread IDnull
occurrence_idInteger or nullOccurrence IDnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","auditlogs",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

String (ISO datetime); Filter for audit logs since an ISO datetime

\n","type":"text/plain"},"key":"since","value":"2025-05-01T01:00:00.000Z"},{"disabled":true,"description":{"content":"

String (ISO datetime); Filter for audit logs before an ISO datetime

\n","type":"text/plain"},"key":"before","value":"2025-05-02T01:00:00.000Z"},{"disabled":true,"description":{"content":"

Integer; Filter to audit logs about a specific Monitored Service by its ID

\n","type":"text/plain"},"key":"monitored_service","value":"{{monitored_service_id}}"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter to audit logs about a set of Monitored Services by their IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[{{ms1_id}},{{ms2_id}}]"},{"disabled":true,"description":{"content":"

Integer; Filter to audit logs by a specific User by their ID

\n","type":"text/plain"},"key":"user","value":"{{user_id}}"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter to audit logs by a list of Users by their IDs

\n","type":"text/plain"},"key":"user__in","value":"[{{user1_id}},{{user2_id}}]"},{"disabled":true,"description":{"content":"

Integer; Filter to audit logs about a specific Policy by its ID

\n","type":"text/plain"},"key":"policy","value":"{{policy_id}}"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter to audit logs about a list of Policies by their IDs

\n","type":"text/plain"},"key":"policy__in","value":"[{{policy1_id}},{{policy2_id}},{{policy3_id}}]"},{"disabled":true,"description":{"content":"

String; Filter to audit logs about a specific action type

\n","type":"text/plain"},"key":"action_type","value":"user_login_saml"},{"disabled":true,"description":{"content":"

Array[String]; Filter to audit logs about a list of action types

\n","type":"text/plain"},"key":"action_type__in","value":"[\"policy_scan_ended\",\"user_login_saml\"]"}],"variable":[]}},"response":[{"id":"1c01ef68-abc7-4813-934d-e3ace3bb4f19","name":"Get Audit Logs","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/auditlogs/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","auditlogs",""],"query":[{"key":"since","value":"2025-05-01T01:00:00.000Z","description":"String (ISO datetime); Filter for audit logs since an ISO datetime","disabled":true},{"key":"before","value":"2025-05-02T01:00:00.000Z","description":"String (ISO datetime); Filter for audit logs before an ISO datetime","disabled":true},{"key":"monitored_service","value":"{{monitored_service_id}}","description":"Integer; Filter to audit logs about a specific Monitored Service by its ID","disabled":true},{"key":"monitored_service__in","value":"[{{ms1_id}},{{ms2_id}}]","description":"Array[Integer]; Filter to audit logs about a set of Monitored Services by their IDs","disabled":true},{"key":"user","value":"{{user_id}}","description":"Integer; Filter to audit logs by a specific User by their ID","disabled":true},{"key":"user__in","value":"[{{user1_id}},{{user2_id}}]","description":"Array[Integer]; Filter to audit logs by a list of Users by their IDs","disabled":true},{"key":"policy","value":"{{policy_id}}","description":"Integer; Filter to audit logs about a specific Policy by its ID","disabled":true},{"key":"policy__in","value":"[{{policy1_id}},{{policy2_id}},{{policy3_id}}]","description":"Array[Integer]; Filter to audit logs about a list of Policies by their IDs","disabled":true},{"key":"action_type","value":"user_login_saml","description":"String; Filter to audit logs about a specific action type","disabled":true},{"key":"action_type__in","value":"[\"policy_scan_ended\",\"user_login_saml\"]","description":"Array[String]; Filter to audit logs about a list of action types","disabled":true}]}},"_postman_previewlanguage":"text","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 2,\n \"next\": \"null\",\n \"previous\": null,\n \"results\": [\n {\n \"identifier\": \"24e94fd4-7d17-4302-9e98-1b9e468187a1\",\n \"user_id\": null,\n \"action_at\": \"2025-05-02T13:30:06.948560Z\",\n \"action_type\": \"policy_scan_ended\",\n \"service_id\": null,\n \"service_type\": null,\n \"service_name\": null,\n \"policy_id\": 311371,\n \"perspective_id\": null,\n \"perspective_name\": null,\n \"action_data\": {\n \"rule_id\": null,\n \"rule_name\": null,\n \"ruleexception_id\": null,\n \"ruleevent_id\": null,\n \"message\": null,\n \"expiration\": null,\n \"instance_id\": null,\n \"assignee_id\": null,\n \"assignee_username\": null,\n \"policy_id\": 311371,\n \"policy_name\": \"LP1\",\n \"exception_data\": null,\n \"policy_assessment_id\": null,\n \"policy_assessment_completion_date\": null,\n \"workflow_instance_id\": null,\n \"workflow_instance_name\": null,\n \"platform_ingest_job_id\": null,\n \"file_id\": null,\n \"third_party_application_id\": null,\n \"third_party_application_name\": null,\n \"oauth_application_id\": null,\n \"refresh_token_id\": null,\n \"access_token_id\": null,\n \"external_entity_id\": null,\n \"group_id\": null,\n \"group_name\": null,\n \"tag_id\": null,\n \"tag_name\": null,\n \"type_str\": null,\n \"reason_str\": null,\n \"detail_str\": \"Completion Status: Success\",\n \"error_str\": null,\n \"user_ip\": null,\n \"user_agent\": null,\n \"unified_identity_id\": null,\n \"unified_identity_email\": null,\n \"target_user_id\": null,\n \"target_user_username\": null,\n \"user_username\": null,\n \"setting_name\": null,\n \"old_value\": null,\n \"new_value\": null,\n \"scim_mapping_id\": null,\n \"scim_attribute\": null,\n \"scim_attribute_value\": null,\n \"scim_group_targets\": null,\n \"sink_id\": null,\n \"sink_name\": null,\n \"detection_rule_id\": null,\n \"detection_rule_name\": null,\n \"detection_ruleset_id\": null,\n \"detection_ruleset_name\": null,\n \"detection_alert_id\": null,\n \"detection_alert_count\": null,\n \"destination_id\": null,\n \"destination_name\": null,\n \"destination_hash\": null,\n \"destination_type\": null,\n \"external_connection_id\": null,\n \"external_connection_name\": null,\n \"external_connection_provider_type\": null,\n \"external_connection_auth_type\": null,\n \"eventsource_id\": null,\n \"eventsource_name\": null,\n \"eventsource_type\": null,\n \"eventsource_dataset\": null,\n \"investigation_id\": null,\n \"investigation_subject\": null,\n \"element_list_id\": null,\n \"element_id\": null,\n \"element_type\": null,\n \"global_value_list_collection_id\": null,\n \"email_addresses\": null,\n \"email_identifier\": null,\n \"email_reason\": null,\n \"insight_name\": null,\n \"thread_name\": null,\n \"occurrence_name\": null,\n \"insight_id\": null,\n \"thread_id\": null,\n \"occurrence_id\": null\n }\n },\n {\n \"identifier\": \"b0712e14-4e02-4f67-99f9-6e597a2c1663\",\n \"user_id\": 21,\n \"action_at\": \"2025-05-02T13:26:56.974998Z\",\n \"action_type\": \"user_login_saml\",\n \"service_id\": null,\n \"service_type\": null,\n \"service_name\": null,\n \"policy_id\": null,\n \"perspective_id\": null,\n \"perspective_name\": null,\n \"action_data\": {\n \"rule_id\": null,\n \"rule_name\": null,\n \"ruleexception_id\": null,\n \"ruleevent_id\": null,\n \"message\": null,\n \"expiration\": null,\n \"instance_id\": null,\n \"assignee_id\": null,\n \"assignee_username\": null,\n \"policy_id\": null,\n \"policy_name\": null,\n \"exception_data\": null,\n \"policy_assessment_id\": null,\n \"policy_assessment_completion_date\": null,\n \"workflow_instance_id\": null,\n \"workflow_instance_name\": null,\n \"platform_ingest_job_id\": null,\n \"file_id\": null,\n \"third_party_application_id\": null,\n \"third_party_application_name\": null,\n \"oauth_application_id\": null,\n \"refresh_token_id\": null,\n \"access_token_id\": null,\n \"external_entity_id\": null,\n \"group_id\": null,\n \"group_name\": null,\n \"tag_id\": null,\n \"tag_name\": null,\n \"type_str\": null,\n \"reason_str\": null,\n \"detail_str\": null,\n \"error_str\": null,\n \"user_ip\": \"71.178.255.92\",\n \"user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\",\n \"unified_identity_id\": null,\n \"unified_identity_email\": null,\n \"target_user_id\": null,\n \"target_user_username\": null,\n \"user_username\": \"John Doe\",\n \"setting_name\": null,\n \"old_value\": null,\n \"new_value\": null,\n \"scim_mapping_id\": null,\n \"scim_attribute\": null,\n \"scim_attribute_value\": null,\n \"scim_group_targets\": null,\n \"sink_id\": null,\n \"sink_name\": null,\n \"detection_rule_id\": null,\n \"detection_rule_name\": null,\n \"detection_ruleset_id\": null,\n \"detection_ruleset_name\": null,\n \"detection_alert_id\": null,\n \"detection_alert_count\": null,\n \"destination_id\": null,\n \"destination_name\": null,\n \"destination_hash\": null,\n \"destination_type\": null,\n \"external_connection_id\": null,\n \"external_connection_name\": null,\n \"external_connection_provider_type\": null,\n \"external_connection_auth_type\": null,\n \"eventsource_id\": null,\n \"eventsource_name\": null,\n \"eventsource_type\": null,\n \"eventsource_dataset\": null,\n \"investigation_id\": null,\n \"investigation_subject\": null,\n \"element_list_id\": null,\n \"element_id\": null,\n \"element_type\": null,\n \"global_value_list_collection_id\": null,\n \"email_addresses\": null,\n \"email_identifier\": null,\n \"email_reason\": null,\n \"insight_name\": null,\n \"thread_name\": null,\n \"occurrence_name\": null,\n \"insight_id\": null,\n \"thread_id\": null,\n \"occurrence_id\": null\n }\n }\n ]\n}"}],"_postman_id":"e6d91600-f467-4557-9157-2bfb37b934ae"},{"name":"List audit action types","id":"5294c479-f0ab-4027-996e-d0ef082b2218","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/auditlogs/action_types/","description":"

Use this API route to programatically retrieve all possible Audit record action types, to use in filtering the Get Audit Logs endpoint if desired.

\n

This endpoint will return all possible Audit action types, which may include some action types not seen in your tenant.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
action_typeStringThe action type identifier used in audit logspolicy_scan_ended
descriptionStringHuman-readable description of the action typePolicy Scan Completed
\n
","urlObject":{"protocol":"https","path":["api","v1","core","auditlogs","action_types",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"d21ad074-0c8c-4d1e-a87e-d40024f182a8","name":"List Audit Action Types","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/auditlogs/action_types/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 02 May 2025 13:38:50 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"2/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"action_type\": \"ao_sys_setting_auth_change\",\n \"description\": \"AppOmni Auth Setting Change\"\n },\n {\n \"action_type\": \"ao_sys_setting_change\",\n \"description\": \"AppOmni System Setting Change\"\n },\n {\n \"action_type\": \"ao_scim_setting_change\",\n \"description\": \"AppOmni SCIM Mapping Change\"\n },\n {\n \"action_type\": \"ao_oidc_setting_change\",\n \"description\": \"AppOmni OIDC Setting Change\"\n },\n {\n \"action_type\": \"ao_idp_attribute_mapping_created\",\n \"description\": \"AppOmni IdP Attribute Mapping Created\"\n },\n {\n \"action_type\": \"ao_idp_attribute_mapping_updated\",\n \"description\": \"AppOmni IdP Attribute Mapping Updated\"\n },\n {\n \"action_type\": \"ao_idp_attribute_mapping_deleted\",\n \"description\": \"AppOmni IdP Attribute Mapping Deleted\"\n },\n {\n \"action_type\": \"asmt_started_role\",\n \"description\": \"Role (Data Access) Assessment Started\"\n },\n {\n \"action_type\": \"asmt_started_ms\",\n \"description\": \"Service Assessment Started\"\n },\n {\n \"action_type\": \"asmt_ended_role\",\n \"description\": \"Role (Data Access) Assessment Completed\"\n },\n {\n \"action_type\": \"asmt_ended_ms\",\n \"description\": \"Service Assessment Completed\"\n },\n {\n \"action_type\": \"policy_scan_requested\",\n \"description\": \"Policy Scan Requested\"\n },\n {\n \"action_type\": \"policy_scan_started\",\n \"description\": \"Policy Scan Started\"\n },\n {\n \"action_type\": \"policy_scan_ended\",\n \"description\": \"Policy Scan Completed\"\n },\n {\n \"action_type\": \"policy_disabled\",\n \"description\": \"Policy Disabled\"\n },\n {\n \"action_type\": \"policy_enabled\",\n \"description\": \"Policy Enabled\"\n },\n {\n \"action_type\": \"policy_created\",\n \"description\": \"Policy Created\"\n },\n {\n \"action_type\": \"policy_deleted\",\n \"description\": \"Policy Deleted\"\n },\n {\n \"action_type\": \"rule_created\",\n \"description\": \"Rule Created\"\n },\n {\n \"action_type\": \"rule_deleted\",\n \"description\": \"Rule Deleted\"\n },\n {\n \"action_type\": \"rule_modified\",\n \"description\": \"Rule Modified\"\n },\n {\n \"action_type\": \"exception_created\",\n \"description\": \"Policy Rule Exception Created\"\n },\n {\n \"action_type\": \"exception_deleted\",\n \"description\": \"Policy Rule Exception Deleted\"\n },\n {\n \"action_type\": \"ms_created\",\n \"description\": \"Monitored Service Added\"\n },\n {\n \"action_type\": \"ms_deleted\",\n \"description\": \"Monitored Service Removed\"\n },\n {\n \"action_type\": \"ms_auth_failed\",\n \"description\": \"Monitored Service Authentication Failed\"\n },\n {\n \"action_type\": \"ms_renamed\",\n \"description\": \"Monitored Service Renamed\"\n },\n {\n \"action_type\": \"event_allowed\",\n \"description\": \"Policy Issue Allowed\"\n },\n {\n \"action_type\": \"event_ignored\",\n \"description\": \"Policy Issue Closed\"\n },\n {\n \"action_type\": \"event_assigned\",\n \"description\": \"Policy Issue Assigned\"\n },\n {\n \"action_type\": \"user_login_saml\",\n \"description\": \"User SAML Login\"\n }\n]"}],"_postman_id":"5294c479-f0ab-4027-996e-d0ef082b2218"}],"id":"c80d2f36-233d-4095-8f9f-c2ca2869f140","_postman_id":"c80d2f36-233d-4095-8f9f-c2ca2869f140","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Reports","item":[{"name":"List available reports","id":"5e5dae77-8831-4a20-b99a-9121d2beb342","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/reports/list/list_reports/","description":"

Returns a list of reports which a user can run.

\n

To list report groups, see /reports/group

\n

accepted_parameters can be passed when requesting a report.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
report_packageStringThe name of the app the report being requested is defined incore
report_pretty_nameStringHuman-readable nameAll Issues Export Report
report_descriptionStringDetailed report descriptionReport on all issues
report_classStringThe name of the actual class in code defining this report. Used as a unique identifier for the reportAllIssuesExportReport
report_typesArray[String]Possible output file types which can be specified when generating the report[\"xlsx\", \"csv\", \"json\"]
service_typeStringService typecore
accepted_parametersArray[Object]If the report generation can be changed according to certain parameters, they are listed hereSee accepted_parameters fields below
categoryStringReport category. See /report_categories for list of possible valuessummary
is_internalBooleanWhether the report is for internal use onlyfalse
\n

accepted_parameters Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
nameStringParameter namepk__in
typeStringParameter data typeint
requiredBooleanWhether the parameter is requiredfalse
md_versionIntegerMetadata version1
md_kindStringMetadata kindreports.report.acceptedparameter
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","list","list_reports",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

String; Searches for the specified string anywhere in the report_pretty_name and return matching reports

\n","type":"text/plain"},"key":"report_pretty_name","value":"All Issues"},{"disabled":true,"description":{"content":"

String; Searches for the specified string anywhere in the report_description and return matching reports

\n","type":"text/plain"},"key":"report_description","value":"issues"}],"variable":[]}},"response":[{"id":"3e3ba85b-0e9d-4c74-99a5-2440ba7c0a33","name":"List Available Reports","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[{}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"[\n {\n \"report_package\": \"core\",\n \"report_pretty_name\": \"All Issues Export Report\",\n \"report_description\": \"Report on all issues\",\n \"report_class\": \"AllIssuesExportReport\",\n \"report_types\": [\n \"xlsx\",\n \"csv\",\n \"json\"\n ],\n \"service_type\": \"core\",\n \"accepted_parameters\": [\n {\n \"name\": \"pk__in\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"unique_id__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"pk\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_org_id\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"instance_id__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_org__type__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_org__type_slug__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_org__in\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_org__tags__in\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"risk_score__gte\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"risk_score__lte\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"risk_score__ranges\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"policy__in\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"policy_type__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"policy_type_slug__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"policy_mode__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"policy_role__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"tags__in\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"rule__compliance_controls__compliance_framework__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"rule__rule_posture_category\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"rule__rule_posture_category__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"rule__rule_posture_subcategory\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"rule__rule_posture_subcategory__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_specific_category\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"service_specific_category__in\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"closed\",\n \"type\": \"bool\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"search\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"assignee__in\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"limit\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"offset\",\n \"type\": \"int\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n },\n {\n \"name\": \"ordering\",\n \"type\": \"str\",\n \"required\": false,\n \"md_version\": 1,\n \"md_kind\": \"reports.report.acceptedparameter\"\n }\n ],\n \"category\": \"summary\",\n \"is_internal\": false\n },\n...\n]"}],"_postman_id":"5e5dae77-8831-4a20-b99a-9121d2beb342"},{"name":"List report categories","id":"4c2df0d2-4c50-4167-bff0-41283472a983","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/reports/list/report_categories","description":"

Returns a list of all available report categories

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
categoryStringThe category identifiersummary
descriptionStringHuman-readable description of the categorySummary reports
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","list","report_categories"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"71034c99-24cb-4c67-8fd7-1b90752c81c2","name":"List Report Categories","originalRequest":{"method":"GET","header":[],"url":"https://[your-subdomain].appomni.com/api/v1/reports/list/report_categories"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"access\": \"Access\",\n \"compliance\": \"Compliance\",\n \"summary\": \"Summary\",\n \"connected_apps\": \"Connected Apps\",\n \"setup_changes\": \"Setup Changes\"\n}"}],"_postman_id":"4c2df0d2-4c50-4167-bff0-41283472a983"},{"name":"Generate a single report","id":"80002af8-9359-4ee8-a343-bfc1b9bbe199","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_type=xlsx","description":"

Creates a request to generate a single report, which will be created as the desired file type. This will be queued up and processed by at a later time; most likely immediately.)

\n
    \n
  • In addition to the required parameters (report_package, report_type, report_class, and in most cases, monitored_service_id), additional parameters may be provided as required by the individual report. Parameters that are not needed by the individual report will be ignored.

    \n
  • \n
  • report_class and report_package, along with the supported file types, and any required additional parameters, can be found from the List Available Reports endpoint.

    \n
  • \n
  • POST operation is available:

    \n
      \n
    • Certain reports contain data in the params, such as long lists of GUIDs, that cause length issues with the URLs if that data is encoded into the URL as a query string.

      \n
    • \n
    • AppOmni accepts POST as an alternative, where the data is instead sent via the body of the request.

      \n
    • \n
    \n
  • \n
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
request_idString (UUID)Unique identifier for the request5071137b-1e9a-4697-bb0c-c28128b7cbc8
report_statusStringStatus of the reportrequested
pending_report_idIntegerID of the pending report8
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","request","report"],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

String; Required. The app targeted by the report (e.g. box, o365). This must match the report_package returned by the list_reports endpoint

\n","type":"text/plain"},"key":"report_package","value":"{{report_package}}"},{"disabled":true,"description":{"content":"

String; Required. Name of the Python class underlying the report (Unique identifier for the report). This must match a report_class available from the list_reports endpoint

\n","type":"text/plain"},"key":"report_class","value":"{{report_class}}"},{"disabled":true,"description":{"content":"

Integer; Monitored service to run report against. Available from the /monitoredservice endpoint

\n","type":"text/plain"},"key":"monitored_service_id","value":"{{monitored_service_id}}"},{"description":{"content":"

String; Required. The output format for the created report file (csv, xlsx, pdf, json). Note: PDF is not valid for all reports

\n","type":"text/plain"},"key":"report_type","value":"xlsx"},{"disabled":true,"description":{"content":"

Array[String]; Email addresses for report recipients without AppOmni accounts

\n","type":"text/plain"},"key":"notify_external_emails","value":"[\"user1@example.com\",\"user2@example.com\"]"}],"variable":[]}},"response":[{"id":"e82f7e09-607c-4d23-a140-d8a993151eb3","name":"Generate Single XLSX Report","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_package=sfdc&report_type=xlsx&report_class=OauthTokensReport&monitored_service_id=1","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","request","report"],"query":[{"key":"report_package","value":"sfdc"},{"key":"report_type","value":"xlsx"},{"key":"report_class","value":"OauthTokensReport"},{"key":"monitored_service_id","value":"1"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n \"request_id\": \"5071137b-1e9a-4697-bb0c-c28128b7cbc8\",\n \"report_status\": \"requested\",\n \"pending_report_id\": 8\n}"},{"id":"cfa4649a-6038-47fc-8796-3de82f239616","name":"Generate Single CSV Report","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_package=sfdc&report_type=csv&report_class=OauthTokensReport&monitored_service_id=1","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","request","report"],"query":[{"key":"report_package","value":"sfdc"},{"key":"report_type","value":"csv"},{"key":"report_class","value":"OauthTokensReport"},{"key":"monitored_service_id","value":"1"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n \"request_id\": \"5071137b-1e9a-4697-bb0c-c28128b7cbc8\",\n \"report_status\": \"requested\",\n \"pending_report_id\": 8\n}"},{"id":"e1957dd1-7673-4908-a1e0-a84002324acb","name":"Generate Single JSON Report","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_package=sfdc&report_type=json&report_class=OauthTokensReport&monitored_service_id=1","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","request","report"],"query":[{"key":"report_package","value":"sfdc"},{"key":"report_type","value":"json"},{"key":"report_class","value":"OauthTokensReport"},{"key":"monitored_service_id","value":"1"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n \"request_id\": \"5071137b-1e9a-4697-bb0c-c28128b7cbc8\",\n \"report_status\": \"requested\",\n \"pending_report_id\": 8\n}"},{"id":"2d898d5d-f548-4056-96a0-b1ff6fc4be65","name":"Generate Single Report with accepted parameters","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_package=sfdc&report_type=xlsx&report_class=NewCommunitiesReportV2&monitored_service_id={{monitored_service_id}}&start_date=2024-01-01&end_date=2024-12-31","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","request","report"],"query":[{"key":"report_package","value":"sfdc","description":"String; Package identifier for package that contains desired report (e.g. sfdc, box, github)"},{"key":"report_type","value":"xlsx","description":"String; Desired file type for generated report. One of: pdf, xlsx, json, csv"},{"key":"report_class","value":"NewCommunitiesReportV2","description":"String; Class name of desired report (e.g. OauthTokensReport). This is returned from the List Available Reports endpoint"},{"key":"monitored_service_id","value":"{{monitored_service_id}}","description":"Integer; Monitored Service to run report against"},{"key":"start_date","value":"2024-01-01","description":"String (Date); Start date for the report (YYYY-MM-DD)"},{"key":"end_date","value":"2024-12-31","description":"String (Date); End date for the report (YYYY-MM-DD)"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n \"request_id\": \"5071137b-1e9a-4697-bb0c-c28128b7cbc8\",\n \"report_status\": \"requested\",\n \"pending_report_id\": 8\n}"},{"id":"3f19808c-6bcd-4993-af48-ac696cad4981","name":"Generate Single Report","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_package={{report_package}}&report_type={{report_type}}&report_class={{report_class}}&monitored_service_id={{monitored_service_id}}","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","request","report"],"query":[{"key":"report_package","value":"{{report_package}}","description":"String; Package identifier for package that contains desired report (e.g. sfdc, box, github)"},{"key":"report_type","value":"{{report_type}}","description":"String; Desired file type for generated report. One of: pdf, xlsx, json, csv"},{"key":"report_class","value":"{{report_class}}","description":"String; Class name of desired report (e.g. OauthTokensReport). This is returned from the List Available Reports endpoint"},{"key":"monitored_service_id","value":"{{monitored_service_id}}","description":"Monitored Service to run report against"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"1e7e46c8-8aea-4649-ad39-c8336a269216","name":"Generate Single Report","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/request/report?report_package={{report_package}}&report_type={{report_type}}&report_class={{report_class}}&monitored_service_id={{monitored_service_id}}","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","request","report"],"query":[{"key":"report_package","value":"{{report_package}}","description":"String; Package identifier for package that contains desired report (e.g. sfdc, box, github)"},{"key":"report_type","value":"{{report_type}}","description":"String; Desired file type for generated report. One of: pdf, xlsx, json, csv"},{"key":"report_class","value":"{{report_class}}","description":"String; Class name of desired report (e.g. OauthTokensReport). This is returned from the List Available Reports endpoint"},{"key":"monitored_service_id","value":"{{monitored_service_id}}","description":"Monitored Service to run report against"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"80002af8-9359-4ee8-a343-bfc1b9bbe199"},{"name":"Generate a single report","id":"09847c45-00fc-48b8-ad42-0c0264dcaa35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"report_params\": {\n \"report_name\": \"test\",\n \"report_package\": \"core\",\n \"report_class\": \"AllIssuesExportReport\",\n \"report_type\": \"csv\",\n \"monitored_service_id\": 36887,\n \"notify_external_emails\": [\"user@example.com\"]\n }\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/reports/request/report","description":"

Creates a request to generate a single report using POST method. This is useful when report parameters contain long lists that would exceed URL length limits.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
report_paramsObjectYesContainer for all report parametersSee nested fields below
report_params.report_nameStringNoCustom name for the reporttest
report_params.report_packageStringYesThe app targeted by the reportcore
report_params.report_classStringYesName of the Python class underlying the reportAllIssuesExportReport
report_params.report_typeStringYesThe output format for the created report filecsv
report_params.monitored_service_idIntegerNoMonitored service to run report against36887
report_params.notify_external_emailsArray[String]NoEmail addresses for report recipients without AppOmni accounts[\"user@example.com\"]
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
request_idString (UUID)Unique identifier for the request5071137b-1e9a-4697-bb0c-c28128b7cbc8
report_statusStringStatus of the reportrequested
pending_report_idIntegerID of the pending report8
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","request","report"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09847c45-00fc-48b8-ad42-0c0264dcaa35"},{"name":"List report groups","id":"39c8bd1d-e1c9-4dc3-87b9-3fe7f3f1903e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/reports/group","description":"

Returns a list of report groups configured in the system.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the group10239
createdString (ISO datetime)Time group was created2025-04-09T02:11:54.681071Z
modifiedString (ISO datetime)Time group was last modified2025-04-11T16:02:40.471780Z
external_idString or nullUnused externallynull
created_byIntegerUser ID of the report creator1
modified_byIntegerUser ID of the last user to modify the group1
ownerIntegerUser ID of the report owner. Defaults to report creator1
nameStringReport group nameabcde
report_configsArray[Object]Configuration for each individual reportSee report_configs fields below
schedule_start_dateString or nullDate when scheduled reports startnull
last_run_dateString or nullDate when the group was last runnull
next_run_dateString or nullDate when the group will next runnull
schedule_intervalStringSchedule interval (daily, weekly, monthly, quarterly, or empty string)\"\"
notify_external_emailsArray[String]Email addresses for report recipients without AppOmni accounts[]
notify_internal_usersArray[Integer]List of AppOmni user IDs for report recipients[1]
\n

report_configs Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
report_packageStringThe app targeted by the reportcore
report_classStringName of the Python class underlying the reportInsightsReport
report_typeStringOutput file formatcsv
monitored_service_idInteger or nullMonitored service to run report againstnull
report_nameStringHuman readable report nameAll Insights
parametersObjectParameters to change report contents{}
md_versionIntegerMetadata version1
md_kindStringMetadata kindreports.report.config_data
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","group"],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Boolean; Filter for scheduled report groups

\n","type":"text/plain"},"key":"is_scheduled","value":"true"}],"variable":[]}},"response":[{"id":"f6efd4eb-ae49-4544-96b5-8cc8d98b9d57","name":"List Available Report Groups","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/reports/group","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","reports","group"],"query":[{"key":"is_scheduled","value":null,"description":"Optional. Boolean. ","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 9905,\n \"created\": \"2025-01-15T20:29:52.541539Z\",\n \"modified\": \"2025-01-15T20:29:52.541555Z\",\n \"external_id\": null,\n \"created_by\": 1,\n \"modified_by\": null,\n \"owner\": 1,\n \"name\": \"asd\",\n \"report_configs\": [\n {\n \"report_package\": \"core\",\n \"report_class\": \"UnifiedIdentityExportReport\",\n \"report_type\": \"json\",\n \"monitored_service_id\": null,\n \"report_name\": \"All AppOmni Unified Identities\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n }\n ],\n \"schedule_start_date\": null,\n \"last_run_date\": null,\n \"next_run_date\": null,\n \"schedule_interval\": \"\",\n \"notify_external_emails\": [],\n \"notify_internal_users\": [\n 1\n ]\n },"}],"_postman_id":"39c8bd1d-e1c9-4dc3-87b9-3fe7f3f1903e"},{"name":"Create a report group","id":"69464165-2aa2-482a-8505-69563b3722a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"name\": \"My Report Group\",\n \"notify_external_emails\": [\"user1@example.com\",\"user2@example.com\"],\n \"notify_internal_users\": [\n 1\n ],\n \"report_configs\": [\n {\n \"monitored_service_id\": 15033,\n \"parameters\": {},\n \"report_class\": \"GithubUsersByRepositoryReport\",\n \"report_name\": \"GitHub Users by Repository\",\n \"report_package\": \"github\",\n \"report_type\": \"csv\"\n },\n {\n \"monitored_service_id\": 67953,\n \"parameters\": {},\n \"report_class\": \"SNOWISOComplianceReport\",\n \"report_name\": \"ServiceNow ISO 27001 Compliance Report\",\n \"report_package\": \"snow\",\n \"report_type\": \"json\"\n }\n ],\n \"schedule_interval\": \"daily\",\n \"schedule_start_date\": \"2025-04-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/reports/group","description":"

Creates a report group, with the option to generate the reports in the group on a schedule.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
nameStringYesDesired name for the report groupMy Report Group
notify_external_emailsArray[String]NoEmail addresses for report recipients without AppOmni accounts[\"user1@example.com\",\"user2@example.com\"]
notify_internal_usersArray[Integer]NoList of AppOmni user ids for report recipients. The user's email will be looked up during report generation[1]
report_configsArray[Object]YesConfiguration for each individual reportSee nested fields below
report_configs.monitored_service_idIntegerNoAvailable from the /monitoredservice endpoint15033
report_configs.parametersObjectNoParameters to change report contents. These vary between reports. The list of possible parameters is shown in the accepted_parameters report attribute returned from the list_reports endpoint{}
report_configs.report_classStringYesName of the Python class underlying the report (unique identifier). Must match a report_class from the list_reports endpointGithubUsersByRepositoryReport
report_configs.report_nameStringYesHuman readable report nameGitHub Users by Repository
report_configs.report_packageStringYesThe app targeted by the report. Must match the report_package returned by the list_reports endpointgithub
report_configs.report_typeStringYesOutput file format (csv, json, xlsx, etc.)csv
schedule_intervalStringNoOne of: \"daily\", \"weekly\", \"monthly\", \"quarterly\"daily
schedule_start_dateStringNoIn the format YYYY-MM-DD, e.g. \"2025-04-01\"2025-04-01
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the group10239
createdString (ISO datetime)Time group was created2025-04-09T02:11:54.681071Z
modifiedString (ISO datetime)Time group was last modified2025-04-11T16:02:40.471780Z
external_idString or nullUnused externallynull
created_byIntegerUser ID of the report creator1
modified_byIntegerUser ID of the last user to modify the group1
ownerIntegerUser ID of the report owner. Defaults to report creator. Unused1
nameStringReport group nameMy Report Group
report_configsArray[Object]See explanation in request section aboveSee report_configs fields below
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","group"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"a75bfe79-a68f-4f43-85f1-d3f1a52945ad","name":"Create a Report Group","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"name\": \"My Report Group\",\n \"notify_external_emails\": [\"user1@example.com\",\"user2@example.com\"],\n \"notify_internal_users\": [\n 1\n ],\n \"report_configs\": [\n {\n \"monitored_service_id\": 15033,\n \"parameters\": {},\n \"report_class\": \"GithubUsersByRepositoryReport\",\n \"report_name\": \"GitHub Users by Repository\",\n \"report_package\": \"github\",\n \"report_type\": \"csv\"\n },\n {\n \"monitored_service_id\": 67953,\n \"parameters\": {},\n \"report_class\": \"SNOWISOComplianceReport\",\n \"report_name\": \"ServiceNow ISO 27001 Compliance Report\",\n \"report_package\": \"snow\",\n \"report_type\": \"json\"\n }\n ],\n \"schedule_interval\": \"daily\",\n \"schedule_start_date\": \"2025-04-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/reports/group"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 10206,\n \"created\": \"2025-04-01T22:47:38.632762Z\",\n \"modified\": \"2025-04-01T22:47:38.644764Z\",\n \"external_id\": null,\n \"created_by\": 21946,\n \"modified_by\": 21946,\n \"owner\": 21946,\n \"name\": \"My Report Group\",\n \"report_configs\": [\n {\n \"report_package\": \"github\",\n \"report_class\": \"GithubUsersByRepositoryReport\",\n \"report_type\": \"csv\",\n \"monitored_service_id\": 15033,\n \"report_name\": \"GitHub Users by Repository\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n },\n {\n \"report_package\": \"snow\",\n \"report_class\": \"SNOWISOComplianceReport\",\n \"report_type\": \"json\",\n \"monitored_service_id\": 67953,\n \"report_name\": \"ServiceNow ISO 27001 Compliance Report\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n }\n ],\n \"schedule_start_date\": \"2025-04-01\",\n \"last_run_date\": null,\n \"next_run_date\": \"2025-04-01T00:00:00Z\",\n \"schedule_interval\": \"daily\",\n \"notify_external_emails\": [],\n \"notify_internal_users\": [\n 1\n ]\n}"}],"_postman_id":"69464165-2aa2-482a-8505-69563b3722a5"},{"name":"Report group details","id":"8c935812-b4ac-4fd8-9304-dd3f96ce4ddb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/reports/group/{{group_id}}","description":"

Returns the details for a single specified report group.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the group10239
createdString (ISO datetime)Time group was created2025-04-09T02:11:54.681071Z
modifiedString (ISO datetime)Time group was last modified2025-04-11T16:02:40.471780Z
external_idString or nullUnused externallynull
created_byIntegerUser ID of the report creator1
modified_byIntegerUser ID of the last user to modify the group1
ownerIntegerUser ID of the report owner. Defaults to report creator1
nameStringReport group nameabcde
report_configsArray[Object]Configuration for each individual reportSee report_configs fields below
schedule_start_dateString or nullDate when scheduled reports startnull
last_run_dateString or nullDate when the group was last runnull
next_run_dateString or nullDate when the group will next runnull
schedule_intervalStringSchedule interval (daily, weekly, monthly, quarterly, or empty string)\"\"
notify_external_emailsArray[String]Email addresses for report recipients without AppOmni accounts[]
notify_internal_usersArray[Integer]List of AppOmni user IDs for report recipients[1]
\n

report_configs Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
report_packageStringThe app targeted by the reportcore
report_classStringName of the Python class underlying the reportInsightsReport
report_typeStringOutput file formatcsv
monitored_service_idInteger or nullMonitored service to run report againstnull
report_nameStringHuman readable report nameAll Insights
parametersObjectParameters to change report contents{}
md_versionIntegerMetadata version1
md_kindStringMetadata kindreports.report.config_data
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","group","{{group_id}}"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"ecafd3f0-9a44-489c-9f6a-37138f1224df","name":"Report Group Details","originalRequest":{"method":"GET","header":[],"url":"https://[your-subdomain].appomni.com/api/v1/reports/group/{{group_id}}"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 10239,\n \"created\": \"2025-04-09T02:11:54.681071Z\",\n \"modified\": \"2025-04-11T16:02:40.471780Z\",\n \"external_id\": null,\n \"created_by\": 21946,\n \"modified_by\": 21946,\n \"owner\": 21946,\n \"name\": \"abcde\",\n \"report_configs\": [\n {\n \"report_package\": \"core\",\n \"report_class\": \"InsightsReport\",\n \"report_type\": \"csv\",\n \"monitored_service_id\": null,\n \"report_name\": \"All Insights\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n },\n {\n \"report_package\": \"core\",\n \"report_class\": \"AllFindingsExportReport\",\n \"report_type\": \"csv\",\n \"monitored_service_id\": null,\n \"report_name\": \"All Findings\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n }\n ],\n \"schedule_start_date\": null,\n \"last_run_date\": null,\n \"next_run_date\": null,\n \"schedule_interval\": \"\",\n \"notify_external_emails\": [],\n \"notify_internal_users\": [\n 1\n ]\n}"}],"_postman_id":"8c935812-b4ac-4fd8-9304-dd3f96ce4ddb"},{"name":"Update report group details","id":"ff223959-951c-4b8e-9208-7e11c906d9dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"name\": \"abcde\",\n \"notify_external_emails\": [],\n \"notify_internal_users\": [],\n \"report_configs\": [\n {\n \"md_version\": 1,\n \"monitored_service_id\": 15033,\n \"parameters\": {},\n \"report_class\": \"GithubUsersByRepositoryReport\",\n \"report_name\": \"GitHub Users by Repository\",\n \"report_package\": \"github\",\n \"report_type\": \"csv\"\n },\n {\n \"md_version\": 1,\n \"monitored_service_id\": 74301,\n \"parameters\": {\n \"object\": \"account\"\n },\n \"report_class\": \"AccessGrantsByObjectReport\",\n \"report_name\": \"Access Grants by Object\",\n \"report_package\": \"sfdc\",\n \"report_type\": \"xlsx\"\n }\n ],\n \"schedule_interval\": \"daily\",\n \"schedule_start_date\": \"2025-04-23\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/reports/group/{{group_id}}","description":"

Updates the details for a single specified report group.

\n

Request Body

\n

Note: The \"/\" utilized in the below report_configs entries denotes nesting. See the example request body.

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
nameStringYesDesired name for the report groupabcde
notify_external_emailsArray[String]NoEmail addresses for report recipients without AppOmni accounts[]
notify_internal_usersArray[Integer]NoList of AppOmni user ids for report recipients. The user's email will be looked up during report generation[]
report_configsArray[Object]YesConfiguration for each individual reportSee nested fields below
report_configs/md_versionIntegerNoMetadata version1
report_configs/monitored_service_idIntegerNoAvailable from the /monitoredservice endpoint15033
report_configs/parametersObjectNoParameters to change report contents. These vary between reports. The list of possible parameters is shown in the accepted_parameters report attribute returned from the list_reports endpoint{\"object\": \"account\"}
report_configs/report_classStringYesName of the Python class underlying the report (unique identifier). Must match a report_class from the list_reports endpointGithubUsersByRepositoryReport
report_configs/report_nameStringYesHuman readable report nameGitHub Users by Repository
report_configs/report_packageStringYesThe app targeted by the report. Must match the report_package returned by the list_reports endpointgithub
report_configs/report_typeStringYesOutput file format (csv, json, xlsx, etc.)csv
schedule_intervalStringNoOne of: \"daily\", \"weekly\", \"monthly\", \"quarterly\"daily
schedule_start_dateStringNoIn the format YYYY-MM-DD, e.g. \"2025-04-01\"2025-04-23
\n

Response Fields Documentation

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the group10239
createdString (ISO datetime)Time group was created2025-04-09T02:11:54.681071Z
modifiedString (ISO datetime)Time group was last modified2025-04-11T16:02:40.471780Z
external_idString or nullUnused externallynull
created_byIntegerUser ID of the report creator1
modified_byIntegerUser ID of the last user to modify the group1
ownerIntegerUser ID of the report owner. Defaults to report creator. Unused1
nameStringReport group nameabcde
report_configsArray[Object]See explanation in request section aboveSee report_configs fields below
\n

md_version, md_kind, owner, & external_id are \"unused\" from the customer perspective.

\n","urlObject":{"protocol":"https","path":["api","v1","reports","group","{{group_id}}"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"283e77fa-9434-4477-83b9-a884ca4ad969","name":"Report Group Details","originalRequest":{"method":"GET","header":[],"url":"https://[your-subdomain].appomni.com/api/v1/reports/group/{{group_id}}"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 10239,\n \"created\": \"2025-04-09T02:11:54.681071Z\",\n \"modified\": \"2025-04-11T16:02:40.471780Z\",\n \"external_id\": null,\n \"created_by\": 21946,\n \"modified_by\": 21946,\n \"owner\": 21946,\n \"name\": \"abcde\",\n \"report_configs\": [\n {\n \"report_package\": \"core\",\n \"report_class\": \"InsightsReport\",\n \"report_type\": \"csv\",\n \"monitored_service_id\": null,\n \"report_name\": \"All Insights\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n },\n {\n \"report_package\": \"core\",\n \"report_class\": \"AllFindingsExportReport\",\n \"report_type\": \"csv\",\n \"monitored_service_id\": null,\n \"report_name\": \"All Findings\",\n \"parameters\": {},\n \"md_version\": 1,\n \"md_kind\": \"reports.report.config_data\"\n }\n ],\n \"schedule_start_date\": null,\n \"last_run_date\": null,\n \"next_run_date\": null,\n \"schedule_interval\": \"\",\n \"notify_external_emails\": [],\n \"notify_internal_users\": [\n 1\n ]\n}"}],"_postman_id":"ff223959-951c-4b8e-9208-7e11c906d9dd"},{"name":"Run a report group","id":"1e738b45-782d-4116-8809-98b254f4fef6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/reports/request/group/?group_id={{group_id}}","description":"

Requests that a report group be run.

\n

The returned request_id is used to check the status of the request later.

\n

Response Fields Documentation

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
request_idString (UUID)Unique identifier for the request that can be used to check status32a8aa4a-aea2-49a4-a915-854d58a6d987
\n
","urlObject":{"protocol":"https","path":["api","v1","reports","request","group",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Required. The ID of the report group to run

\n","type":"text/plain"},"key":"group_id","value":"{{group_id}}"}],"variable":[]}},"response":[{"id":"b7e02c10-7525-4857-8973-6c1752a68f6a","name":"Run a Report Group","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your-subdomain].appomni.com/api/v1/reports/request/group/?group_id={{group_id}}","protocol":"https","host":["[your-subdomain]","appomni","com"],"path":["api","v1","reports","request","group",""],"query":[{"key":"group_id","value":"{{group_id}}","description":"Integer; Required. The ID of the report group to run"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\"request_id\":\"32a8aa4a-aea2-49a4-a915-854d58a6d987\"}"}],"_postman_id":"1e738b45-782d-4116-8809-98b254f4fef6"}],"id":"0353df9e-66c7-4f79-98c7-d8c58867ec35","_postman_id":"0353df9e-66c7-4f79-98c7-d8c58867ec35","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Insights","item":[{"name":"List Insights","id":"214a2e83-89ad-40d7-abc9-61587fcf7caf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsight/","description":"

Returns a list of all insights matching the specified filter criteria.

\n

This request returns a list of insights filtered by the specified parameters. If no parameters are set, all insights are returned for the tenant.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the insight102455
createdString (ISO datetime)Timestamp when the insight was first created\"2025-09-04T03:45:55.343531Z\"
modifiedString (ISO datetime)Timestamp when the insight was last modified\"2025-09-17T17:52:48.138399Z\"
external_idString or nullExternal system identifier, typically nullnull
created_byIntegerID of the user who created the insight65
modified_byIntegerID of the user who last modified the insight6734
ownerInteger or nullID of the user who owns the insight, typically nullnull
labelStringHuman-readable title/summary of the insight\"Data records exposed to anonymous world\"
open_occurrences_summaryIntegerNumber of currently open occurrences for this insight1
dismissed_occurrences_summaryIntegerNumber of dismissed occurrences for this insight0
descriptionStringDetailed explanation of what the insight represents\"Data records exposed to the anonymous world...\"
service_typeStringType of service where the insight was discovered\"sfdc\"
insight_typeStringCategory type of the insight\"data_access\"
insight_categoryStringSpecific subcategory of the insight\"authorization\"
risk_scoreIntegerCurrent risk score (0-100) after any user customizations100
risk_levelStringCurrent risk level classification\"critical\"
appomni_risk_scoreIntegerOriginal risk score calculated by AppOmni (0-100)100
appomni_risk_levelStringOriginal risk level classification by AppOmni\"critical\"
confidenceIntegerConfidence level of the insight accuracy (0-100)100
first_seenString (ISO datetime)When the insight was first detected/discovered\"2025-09-04T03:45:55.343622Z\"
last_seenString (ISO datetime)When the insight was most recently observed\"2025-09-17T17:52:38.035581Z\"
last_evaluatedString (ISO datetime)When the insight was last evaluated by the system\"2025-09-17T08:19:24.773115Z\"
statusStringCurrent status of the insight\"open\"
tagsArray[Integer]List of tag IDs associated with this insight[]
dismissal_expiresString (ISO datetime) or nullWhen the dismissal expires if insight is dismissednull
dismissed_onString (ISO datetime) or nullWhen the insight was dismissed, if applicablenull
internal_nameStringInternal system identifier for the insight type\"sfdc.scheduled.guest.GuestAccessibleRecordsInsight\"
external_dataObject or nullAdditional external data associated with the insightnull
internal_idString (UUID)Internal unique identifier for the insight\"f1c4a87d-6f83-4b2e-a960-2f8e3fdba9d2\"
last_resolved_onString (ISO datetime) or nullWhen the insight was last marked as resolved\"2025-09-17T17:52:24.153210Z\"
total_filtered_instance_data_countIntegerTotal count of data instances after applying filters1
dismissed_monitored_serviceArray[Integer]IDs of monitored services where insight is dismissed[]
dismissed_environmentsArray[Integer]IDs of environments where insight is dismissed[]
dismissal_reason_valueString or nullInternal code for dismissal reasonnull
dismissal_reason_labelString or nullHuman-readable dismissal reasonnull
has_max_occurrencesBooleanWhether insight has reached maximum occurrence limitfalse
\n
","urlObject":{"protocol":"https","path":["api","v1","insights","discoveredinsight",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Defaults to 50, max 500

\n","type":"text/plain"},"key":"limit","value":"50"},{"disabled":true,"description":{"content":"

Integer; Pagination offset

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

Array[String]; One or more of open, dismissed, closed

\n","type":"text/plain"},"key":"status","value":"[\"open\"]"},{"disabled":true,"description":{"content":"

String (ISO datetime); Filter for insights first seen before an ISO datetime

\n","type":"text/plain"},"key":"first_seen__lte","value":"2023-02-21T08:00:00.000Z"},{"disabled":true,"description":{"content":"

String (ISO datetime); Filter for insights first seen since an ISO datetime

\n","type":"text/plain"},"key":"first_seen__gte","value":"2022-12-01T08:00:00.000Z"},{"disabled":true,"description":{"content":"

String (ISO datetime); Filter for insights last seen before an ISO datetime

\n","type":"text/plain"},"key":"last_seen__lte","value":"2023-02-21T08:00:00.000Z"},{"disabled":true,"description":{"content":"

String (ISO datetime); Filter for insights last seen since an ISO datetime

\n","type":"text/plain"},"key":"last_seen__gte","value":"2023-02-01T08:00:00.000Z"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter Insights to Monitored Services with specified list of tag IDs

\n","type":"text/plain"},"key":"monitored_service__tags__in","value":"[120]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter Insights to the specified list of Monitored Service IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[2057,3012]"}],"variable":[]}},"response":[{"id":"b9355e51-1eb7-4cf1-8c68-c8854b3d6d40","name":"List Insights","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsight/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","insights","discoveredinsight",""],"query":[{"key":"limit","value":"50","description":"Defaults to 50, max 500","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 245,\n \"next\": \"https://example.appomni.com/api/v1/insights/discoveredinsight/?limit=50&offset=50\",\n \"previous\": null,\n \"results\": [\n {\n \"id\": 102455,\n \"created\": \"2025-09-04T03:45:55.343531Z\",\n \"modified\": \"2025-09-17T17:52:48.138399Z\",\n \"external_id\": null,\n \"created_by\": 65,\n \"modified_by\": 6734,\n \"owner\": null,\n \"label\": \"Data records exposed to anonymous world\",\n \"open_occurrences_summary\": 1,\n \"dismissed_occurrences_summary\": 0,\n \"description\": \"Data records exposed to the anonymous world should be limited to public data.\",\n \"service_type\": \"sfdc\",\n \"insight_type\": \"data_access\",\n \"insight_category\": \"authorization\",\n \"risk_score\": 100,\n \"risk_level\": \"critical\",\n \"appomni_risk_score\": 100,\n \"appomni_risk_level\": \"critical\",\n \"confidence\": 100,\n \"first_seen\": \"2025-09-04T03:45:55.343622Z\",\n \"last_seen\": \"2025-09-17T17:52:38.035581Z\",\n \"last_evaluated\": \"2025-09-17T08:19:24.773115Z\",\n \"status\": \"open\",\n \"tags\": [],\n \"dismissal_expires\": null,\n \"dismissed_on\": null,\n \"internal_name\": \"sfdc.scheduled.guest.GuestAccessibleRecordsInsight\",\n \"external_data\": null,\n \"internal_id\": \"f1c4a87d-6f83-4b2e-a960-2f8e3fdba9d2\",\n \"last_resolved_on\": \"2025-09-17T17:52:24.153210Z\",\n \"total_filtered_instance_data_count\": 1,\n \"dismissed_monitored_service\": [],\n \"dismissed_environments\": [],\n \"dismissal_reason_value\": null,\n \"dismissal_reason_label\": null,\n \"has_max_occurrences\": false\n }\n ]\n}"}],"_postman_id":"214a2e83-89ad-40d7-abc9-61587fcf7caf"},{"name":"Dismiss Insight [Dismiss a single insight]","id":"df411fab-345f-4843-b6f5-5a9e93976dfa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"message\":\"{{optional_comment_for_feed_log}}\",\"expires\":\"{{iso_datetime_for_dismissal_expiration_date_omit_for_permanent_dismissal}}\"}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsight/:insight_id/dismiss/","description":"

This endpoint updates the specified insight by setting the status to dismissed.

\n

Request Body Fields:

\n
    \n
  • message: String - Optional comment for dismissal (required)
  • \n
  • expires: String (ISO datetime) - Optional expiration date for dismissal
  • \n
\n","urlObject":{"protocol":"https","path":["api","v1","insights","discoveredinsight",":insight_id","dismiss",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; Unique AppOmni identifier for the Insight

\n","type":"text/plain"},"type":"any","value":"{{insight_id}}","key":"insight_id"}]}},"response":[{"id":"53bd2a40-e528-4d29-85c4-ef34be98a704","name":"Dismiss Insight [Dismiss a single insight]","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"message\":\"dismiss for 10 days while testing\",\"expires\":\"2023-02-28T08:00:00.000Z\"}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsight/3563/dismiss/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"/*\nRESPONSE SCHEMA DOCUMENTATION:\n\n| Field | Data Type | Description | Example |\n|------------------------------------|-------------------------------|------------------------------------------------------|---------------------------------------------|\n| id | Integer | Unique identifier | 3563 |\n| created | String (ISO datetime) | Timestamp when record was created | \"2022-06-10T08:23:31.577633Z\" |\n| modified | String (ISO datetime) | Timestamp when record was last modified | \"2023-02-24T23:41:07.792650Z\" |\n| external_id | String or null | External system identifier | null |\n| created_by | Integer | ID of user who created the record | 1010 |\n| modified_by | Integer | ID of user who last modified the record | 1010 |\n| owner | Integer or null | ID of the record owner | null |\n| label | String | Human-readable label for the record | \"User information insight\" |\n| description | String | Detailed description of the record | \"Description about what this insight is...\" |\n| service_type | String | Type of service (e.g., sfdc, o365) | \"sfdc\" |\n| insight_type | String | Category of insight | \"posture\" |\n| insight_category | String | Specific category within insight type | \"authorization\" |\n| risk_score | Integer | Risk score from 0-100 | 75 |\n| risk_level | String | Risk level classification | \"high\" |\n| appomni_risk_score | Integer or null | AppOmni calculated risk score | null |\n| appomni_risk_level | String or null | AppOmni risk level classification | null |\n| confidence | Integer | Confidence score from 0-100 | 80 |\n| first_seen | String (ISO datetime) | Timestamp when first detected | \"2022-06-10T08:23:31.577740Z\" |\n| last_seen | String (ISO datetime) | Timestamp when last detected | \"2023-02-24T08:09:10.789875Z\" |\n| last_evaluated | String (ISO datetime) | Timestamp of last evaluation | \"2023-02-24T15:16:48.132672Z\" |\n| instance_data_count | Integer | Number of active instance data records | 1 |\n| inactive_instance_data_count | Integer | Number of inactive instance data records | 0 |\n| instance_count | Integer | Number of active instances | 1 |\n| inactive_instance_count | Integer | Number of inactive instances | 0 |\n| resolved_instance_data_count | Integer | Number of resolved instance data records | 0 |\n| status | String | Current status (open, dismissed, resolved) | \"dismissed\" |\n| tags | Array[Integer] | Array of associated tag IDs | [] |\n| dismissal_expires | String (ISO datetime) or null | When dismissal expires (null for permanent) | \"2023-02-28T08:00:00Z\" |\n| dismissed_on | String (ISO datetime) or null | When record was dismissed | \"2023-02-24T23:41:07.788351Z\" |\n| internal_name | String | Internal system name | \"TheInternalNameGivenToThisInsight\" |\n| external_data | Object or null | Additional external data | null |\n| internal_id | String (UUID) | Internal UUID identifier | \"5898e899-0eec-4cbe-b38f-b5dab6755c18\" |\n| last_resolved_on | String (ISO datetime) or null | When record was last resolved | null |\n| total_instance_data_count | Integer | Total count of all instance data | 1 |\n| total_filtered_instance_data_count | Integer | Total count after applying filters | 1 |\n| dismissed_monitored_service | Array[Integer] | Array of dismissed monitored service IDs | [] |\n| dismissed_environments | Array[Integer] | Array of dismissed environment IDs | [] |\n*/\n\n{\n \"id\": 3563,\n \"created\": \"2022-06-10T08:23:31.577633Z\",\n \"modified\": \"2023-02-24T23:41:07.792650Z\",\n \"external_id\": null,\n \"created_by\": 1010,\n \"modified_by\": 1010,\n \"owner\": null,\n \"label\": \"User information insight\",\n \"description\": \"Description about what this insight is all about.\",\n \"service_type\": \"sfdc\",\n \"insight_type\": \"posture\",\n \"insight_category\": \"authorization\",\n \"risk_score\": 75,\n \"risk_level\": \"high\",\n \"appomni_risk_score\": null,\n \"appomni_risk_level\": null,\n \"confidence\": 80,\n \"first_seen\": \"2022-06-10T08:23:31.577740Z\",\n \"last_seen\": \"2023-02-24T08:09:10.789875Z\",\n \"last_evaluated\": \"2023-02-24T15:16:48.132672Z\",\n \"instance_data_count\": 1,\n \"inactive_instance_data_count\": 0,\n \"instance_count\": 1,\n \"inactive_instance_count\": 0,\n \"resolved_instance_data_count\": 0,\n \"status\": \"dismissed\",\n \"tags\": [],\n \"dismissal_expires\": \"2023-02-28T08:00:00Z\",\n \"dismissed_on\": \"2023-02-24T23:41:07.788351Z\",\n \"internal_name\": \"TheInternalNameGivenToThisInsight\",\n \"external_data\": null,\n \"internal_id\": \"5898e899-0eec-4cbe-b38f-b5dab6755c18\",\n \"last_resolved_on\": null,\n \"total_instance_data_count\": 1,\n \"total_filtered_instance_data_count\": 1,\n \"dismissed_monitored_service\": [],\n \"dismissed_environments\": []\n}"}],"_postman_id":"df411fab-345f-4843-b6f5-5a9e93976dfa"},{"name":"List Occurrences (DB)","id":"c8dd9da3-edfe-4076-801d-77f5ed068f6a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsightinstanceoccurrence/?limit=100&offset=0","description":"

Returns a list of occurrences for all Insights for a tenant.

\n

NOTE: The default behavior of this endpoint uses pagination with a limit of 100 results per request, so you do not need to specify offset or limit.

\n

However, changing the default limit is supported and offset is still required to access additional pages apart from the first one.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idString (UUID)Unique identifier for the occurrence\"98b3b123-e017-4377-b864-7134e5e2b84b\"
external_idString or nullExternal system identifier, typically nullnull
orgIntegerOrganization ID23
ownerInteger or nullID of the user who owns the occurrencenull
created_byIntegerID of the user who created the occurrence65
modified_byIntegerID of the user who last modified the occurrence65
unique_identifierString (JSON)JSON string containing context information\"{\"service_type\": \"sfdc\", \"object_type\": \"sobject\", \"monitored_service_id\": 81964, \"object_id\": \"0DBDX000000CmgL4AS\", \"perspective_id\": 169439}\"
md_kindStringMetadata kind identifier for the object type\"sfdc.aotypes.objects.sfdcserviceobject\"
md_versionIntegerMetadata version number1
object_idStringIdentifier of the specific object instance\"0DBDX000000CmgL4AS\"
object_labelStringHuman-readable label for the object\"OmniCommunity#4638\"
object_typeStringType of the object\"sobject\"
object_type_labelStringHuman-readable label for the object type\"SObject\"
search_dataStringSearchable text data for the occurrence\"network OmniCommunity#4638 https://business-app-4638-dev-ed.scratch.my.site.com/\"
monitored_service_idIntegerID of the monitored service this occurrence belongs to81964
discovered_insightIntegerID of the parent insight102455
discovered_insight_instanceIntegerID of the parent insight instance317109
perspectiveInteger or nullID of the perspective/user context169439
dataArray[Object]Array of data objects containing specific details[{ \"data_type\": \"field\", \"key\": \"id\", \"value\": \"0DBDX000000CmgL4AS\", \"md_kind\": \"ServiceObjectData\", \"md_version\": 1 }]
first_seenString (ISO datetime)When occurrence was first detected\"2025-09-04T03:45:56.443826+00:00\"
last_seenString (ISO datetime)When occurrence was last observed\"2025-09-10T04:52:47.726083+00:00\"
dismissed_byInteger or nullID of user who dismissed the occurrencenull
dismissal_messageString or nullMessage provided when dismissingnull
createdString (ISO datetime)Timestamp when occurrence was created\"2025-09-04T03:45:56.471885+00:00\"
modifiedString (ISO datetime)Timestamp when occurrence was last modified\"2025-09-10T04:52:47.726083+00:00\"
sobject_nameStringName of the SObject type\"network\"
sobject_labelStringLabel of the SObject type\"Network\"
table_nameString or nullDatabase table namenull
internal_table_nameString or nullInternal database table namenull
record_typeString or nullRecord type identifiernull
ai_tagsArray or nullAI-generated tagsnull
di_statusStringParent insight status\"open\"
dii_statusStringInsight instance status\"open\"
monitored_service_nameStringName of the monitored service\"SFDC-Coretest-Scratch-Int\"
service_typeStringType of service\"sfdc\"
perspective_usernameString or nullUsername of the perspective user\"test-voxziptfghvx@example.com\"
thread_labelStringLabel for the insight instance thread\"Network\"
internal_nameStringInternal system name for the insight\"sfdc.scheduled.guest.GuestAccessibleRecordsInsight\"
risk_scoreIntegerRisk score associated with this occurrence100
statusStringCurrent status of the occurrence\"open\"
dismissal_reason_valueString or nullInternal dismissal reason codenull
remediation_dueString (ISO datetime) or nullWhen remediation is duenull
remediation_startString (ISO datetime) or nullWhen remediation should startnull
dismissed_onString (ISO datetime) or nullWhen occurrence was dismissednull
dismissal_expiresString (ISO datetime) or nullWhen dismissal expiresnull
messageStringHuman-readable message describing the occurrence\"SObject: network\\nRecord: OmniCommunity#4638\\nSite: https://business-app-4638-dev-ed.scratch.my.site.com/\\n\"
message_dataArray[Object]Structured message data[{ \"label\": \"SObject\", \"value\": \"network\", \"type\": \"string\" }]
dynamic_dataObjectDynamic data object containing occurrence context{ \"sobject\": \"network\", \"record\": \"OmniCommunity#4638\", \"site\": \"https://business-app-4638-dev-ed.scratch.my.site.com/\" }
dismissal_reason_labelString or nullHuman-readable dismissal reasonnull
\n

Additional Notes:

\n
    \n
  • Response Structure: The actual API response wraps this data in a paginated format with count, next, previous, and results fields

    \n
  • \n
  • Status Values: Common values include \"open\", \"dismissed\", \"closed\"

    \n
  • \n
  • Service Types: Common values include \"sfdc\", \"m365\", \"box\", \"gws\"

    \n
  • \n
  • Data Array: Contains detailed field information with data_type, key, value, md_kind, and md_version

    \n
  • \n
  • Message Data: Structured format for displaying occurrence details in UI

    \n
  • \n
\n","urlObject":{"protocol":"https","path":["api","v1","insights","discoveredinsightinstanceoccurrence",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Array[String]; One of open, dismissed

\n","type":"text/plain"},"key":"status","value":"status__in=[\"{{occurrence_status}}\"]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter occurrences to display only Monitored Services with specified tags

\n","type":"text/plain"},"key":"monitored_service__tags__in","value":"[{{tag1_id}},{{tag2_id}}]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter occurrences to display a list of specified Monitored Service IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[{{ms1_id}},{{ms2_id}}]"},{"description":{"content":"

Integer; Defaults to 100, max 1000

\n","type":"text/plain"},"key":"limit","value":"100"},{"description":{"content":"

Integer; Pagination offset

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

Integer; Returns occurrences for a given insight, for all instances under the specified insight

\n","type":"text/plain"},"key":"discovered_insight","value":"{{insight_id}}"},{"disabled":true,"description":{"content":"

Integer; Returns occurrences for a single instance (previously also known as threads)

\n","type":"text/plain"},"key":"discovered_insight_instance","value":"{{insight_instance_id}}"}],"variable":[]}},"response":[{"id":"ce42fc82-b555-404e-a2c4-850cfb559fc6","name":"List Occurrences (DB)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/insights/discoveredinsightinstanceoccurrence/?limit=100","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","insights","discoveredinsightinstanceoccurrence",""],"query":[{"key":"limit","value":"100"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 1247,\n \"next\": \"https://example.appomni.com/api/v1/insights/discoveredinsightinstanceoccurrence/?limit=100&offset=100\",\n \"previous\": null,\n \"results\": [\n {\n \"DiscoveredInsightInstanceOccurrence_ai_tags+\": null,\n \"external_id\": null,\n \"org\": 23,\n \"owner\": null,\n \"created_by\": 65,\n \"modified_by\": 65,\n \"id\": \"98b3b123-e017-4377-b864-7134e5e2b84b\",\n \"unique_identifier\": \"{\\\"service_type\\\": \\\"sfdc\\\", \\\"object_type\\\": \\\"sobject\\\", \\\"monitored_service_id\\\": 81964, \\\"object_id\\\": \\\"0DBDX000000CmgL4AS\\\", \\\"perspective_id\\\": 169439}\",\n \"md_kind\": \"sfdc.aotypes.objects.sfdcserviceobject\",\n \"md_version\": 1,\n \"object_id\": \"0DBDX000000CmgL4AS\",\n \"object_label\": \"OmniCommunity#4638\",\n \"object_type\": \"sobject\",\n \"object_type_label\": \"SObject\",\n \"search_data\": \"network OmniCommunity#4638 https://business-app-4638-dev-ed.scratch.my.site.com/\",\n \"monitored_service_id\": 81964,\n \"discovered_insight\": 102455,\n \"discovered_insight_instance\": 317109,\n \"perspective\": 169439,\n \"data\": [\n {\n \"data_type\": \"field\",\n \"key\": \"id\",\n \"value\": \"0DBDX000000CmgL4AS\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"name\",\n \"value\": \"OmniCommunity#4638\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"sobjecttype\",\n \"value\": \"Network\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"object_name\",\n \"value\": \"network\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"object_label\",\n \"value\": \"Network\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"url\",\n \"value\": \"https://business-app-4638-dev-ed.scratch.my.site.com/\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n }\n ],\n \"first_seen\": \"2025-09-04T03:45:56.443826+00:00\",\n \"last_seen\": \"2025-09-10T04:52:47.726083+00:00\",\n \"dismissed_by\": null,\n \"dismissal_message\": null,\n \"created\": \"2025-09-04T03:45:56.471885+00:00\",\n \"modified\": \"2025-09-10T04:52:47.726083+00:00\",\n \"sobject_name\": \"network\",\n \"sobject_label\": \"Network\",\n \"table_name\": null,\n \"internal_table_name\": null,\n \"record_type\": null,\n \"ai_tags\": null,\n \"di_status\": \"open\",\n \"dii_status\": \"open\",\n \"monitored_service_name\": \"SFDC-Coretest-Scratch-Int\",\n \"service_type\": \"sfdc\",\n \"perspective_username\": \"test-voxziptfghvx@example.com\",\n \"thread_label\": \"Network\",\n \"internal_name\": \"sfdc.scheduled.guest.GuestAccessibleRecordsInsight\",\n \"risk_score\": 100,\n \"status\": \"open\",\n \"dismissal_reason_value\": null,\n \"remediation_due\": null,\n \"remediation_start\": null,\n \"dismissed_on\": null,\n \"dismissal_expires\": null,\n \"message\": \"SObject: network\\nRecord: OmniCommunity#4638\\nSite: https://business-app-4638-dev-ed.scratch.my.site.com/\\n\",\n \"message_data\": [\n {\n \"label\": \"SObject\",\n \"value\": \"network\",\n \"type\": \"string\"\n },\n {\n \"label\": \"Record\",\n \"value\": \"OmniCommunity#4638\",\n \"type\": \"string\"\n },\n {\n \"label\": \"Site\",\n \"value\": \"https://business-app-4638-dev-ed.scratch.my.site.com/\",\n \"type\": \"string\"\n }\n ],\n \"dynamic_data\": {\n \"sobject\": \"network\",\n \"record\": \"OmniCommunity#4638\",\n \"site\": \"https://business-app-4638-dev-ed.scratch.my.site.com/\"\n },\n \"dismissal_reason_label\": null\n }\n ]\n}"}],"_postman_id":"c8dd9da3-edfe-4076-801d-77f5ed068f6a"},{"name":"Get occurrence details (DB)","id":"decaaf85-4a88-4944-9a1c-46d983f438b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsightinstanceoccurrence/:id/","description":"

Returns the details for an occurrence when you pass the uid of occurrence. The API endpoint corresponds to database storage for Insights.

\n

Status definitions:
Statuses may be:

\n
    \n
  • open: action is required
  • \n
  • dismissed: discovered occurrences have been set to dismissed manually
  • \n
  • closed: the occurrence has been remediated and is no longer observed
  • \n
  • inherited (dismissed by inheritance): the parent Insight or the parent thread has been set to dismissed, so child threads/occurrences are set to dismissed by inheritance.
  • \n
\n

Status types:

\n
    \n
  • di_status: (parent) Insight status
  • \n
  • dii_status: thread status
  • \n
  • status: occurrence status
  • \n
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
external_idString or nullExternal system identifiernull
orgIntegerOrganization ID177
ownerInteger or nullID of the record ownernull
created_byIntegerID of user who created the record3362
modified_byIntegerID of user who last modified the record3362
idString (UUID)Unique identifier\"b65b4c33-dcbc-4844-b9e0-807408b347b4\"
unique_identifierString (JSON)JSON string containing context informationJSON object with service_type, object_type, monitored_service_id, object_id, perspective_id
md_kindStringMetadata kind identifier\"sfdc.aotypes.objects.sfdcserviceobject\"
md_versionIntegerMetadata version number1
object_idStringObject identifier\"permissionset/PermissionsCanVerifyComment\"
object_labelStringHuman-readable object label\"\"
object_typeStringType of the object\"sobject\"
object_type_labelStringHuman-readable object type label\"SObject\"
search_dataStringSearchable text data\"Permission Set Verify Answers to Chatter Questions\"
monitored_service_idIntegerID of the monitored service26063
discovered_insightIntegerID of the parent insight4661
discovered_insight_instanceIntegerID of the parent insight instance109830
perspectiveInteger or nullID of the perspective/user contextnull
dataArray[Object]Array of data objects with detailed informationSee example response
first_seenString (ISO datetime)When first detected\"2023-08-24T02:27:35.704700+00:00\"
last_seenString (ISO datetime)When last detected\"2023-10-13T13:22:35.929543+00:00\"
createdString (ISO datetime)When record was created\"2023-08-24T02:27:36.841438+00:00\"
modifiedString (ISO datetime)When record was last modified\"2023-10-13T13:22:35.929543+00:00\"
sobject_nameStringSObject name\"schema\"
sobject_labelStringSObject label\"schema\"
table_nameString or nullDatabase table namenull
internal_table_nameString or nullInternal table namenull
di_statusStringParent insight status\"open\"
dii_statusStringInsight instance status\"open\"
monitored_service_nameStringName of monitored service\"AppOmni\"
service_typeStringType of service\"sfdc\"
perspective_usernameString or nullUsername of perspective usernull
thread_labelStringThread label\"schema\"
internal_nameStringInternal system name\"sfdc.scheduled.schema.InlineHelpTextMissingInsight\"
risk_scoreIntegerRisk score from 0-1000
statusStringCurrent status\"open\"
dismissal_reason_valueString or nullInternal dismissal reason codenull
remediation_dueString or nullWhen remediation is duenull
remediation_startStringWhen remediation should start\"2023-08-24T02:27:35.704700+00:00\"
dismissed_onString (ISO datetime) or nullWhen record was dismissednull
dismissal_expiresString (ISO datetime) or nullWhen dismissal expiresnull
messageStringHuman-readable message\"sObject: Permission Set
Field: Verify Answers to Chatter Questions\"
message_dataArray[Object]Structured message dataArray with label, value, and type fields
dynamic_dataObjectDynamic data objectObject with sobject and field properties
dismissal_reason_labelString or nullHuman-readable dismissal reasonnull
\n
","urlObject":{"protocol":"https","path":["api","v1","insights","discoveredinsightinstanceoccurrence",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

String (UUID); Unique identifier for the occurrence

\n","type":"text/plain"},"type":"any","value":"{{occurrence_id}}","key":"id"}]}},"response":[{"id":"3e4457a4-f071-4375-85a3-cc23966019de","name":"Get occurrence details (DB)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/insights/discoveredinsightinstanceoccurrence/:id/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","insights","discoveredinsightinstanceoccurrence",":id",""],"variable":[{"key":"id","value":"b65b4c33-dcbc-4844-b9e0-807408b347b4"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n \"external_id\": null,\n \"org\": 177,\n \"owner\": null,\n \"created_by\": 3362,\n \"modified_by\": 3362,\n \"id\": \"b65b4c33-dcbc-4844-b9e0-807408b347b4\",\n \"unique_identifier\": \"{\\\"service_type\\\": \\\"sfdc\\\", \\\"object_type\\\": \\\"sobject\\\", \\\"monitored_service_id\\\": 26063, \\\"object_id\\\": \\\"permissionset/PermissionsCanVerifyComment\\\", \\\"perspective_id\\\": null}\",\n \"md_kind\": \"sfdc.aotypes.objects.sfdcserviceobject\",\n \"md_version\": 1,\n \"object_id\": \"permissionset/PermissionsCanVerifyComment\",\n \"object_label\": \"\",\n \"object_type\": \"sobject\",\n \"object_type_label\": \"SObject\",\n \"search_data\": \"Permission Set Verify Answers to Chatter Questions\",\n \"monitored_service_id\": 26063,\n \"discovered_insight\": 4661,\n \"discovered_insight_instance\": 109830,\n \"perspective\": null,\n \"data\": [\n {\n \"data_type\": \"field\",\n \"key\": \"sobject_label\",\n \"value\": \"Permission Set\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"sobject_name\",\n \"value\": \"permissionset\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"field_label\",\n \"value\": \"Verify Answers to Chatter Questions\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"field_name\",\n \"value\": \"PermissionsCanVerifyComment\",\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n },\n {\n \"data_type\": \"field\",\n \"key\": \"field_count\",\n \"value\": 15782,\n \"md_kind\": \"ServiceObjectData\",\n \"md_version\": 1\n }\n ],\n \"first_seen\": \"2023-08-24T02:27:35.704700+00:00\",\n \"last_seen\": \"2023-10-13T13:22:35.929543+00:00\",\n \"created\": \"2023-08-24T02:27:36.841438+00:00\",\n \"modified\": \"2023-10-13T13:22:35.929543+00:00\",\n \"sobject_name\": \"schema\",\n \"sobject_label\": \"schema\",\n \"table_name\": null,\n \"internal_table_name\": null,\n \"di_status\": \"open\",\n \"dii_status\": \"open\",\n \"monitored_service_name\": \"AppOmni\",\n \"service_type\": \"sfdc\",\n \"perspective_username\": null,\n \"thread_label\": \"schema\",\n \"internal_name\": \"sfdc.scheduled.schema.InlineHelpTextMissingInsight\",\n \"risk_score\": 0,\n \"status\": \"open\",\n \"dismissal_reason_value\": null,\n \"remediation_due\": null,\n \"remediation_start\": \"2023-08-24T02:27:35.704700+00:00\",\n \"dismissed_on\": null,\n \"dismissal_expires\": null,\n \"message\": \"sObject: Permission Set\\nField: Verify Answers to Chatter Questions\\n\",\n \"message_data\": [\n {\n \"label\": \"sObject\",\n \"value\": \"Permission Set\",\n \"type\": \"string\"\n },\n {\n \"label\": \"Field\",\n \"value\": \"Verify Answers to Chatter Questions\",\n \"type\": \"string\"\n }\n ],\n \"dynamic_data\": {\n \"sobject\": \"Permission Set\",\n \"field\": \"Verify Answers to Chatter Questions\"\n },\n \"dismissal_reason_label\": null\n}"}],"_postman_id":"decaaf85-4a88-4944-9a1c-46d983f438b2"},{"name":"Bulk dismiss Occurrences (DB)","id":"1a4a2a6d-ac6f-475c-b713-2a5552a28d1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"discovered_insight_instance_occurrence__in\":[\"{{occurrence_uuid}}\"]}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsightinstanceoccurrence/bulk_dismiss/","description":"

Dismisses a list of occurrences when you pass the uids (comma delimited). The API endpoint corresponds to database storage for Insights.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData typeRequiredDescriptionExample
discovered_insight_instance_occurrence__inArray[String]YesList of occurrences to dismiss['1234-5555-ggg-adsds']
\n
","urlObject":{"protocol":"https","path":["api","v1","insights","discoveredinsightinstanceoccurrence","bulk_dismiss",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1a4a2a6d-ac6f-475c-b713-2a5552a28d1b"},{"name":"Bulk restore Occurrences (DB)","id":"c623de29-bd6c-4741-9d66-03f0aad762b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"message\":\"{{restore_reason}}\",\"discovered_insight_instance_occurrence__in\":[\"{{occurrence_uuid}}\"]}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/insights/discoveredinsightinstanceoccurrence/bulk_restore/","description":"

Restores a list of occurrences when you pass the uids (comma delimited). The API endpoint corresponds to database storage for Insights.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData typeRequiredDescriptionExample
discovered_insight_instance_occurrence__inArray[String]YesList of occurrences to dismiss['1234-5555-ggg-adsds']
messageStringYesReason for restoring occurrence'false_positive'
\n
","urlObject":{"protocol":"https","path":["api","v1","insights","discoveredinsightinstanceoccurrence","bulk_restore",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c623de29-bd6c-4741-9d66-03f0aad762b5"}],"id":"759d8842-18d7-45ff-aaa5-1745f68335a8","_postman_id":"759d8842-18d7-45ff-aaa5-1745f68335a8","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Users and Roles","item":[{"name":"List Users","id":"f6a53e44-53d7-4649-97d7-ee540f9ef1a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/user/","description":"

This request returns a list of users and user details configured for the AppOmni Instance being queried.

\n

As of October 2025, this endpoint is only functional for users with the roles of User Manager, Admin, or Read-only.

\n

For users with roles other than User Manager, Admin, or Read-only, see the /limited-user endpoint, which will allow access to a subset of the user data.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user123
usernameStringusername\"user1@example.com\"
emailStringemail address\"user1@example.com\"
first_nameStringfirst name\"User\"
last_nameStringlast name\"One\"
phoneStringphone numbernull
titleStringjob titlenull
is_activeBooleanEnable/Disable usertrue
lockedBooleanAccount login disabled, either due to manual action or repeated failed login attemptsfalse
locked_atDatetimeDate/time account was locked. null if not applicablenull
override_enable_direct_loginBooleanWhen enabled, break glass access will allow user to login with username and password bypassing default SSO login methodfalse
groupsArray[Integer]IDs for roles of which the user is a part[789]
createdDatetimecreation timestamp\"2024-03-30T17:19:31.240005Z\"
modifiedDatetimemodification timestamp\"2024-04-20T17:45:53.328790Z\"
external_idStringReserved for future usenull
timezoneStringThree letter time zone designation. Default = \"UTC\"\"UTC\"
mfa_enabledStringType of multi-factor authentication used. Can be disabled, sms, totp\"totp\"
phone_verifiedBooleanUser has verified phone number for SMS (text message) MFAfalse
is_mfa_verifiedBooleanUser has set up MFA - if MFA mode is SMS, requires also phone_verifiedtrue
sso_enabledBooleanUser uses SSO to loginfalse
jit_provisionedBooleanAccount was created via just-in-time provisioning after initial SSO logintrue
scim_provisionedBooleanAccount was created via SCIM (System for Cross-domain Identity Management) provisioning after initial SSO loginfalse
org_idIntegerunique identifier for the user's organization1
last_ao_loginDatetimeLast login timestamp\"2024-04-20T17:45:53.328493Z\"
last_login_typeStringMechanism used for last login. Options are direct, direct_mfa (direct with MFA), saml, google, openid, or jwt\"direct\"
environment_restrictedBooleanIndicates whether environment restrictions are enabled for this userfalse
environmentsArray[Integer]List of environments which the user has permission to access[]
can_environment_restrictBooleanuser can add/modify environment restrictionsfalse
last_password_changeDatetimelast password change timestampnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Array[Integer]; Limits results to users posessing one or more of the listed role IDs

\n","type":"text/plain"},"key":"role__in","value":"role__in=[123,456]"},{"disabled":true,"description":{"content":"

Boolean; Limits results to either active or inactive users

\n","type":"text/plain"},"key":"is_active","value":"is_active=true"},{"disabled":true,"description":{"content":"

Array[Integer]; Limits results to users with access to one or more of the listed environment tag IDs

\n","type":"text/plain"},"key":"environments_allowed__in","value":"environments_allowed__in=[1,2,4]"},{"disabled":true,"description":{"content":"

String; Name of the field by which to order results

\n","type":"text/plain"},"key":"ordering","value":"ordering=first_name"},{"disabled":true,"description":{"content":"

String; Limits results to users with a username, first_name, last_name, or email which contains the search term

\n","type":"text/plain"},"key":"search","value":"search=searchterm"}],"variable":[]}},"response":[{"id":"94ffa1e6-ad63-4bbf-9686-5f28d5a7e76a","name":"List Users","originalRequest":{"method":"GET","header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 123,\n \"username\": \"user1@example.com\",\n \"email\": \"user1@example.com\",\n \"first_name\": \"User\",\n \"last_name\": \"One\",\n \"phone\": null,\n \"title\": null,\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"groups\": [\n 789\n ],\n \"created\": \"2024-03-30T17:19:31.240005Z\",\n \"modified\": \"2024-04-20T17:45:53.328790Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"totp\",\n \"phone_verified\": false,\n \"is_mfa_verified\": true,\n \"sso_enabled\": false,\n \"jit_provisioned\": true,\n \"scim_provisioned\": false,\n \"org_id\": 1,\n \"last_ao_login\": \"2024-04-20T17:45:53.328493Z\",\n \"last_login_type\": \"direct\",\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"override_enable_direct_login\": false,\n \"last_password_change\": null\n },\n {\n \"id\": 124,\n \"username\": \"user2@example.com\",\n \"email\": \"user2@example.com\",\n \"first_name\": \"User\",\n \"last_name\": \"Two\",\n \"phone\": null,\n \"title\": null,\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"groups\": [\n 789,\n 790\n ],\n \"created\": \"2024-04-20T15:14:47.108414Z\",\n \"modified\": \"2024-04-20T15:14:47.403189Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": true,\n \"jit_provisioned\": true,\n \"scim_provisioned\": false,\n \"org_id\": 1,\n \"last_ao_login\": \"2024-04-20T15:14:47.393591Z\",\n \"last_login_type\": \"google\",\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": true,\n \"override_enable_direct_login\": false,\n \"last_password_change\": null\n },\n {\n \"id\": 125,\n \"username\": \"user3@example.com\",\n \"email\": \"user3@example.com\",\n \"first_name\": \"User\",\n \"last_name\": \"Three\",\n \"phone\": null,\n \"title\": null,\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"groups\": [\n 790\n ],\n \"created\": \"2023-03-20T18:58:55.653498Z\",\n \"modified\": \"2023-03-20T19:26:48.874948Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": true,\n \"jit_provisioned\": true,\n \"scim_provisioned\": false,\n \"org_id\": 1,\n \"last_ao_login\": \"2023-03-20T19:26:48.874610Z\",\n \"last_login_type\": \"google\",\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"override_enable_direct_login\": false,\n \"last_password_change\": null\n }\n]"},{"id":"680e423b-bafe-4558-81d1-7b60125d6a16","name":"List Users from Specific Role","originalRequest":{"method":"GET","header":[],"url":{"raw":"?role__in=[567]","query":[{"key":"role__in","value":"[567]"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 123,\n \"username\": \"user1@example.com\",\n \"email\": \"user1@example.com\",\n \"first_name\": \"User\",\n \"last_name\": \"One\",\n \"phone\": null,\n \"title\": null,\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"groups\": [\n 567\n ],\n \"created\": \"2023-03-30T17:19:31.240005Z\",\n \"modified\": \"2023-04-20T17:45:53.328790Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": true,\n \"sso_enabled\": true,\n \"jit_provisioned\": true,\n \"scim_provisioned\": false,\n \"org_id\": 1,\n \"last_ao_login\": \"2023-04-20T17:45:53.328493Z\",\n \"last_login_type\": \"google\",\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"override_enable_direct_login\": false,\n \"last_password_change\": null\n }\n]"}],"_postman_id":"f6a53e44-53d7-4649-97d7-ee540f9ef1a1"},{"name":"List users for roles with limited permissions","id":"94c4d85d-572e-47ad-97cd-8f4164dd4047","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/limited-user/","description":"

This endpoint is for users that have roles other than User Manager, Admin, or Read-only. It allows access to a subset of user information that is available to User Manager, Admin, or Read-only.

\n

Returns a list of users and limited user details configured for the AppOmni Instance being queried.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user123
usernameStringusername\"user1@example.com\"
emailStringemail address\"user1@example.com\"
first_nameStringfirst name\"User\"
last_nameStringlast name\"One\"
is_activeBooleanEnable/Disable usertrue
\n
","urlObject":{"protocol":"https","path":["api","v1","core","limited-user",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

String

\n","type":"text/plain"},"key":"username","value":"user1@example.com"},{"disabled":true,"description":{"content":"

JSON list of strings

\n","type":"text/plain"},"key":"username__in","value":""},{"disabled":true,"description":{"content":"

Boolean; Limits results to either active or inactive users

\n","type":"text/plain"},"key":"is_active","value":"is_active=true"},{"disabled":true,"description":{"content":"

String; Name of the field by which to order results.

\n","type":"text/plain"},"key":"ordering","value":"ordering=first_name"},{"disabled":true,"description":{"content":"

String; Limits results to users with a username, first_name, last_name, or email which contains the search term

\n","type":"text/plain"},"key":"search","value":"search=searchterm"}],"variable":[]}},"response":[{"id":"f711307e-7055-4771-b838-afbeaba74205","name":"List users for roles with limited permissions","originalRequest":{"method":"GET","header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 13524,\n \"email\": \"james.page@example.com\",\n \"first_name\": \"James\",\n \"last_name\": \"Page\",\n \"username\": \"PageyCS\",\n \"is_active\": true\n },\n {\n \"id\": 40167,\n \"email\": \"marie.kondo@example.com\",\n \"first_name\": \"Marie\",\n \"last_name\": \"Kondo\",\n \"username\": \"MKondo\",\n \"is_active\": true\n },\n]\n"}],"_postman_id":"94c4d85d-572e-47ad-97cd-8f4164dd4047"},{"name":"List users by ID for roles with limited permissions","id":"14e457c7-1769-4d4b-ae6d-8f9021f73541","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/limited-user/:id/","description":"

This endpoint is for users that have roles other than User Manager, Admin, or Read-only. It allows access to a subset of user information that is available to User Manager, Admin, or Read-only.

\n

Returns a list of users by id and limited user details configured for the AppOmni Instance being queried.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user123
usernameStringusername\"user1@example.com\"
emailStringemail address\"user1@example.com\"
first_nameStringfirst name\"User\"
last_nameStringlast name\"One\"
is_activeBooleanEnable/Disable usertrue
\n
","urlObject":{"protocol":"https","path":["api","v1","core","limited-user",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

String

\n","type":"text/plain"},"key":"username","value":"user1@example.com"},{"disabled":true,"description":{"content":"

JSON list of strings

\n","type":"text/plain"},"key":"username__in","value":""},{"disabled":true,"description":{"content":"

Boolean; Limits results to either active or inactive users

\n","type":"text/plain"},"key":"is_active","value":"is_active=true"},{"disabled":true,"description":{"content":"

String; Name of the field by which to order results.

\n","type":"text/plain"},"key":"ordering","value":"ordering=first_name"},{"disabled":true,"description":{"content":"

String; Limits results to users with a username, first_name, last_name, or email which contains the search term

\n","type":"text/plain"},"key":"search","value":"search=searchterm"}],"variable":[{"description":{"content":"

Integer; Unique ID of the user

\n","type":"text/plain"},"type":"any","value":"12345","key":"id"}]}},"response":[{"id":"ad7071a4-0d9a-4824-91aa-4af6f91b764e","name":"List users by ID for roles with limited permissions","originalRequest":{"method":"GET","header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 13524,\n \"email\": \"james.page@example.com\",\n \"first_name\": \"James\",\n \"last_name\": \"Page\",\n \"username\": \"PageyCS\",\n \"is_active\": true\n },\n {\n \"id\": 40167,\n \"email\": \"marie.kondo@example.com\",\n \"first_name\": \"Marie\",\n \"last_name\": \"Kondo\",\n \"username\": \"MKondo\",\n \"is_active\": true\n },\n]\n"}],"_postman_id":"14e457c7-1769-4d4b-ae6d-8f9021f73541"},{"name":"List RBAC Roles","id":"ccd435f1-1f86-479d-9a10-bcab1a968a4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/group/","description":"

Returns a list of AppOmni roles (permissions) and their identifiers.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the role1392
nameStringrole name\"administrators\"
group_typeStringtype of group - can be admin, readonly, role, or system\"admin\"
external_idStringexternal identifier for the rolenull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","group",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"2897766f-167f-408c-b599-19a668b47d12","name":"Get RBAC","originalRequest":{"method":"GET","header":[],"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": 1392,\n \"name\": \"administrators\",\n \"group_type\": \"admin\",\n \"external_id\": null\n },\n {\n \"id\": 1393,\n \"name\": \"readonly\",\n \"group_type\": \"readonly\",\n \"external_id\": null\n },\n {\n \"id\": 1396,\n \"name\": \"insights_manager\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1397,\n \"name\": \"issues_manager\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1399,\n \"name\": \"monitored_service_role_manager\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1505,\n \"name\": \"policies_manager\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1690,\n \"name\": \"service_admin\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1395,\n \"name\": \"service_onboarder\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 2104,\n \"name\": \"threat_detection_manager\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1398,\n \"name\": \"users_manager\",\n \"group_type\": \"role\",\n \"external_id\": null\n },\n {\n \"id\": 1394,\n \"name\": \"users\",\n \"group_type\": \"system\",\n \"external_id\": null\n }\n]"}],"_postman_id":"ccd435f1-1f86-479d-9a10-bcab1a968a4e"},{"name":"Get user details and roles","id":"772ac39b-58bf-422d-9bf5-6cb11ca42bb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/user/:id/","description":"

Returns the details for the user specified by the id passed in the URL.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user9538
usernameStringusernameuser2@example.com
emailStringemail addressuser2@example.com
first_nameStringfirst nameJane
last_nameStringlast nameDoe
phoneStringphone numbernull
titleStringjob titlenull
is_activeBooleanEnable/Disable usertrue
lockedBooleanAccount login disabled, either due to manual action or repeated failed login attemptsfalse
locked_atDatetimeDate/time account was locked. null if not applicablenull
override_enable_direct_loginBooleanWhen enabled, break glass access will allow user to login with username and password bypassing default SSO login methodfalse
groupsArray[Integer]IDs for roles of which the user is a part[1392]
createdDatetimecreation timestamp2023-03-30T17:19:31.240005Z
modifiedDatetimemodification timestamp2023-04-20T17:45:53.328790Z
external_idStringReserved for future usenull
timezoneStringThree letter time zone designation. Default = UTCUTC
mfa_enabledStringType of multi-factor authentication used. Can be disabled, sms, totpdisabled
phone_verifiedBooleanUser has verified phone number for SMS (text message) MFAfalse
is_mfa_verifiedBooleanUser has set up MFA - if MFA mode is SMS, requires also phone_verifiedfalse
sso_enabledBooleanUser uses SSO to logintrue
jit_provisionedBooleanAccount was created via just-in-time provisioning after initial SSO logintrue
scim_provisionedBooleanAccount was created via SCIM (System for Cross-domain Identity Management) provisioning after initial SSO loginfalse
org_idIntegerunique identifier for the user's organization177
last_ao_loginDatetimeLast login timestamp2023-04-20T17:45:53.328493Z
last_login_typeStringMechanism used for last login. Options are direct, direct_mfa (direct with MFA), saml, google, openid, or jwtgoogle
environment_restrictedBooleanIndicates whether environment restrictions are enabled for this userfalse
environmentsArray[Integer]List of environments which the user has permission to access[]
can_environment_restrictBooleanuser can add/modify environment restrictionsfalse
last_password_changeDatetimelast password change timestampnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; The ID of the User to get details for

\n","type":"text/plain"},"type":"any","value":"{{user_id}}","key":"id"}]}},"response":[{"id":"a397aa6f-7c19-407a-ba8b-0cb5540e9a94","name":"Get user details (roles)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain]/api/v1/core/user/:id/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","user",":id",""],"variable":[{"key":"id","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"id\": 9538,\n \"username\": \"user2@example.com\",\n \"email\": \"user2@example.com\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \"phone\": null,\n \"title\": null,\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"override_enable_direct_login\": false,\n \"groups\": [\n 1392\n ],\n \"created\": \"2023-03-30T17:19:31.240005Z\",\n \"modified\": \"2023-04-20T17:45:53.328790Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": true,\n \"jit_provisioned\": true,\n \"scim_provisioned\": false,\n \"org_id\": 177,\n \"last_ao_login\": \"2023-04-20T17:45:53.328493Z\",\n \"last_login_type\": \"google\",\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"last_password_change\": null\n}"}],"_postman_id":"772ac39b-58bf-422d-9bf5-6cb11ca42bb3"},{"name":"Add or remove user permissions","id":"92678549-dad6-4034-94d8-1b96fcaa8b44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"groups\": [{{group_id}}]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/user/:id/","description":"

The groups array contains all group IDs to be assigned to a user. This example shows how to update RBAC roles for a user.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user10345
usernameStringusername\"user3@example.com\"
emailStringemail address\"user3@example.com\"
first_nameStringfirst name\"Bob\"
last_nameStringlast name\"Smith\"
phoneStringphone numbernull
titleStringjob titlenull
is_activeBooleanEnable/Disable usertrue
lockedBooleanAccount login disabled, either due to manual action or repeated failed login attemptsfalse
locked_atDatetimeDate/time account was locked. null if not applicablenull
override_enable_direct_loginBooleanWhen enabled, break glass access will allow user to login with username and password bypassing default SSO login methodfalse
groupsArray[Integer]IDs for roles of which the user is a part[1397, 1394]
createdDatetimecreation timestamp\"2023-04-20T16:45:39.059190Z\"
modifiedDatetimemodification timestamp\"2023-05-12T12:22:29.895482Z\"
external_idStringReserved for future usenull
timezoneStringThree letter time zone designation. Default = \"UTC\"\"UTC\"
mfa_enabledStringType of multi-factor authentication used. Can be disabled, sms, totp\"disabled\"
phone_verifiedBooleanUser has verified phone number for SMS (text message) MFAfalse
is_mfa_verifiedBooleanUser has set up MFA - if MFA mode is SMS, requires also phone_verifiedfalse
sso_enabledBooleanUser uses SSO to loginfalse
jit_provisionedBooleanAccount was created via just-in-time provisioning after initial SSO loginfalse
scim_provisionedBooleanAccount was created via SCIM (System for Cross-domain Identity Management) provisioning after initial SSO loginfalse
org_idIntegerunique identifier for the user's organization177
last_ao_loginDatetimeLast login timestampnull
last_login_typeStringMechanism used for last login. Options are direct, direct_mfa (direct with MFA), saml, google, openid, or jwtnull
environment_restrictedBooleanIndicates whether environment restrictions are enabled for this userfalse
environmentsArray[Integer]List of environments which the user has permission to access[]
can_environment_restrictBooleanuser can add/modify environment restrictionstrue
last_password_changeDatetimelast password change timestampnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; The ID of the User to update permissions for

\n","type":"text/plain"},"type":"any","value":"{{user_id}}","key":"id"}]}},"response":[{"id":"65ef65ad-98f8-4de2-afb0-b1d891a7552d","name":"Add or remove user permissions","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"groups\": [1397]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain]/api/v1/core/user/:id/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","user",":id",""],"variable":[{"key":"id","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"id\": 10345,\n \"username\": \"user3@example.com\",\n \"email\": \"user3@example.com\",\n \"first_name\": \"Bob\",\n \"last_name\": \"Smith\",\n \"phone\": null,\n \"title\": null,\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"override_enable_direct_login\": false,\n \"groups\": [\n 1397,\n 1394\n ],\n \"created\": \"2023-04-20T16:45:39.059190Z\",\n \"modified\": \"2023-05-12T12:22:29.895482Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": false,\n \"jit_provisioned\": false,\n \"scim_provisioned\": false,\n \"org_id\": 177,\n \"last_ao_login\": null,\n \"last_login_type\": null,\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": true,\n \"last_password_change\": null\n}"}],"_postman_id":"92678549-dad6-4034-94d8-1b96fcaa8b44"},{"name":"Deactivate or Activate User","id":"d5ba17c1-19c4-4feb-a195-9295e0593b26","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"is_active\": {{is_active_status}}\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/user/:id/","description":"

In AppOmni users are not deleted. When users no longer require access, they are deactivated (their status is set to Inactive). This endpoint is used to deactivate users.

\n

Change the status of a user from active to inactive (or vice versa) when the user id is passed.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user15050
usernameStringusername\"user4@example.com\"
emailStringemail address\"user4@example.com\"
first_nameStringfirst name\"Alex\"
last_nameStringlast name\"Johnson\"
phoneStringphone number\"null\"
titleStringjob title\"null\"
is_activeBooleanEnable/Disable user (reflects the change made)false
lockedBooleanAccount login disabled, either due to manual action or repeated failed login attemptsfalse
locked_atDatetimeDate/time account was locked. null if not applicablenull
override_enable_direct_loginBooleanWhen enabled, break glass access will allow user to login with username and password bypassing default SSO login methodfalse
groupsArray[Integer]IDs for roles of which the user is a part[1392, 1394]
createdDatetimecreation timestamp\"2023-08-07T15:57:21.503302Z\"
modifiedDatetimemodification timestamp\"2023-08-07T18:17:50.678319Z\"
external_idStringReserved for future usenull
timezoneStringThree letter time zone designation. Default = \"UTC\"\"UTC\"
mfa_enabledStringType of multi-factor authentication used. Can be disabled, sms, totp\"disabled\"
phone_verifiedBooleanUser has verified phone number for SMS (text message) MFAfalse
is_mfa_verifiedBooleanUser has set up MFA - if MFA mode is SMS, requires also phone_verifiedfalse
sso_enabledBooleanUser uses SSO to loginfalse
jit_provisionedBooleanAccount was created via just-in-time provisioning after initial SSO loginfalse
scim_provisionedBooleanAccount was created via SCIM (System for Cross-domain Identity Management) provisioning after initial SSO loginfalse
org_idIntegerunique identifier for the user's organization177
last_ao_loginDatetimeLast login timestampnull
last_login_typeStringMechanism used for last login. Options are direct, direct_mfa (direct with MFA), saml, google, openid, or jwtnull
environment_restrictedBooleanIndicates whether environment restrictions are enabled for this userfalse
environmentsArray[Integer]List of environments which the user has permission to access[]
can_environment_restrictBooleanuser can add/modify environment restrictionsfalse
last_password_changeDatetimelast password change timestampnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; The ID of the User to deactivate or activate

\n","type":"text/plain"},"type":"any","value":"{{user_id}}","key":"id"}]}},"response":[{"id":"8ec6404f-9564-4641-9795-6aefac016e9e","name":"Deactivate User","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"is_active\": \"false\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain]/api/v1/core/user/:id/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","user",":id",""],"variable":[{"key":"id","value":"15050"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 15050,\n \"username\": \"user4@example.com\",\n \"email\": \"user4@example.com\",\n \"first_name\": \"Alex\",\n \"last_name\": \"Johnson\",\n \"phone\": \"null\",\n \"title\": \"null\",\n \"is_active\": false,\n \"locked\": false,\n \"locked_at\": null,\n \"override_enable_direct_login\": false,\n \"groups\": [\n 1392,\n 1394\n ],\n \"created\": \"2023-08-07T15:57:21.503302Z\",\n \"modified\": \"2023-08-07T18:17:50.678319Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": false,\n \"jit_provisioned\": false,\n \"scim_provisioned\": false,\n \"org_id\": 177,\n \"last_ao_login\": null,\n \"last_login_type\": null,\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"last_password_change\": null\n}"},{"id":"00376c80-2a83-42da-928a-c15b7a5719c6","name":"Reactivate User","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"is_active\": \"true\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain]/api/v1/core/user/:id/","protocol":"https","host":["[your_subdomain]"],"path":["api","v1","core","user",":id",""],"variable":[{"key":"id","value":"15050"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 15050,\n \"username\": \"user4@example.com\",\n \"email\": \"user4@example.com\",\n \"first_name\": \"Alex\",\n \"last_name\": \"Johnson\",\n \"phone\": \"null\",\n \"title\": \"null\",\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"override_enable_direct_login\": false,\n \"groups\": [\n 1392,\n 1394\n ],\n \"created\": \"2023-08-07T15:57:21.503302Z\",\n \"modified\": \"2023-08-07T18:17:50.678319Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": false,\n \"jit_provisioned\": false,\n \"scim_provisioned\": false,\n \"org_id\": 177,\n \"last_ao_login\": null,\n \"last_login_type\": null,\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"last_password_change\": null\n}"}],"_postman_id":"d5ba17c1-19c4-4feb-a195-9295e0593b26"},{"name":"Add User","id":"f9e4ed81-655a-41b5-b1e4-03bbb3a7322c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"username\": \"{{username}}\",\n \"email\": \"{{email}}\",\n \"first_name\": \"{{first_name}}\",\n \"last_name\": \"{{last_name}}\",\n \"phone\": \"{{phone}}\",\n \"title\": \"{{title}}\",\n \"is_active\": {{is_active}},\n \"override_enable_direct_login\": {{override_enable_direct_login}},\n \"groups\": [{{group_ids}}],\n \"environment_restricted\": {{environment_restricted}},\n \"environments\": [{{environment_ids}}]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/user/","description":"

Creates a new user.

\n

Returns the details of the user created, including the generated id.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Data TypeRequiredDescriptionExample
usernameStringYesUsername for the new user\"user5@example.com\"
emailStringYesEmail address for the new user\"user5@example.com\"
first_nameStringNoFirst name of the user\"Sarah\"
last_nameStringNoLast name of the user\"Wilson\"
phoneStringNoPhone number for the user\"+1-555-0123\"
titleStringNoJob title of the user\"Manager\"
is_activeBooleanNoEnable/Disable usertrue
groupsArray[Integer]NoList of IDs for roles (groups) to which the user should be added. Roles are the RBAC assigned permissions. See GET RBAC API endpoint (GET /core/group).[1392, 1394]
environment_restrictedBooleanNoIndicates whether environment restrictions are enabled for this userfalse
environmentsArray[Integer]NoList of environment IDs to which the user should have access. To get a list of environment IDs, GET LIST TAGS (GET /api/v1/core/tag/?type=environment)[128781, 128777]
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerunique identifier for the user15050
usernameStringusername\"user4@example.com\"
emailStringemail address\"user4@example.com\"
first_nameStringfirst name\"Alex\"
last_nameStringlast name\"Johnson\"
phoneStringphone number\"null\"
titleStringjob title\"null\"
is_activeBooleanEnable/Disable usertrue
lockedBooleanAccount login disabled, either due to manual action or repeated failed login attemptsfalse
locked_atDatetimeDate/time account was locked. null if not applicablenull
override_enable_direct_loginBooleanWhen enabled, break glass access will allow user to login with username and password bypassing default SSO login methodfalse
groupsArray[Integer]IDs for roles of which the user is a part[1392, 1394]
createdDatetimecreation timestamp\"2023-08-07T15:57:21.503302Z\"
modifiedDatetimemodification timestamp\"2023-08-07T15:57:21.503322Z\"
external_idStringReserved for future usenull
timezoneStringThree letter time zone designation. Default = \"UTC\"\"UTC\"
mfa_enabledStringType of multi-factor authentication used. Can be disabled, sms, totp\"disabled\"
phone_verifiedBooleanUser has verified phone number for SMS (text message) MFAfalse
is_mfa_verifiedBooleanUser has set up MFA - if MFA mode is SMS, requires also phone_verifiedfalse
sso_enabledBooleanUser uses SSO to loginfalse
jit_provisionedBooleanAccount was created via just-in-time provisioning after initial SSO loginfalse
scim_provisionedBooleanAccount was created via SCIM (System for Cross-domain Identity Management) provisioning after initial SSO loginfalse
org_idIntegerunique identifier for the user's organization177
last_ao_loginDatetimeLast login timestampnull
last_login_typeStringMechanism used for last login. Options are direct, direct_mfa (direct with MFA), saml, google, openid, or jwtnull
environment_restrictedBooleanIndicates whether environment restrictions are enabled for this userfalse
environmentsArray[Integer]List of environments which the user has permission to access[]
can_environment_restrictBooleanuser can add/modify environment restrictionsfalse
last_password_changeDatetimelast password change timestampnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"a15a791f-5065-422a-9fd6-6c5affd0eac2","name":"Add User","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"username\": \"username@example.com\",\n \"email\": \"username@example.com\",\n \"first_name\": \"user\",\n \"last_name\": \"name\",\n \"phone\": \"phonenumber\",\n \"title\": \"title\",\n \"is_active\": \"true\",\n \"locked\": \"false\",\n \"override_enable_direct_login\": \"false\",\n \"groups\": [\n \"1234\"\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain]/api/v1/core/user/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 15050,\n \"username\": \"user4@example.com\",\n \"email\": \"user4@example.com\",\n \"first_name\": \"Alex\",\n \"last_name\": \"Johnson\",\n \"phone\": \"null\",\n \"title\": \"null\",\n \"is_active\": true,\n \"locked\": false,\n \"locked_at\": null,\n \"groups\": [\n 1392,\n 1394\n ],\n \"created\": \"2023-08-07T15:57:21.503302Z\",\n \"modified\": \"2023-08-07T15:57:21.503322Z\",\n \"external_id\": null,\n \"timezone\": \"UTC\",\n \"mfa_enabled\": \"disabled\",\n \"phone_verified\": false,\n \"is_mfa_verified\": false,\n \"sso_enabled\": false,\n \"jit_provisioned\": false,\n \"scim_provisioned\": false,\n \"org_id\": 177,\n \"last_ao_login\": null,\n \"last_login_type\": null,\n \"environment_restricted\": false,\n \"environments\": [],\n \"can_environment_restrict\": false,\n \"last_password_change\": null\n}"}],"_postman_id":"f9e4ed81-655a-41b5-b1e4-03bbb3a7322c"},{"name":"Enable breakglass access for emergencies","id":"febf7961-30f8-4b99-9e0a-964d1a2d2174","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/user/:user_id/enable_breakglass","description":"

Use this endpoint to enable breakglass access for emergency scenarios, so that authorized users can bypass standard SSO restrictions during critical incidents. This can only be called by an administrator, and will return a successful status of 204.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
Status CodeIntegerHTTP status code indicating success204
BodyEmptyNo response body for successful requests(empty)
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",":user_id","enable_breakglass"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; The ID of the User to enable breakglass access for

\n","type":"text/plain"},"type":"any","value":"{{user_id}}","key":"user_id"}]}},"response":[],"_postman_id":"febf7961-30f8-4b99-9e0a-964d1a2d2174"},{"name":"Disable breakglass access for emergencies","id":"66d88ded-e04c-46f6-8f29-f5c0dce44f70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/user/:user_id/disable_breakglass","description":"

Use this endpoint to disable breakglass access for emergency scenarios, so that authorized users can bypass standard SSO restrictions during critical incidents. This can only be called by an administrator, and will return a successful status of 204.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
Status CodeIntegerHTTP status code indicating success204
BodyEmptyNo response body for successful requests(empty)
\n
","urlObject":{"protocol":"https","path":["api","v1","core","user",":user_id","disable_breakglass"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; The ID of the User to disable breakglass access for

\n","type":"text/plain"},"type":"any","value":"{{user_id}}","key":"user_id"}]}},"response":[],"_postman_id":"66d88ded-e04c-46f6-8f29-f5c0dce44f70"}],"id":"ebdf5a5e-1b3d-4606-a779-5e043b822ef4","_postman_id":"ebdf5a5e-1b3d-4606-a779-5e043b822ef4","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Identity","item":[{"name":"Core API (Legacy)","item":[{"name":"List unified identities","event":[{"listen":"test","script":{"exec":["pm.test(\"Status code is 200\", function () {"," pm.response.to.have.status(200);","});","pm.test(\"Response Policy ID is correct\", function () {"," var jsonData = pm.response.json();"," pm.expect(jsonData.id).to.eql(parseInt(pm.variables.get(\"policy_id\")));","});"],"type":"text/javascript","packages":{},"requests":{},"id":"d61cfa5e-07a4-49f6-933d-a13f81d07bb6"}}],"id":"5a52042d-ded5-4a8e-855c-397e41399a76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/unifiedidentity/annotated_list/","description":"

Returns a list of all unified identities.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique internal identifier for the unified identity180452
createdString (ISO 8601)Timestamp when the identity was created2022-11-29T05:56:26.372253Z
modifiedString (ISO 8601)Timestamp when the identity was last modified2022-11-29T05:56:26.372264Z
external_idString or nullExternal identifier associated with the identitynull
identity_idUUIDUnique identity ID for external reference8590914a-a00a-4d0a-a9f4-626803eb9c1e
identity_statusStringStatus of the identityactive
identity_signatureStringSignature representing the identity, often an emailuser@example.com
nameStringDisplay name of the identityJohn Doe
name_akasArray[String]Alternative names or aliases[]
emailStringPrimary email addressuser@example.com
primary_rbac_element_namesArray[String]List of RBAC (role-based access control) roles[Member]
user_controlledBooleanWhether the user directly controls the identityfalse
idp_controlledBooleanWhether the identity is controlled by an Identity Providerfalse
num_users_linkedIntegerNumber of user accounts linked to this identity4
num_users_activeIntegerNumber of active users linked1
num_users_highest_adminIntegerCount of users with the highest level of admin access0
num_users_highest_elevatedIntegerCount of users with elevated privileges0
num_users_highest_standardIntegerCount of users with standard access4
num_users_inactiveIntegerNumber of linked but inactive user accounts0
num_users_disabledIntegerNumber of disabled user accounts0
num_users_deprovisionedIntegerNumber of deprovisioned (removed) accounts0
num_users_unknownIntegerNumber of users with unknown status3
any_elevatedBooleanIndicates if any linked users have elevated permissionsfalse
any_adminBooleanIndicates if any linked users have admin accessfalse
user_labelString or nullOptional label associated with the usernull
notesString or nullOptional notes related to the identitynull
tagsArray[String]User-defined tags[]
last_loginString (ISO 8601)Last recorded login timestamp2025-03-12T16:00:47Z
last_login_msu_idStringComposite ID for the last login (service type, ID, user ID)zoom:10861:abc123def456
services_linkedArray[Integer]IDs of the services linked to this identity[10861, 25811, 59855, 59856]
service_typesArray[String]Types of services linked[lucid, zoom]
service_namesArray[String]Names of linked services[Service A, Service B, Service C, Service D]
permission_levelStringHighest permission level among linked usersstandard
last_login_ms_typeStringService type of the most recent loginzoom
last_login_ms_idIntegerService ID of the most recent login10861
last_login_user_idStringUser ID used during the last loginabc123def456
tagsArray[Integer]IDs of the tags associated to this identity[123, 456]
\n
","urlObject":{"protocol":"https","path":["api","v1","core","unifiedidentity","annotated_list",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of records to return per page.

\n","type":"text/plain"},"key":"limit","value":"25"},{"disabled":true,"description":{"content":"

Integer; Number of records to skip before starting to return results.

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

Array[String]; Filters by identity status (e.g., active, inactive, etc.).

\n","type":"text/plain"},"key":"identity_status__in","value":"[\"active\", \"inactive\"]"},{"disabled":true,"description":{"content":"

ISO 8601 DateTime; Filters for users whose last login is on or after the specified time.

\n","type":"text/plain"},"key":"last_login__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

ISO 8601 DateTime; Filters for users whose last login is on or before the specified time.

\n","type":"text/plain"},"key":"last_login__lte","value":"2024-09-30T23:59:59Z"},{"disabled":true,"description":{"content":"

Array[String]; Filters by one or more user permission levels.

\n","type":"text/plain"},"key":"permission_level__in","value":"[\"admin\", \"elevated\", \"standard\"]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filters results by a list of linked service IDs.

\n","type":"text/plain"},"key":"services_linked__in","value":"[10861, 25811, 59855]"},{"disabled":true,"description":{"content":"

String; Performs a keyword-based search across user-relevant fields (linked username).

\n","type":"text/plain"},"key":"search","value":"John"},{"disabled":true,"description":{"content":"

Array[String]; Filters results by service type names.

\n","type":"text/plain"},"key":"service_types__in","value":"[\"m365\", \"gws\", \"slack\", \"zoom\"]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filters results by a list of tag IDs.

\n","type":"text/plain"},"key":"tags__in","value":"[100, 200, 300]"}],"variable":[]}},"response":[{"id":"72c09bbd-e924-4997-b2a8-342bf97472cd","name":"List Unified Identities","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"AppOmni API Token","type":"text","disabled":true}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/unifiedidentity/annotated_list/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","unifiedidentity","annotated_list",""],"query":[{"key":"limit","value":"limit=25","description":"Integer; Maximum number of records to return per page.","disabled":true},{"key":"offset","value":"offset=25","description":"Integer; Number of records to skip before starting to return results.","disabled":true},{"key":"identity_status__in","value":"identity_status__in=[%22active%22]","description":"Array[String]; Filters by identity status (e.g., active, inactive, etc.).","disabled":true},{"key":"last_login__gte","value":"last_login__gte=2025-03-04T08:00:00.000Z","description":"ISO 8601 DateTime; Filters for users whose last login is on or after the specified time.","disabled":true},{"key":"last_login__lte","value":"last_login__lte=2025-03-10T07:00:59.999Z","description":"ISO 8601 DateTime; Filters for users whose last login is on or before the specified time.","disabled":true},{"key":"permission_level__in","value":"permission_level__in=[%22admin%22,%22elevated%22]","description":"Array[String]; Filters by one or more user permission levels. ","disabled":true},{"key":"services_linked__in","value":"services_linked__in=[58956]","description":"Array[Integer]; Filters results by a list of linked service IDs.","disabled":true},{"key":"search","value":"search=John","description":"String; Performs a keyword-based search across user-relevant fields (linked username).","disabled":true},{"key":"service_types__in","value":"service_types__in=[%22lucid%22]","description":"Array[String]; Filters results by service type names.","disabled":true},{"key":"tags__in","value":"tags__in=[234390]","description":"Array[Integer]; Filters results by a list of tag IDs.","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"count\": -1,\n \"next\": \"https://coretest.int.appomni.com/api/v1/core/unifiedidentity/?limit=100&offset=100\",\n \"previous\": null,\n \"results\": [\n {\n \"id\": 143568, // This is the internal ID of the unified identities, it can be used in the details endpoint \n \"identity_id\": \"8590914a-a00a-4d0a-a9f4-626803eb9c1e\", // This is an external reference ID for the identity\n \"services_linked\": [ // These are IDs of monitored services that has a linked MSU\n 10861,\n 25811,\n 59855,\n 59856\n ],\n \"service_types\": [ // These are unique names of monitored service types that have a linked MSU\n \"lucid\",\n \"zoom\"\n ],\n \"service_names\": [ // These are names of monitored services that have a linked MSU\n \"Lucid - 098453\",\n \"lucid-vj\",\n \"lucid-vj-2\",\n \"Zoom Monitored Service 1\"\n ]\n // ... other fields omitted\n }\n ]\n}"}],"_postman_id":"5a52042d-ded5-4a8e-855c-397e41399a76"},{"name":"Unified identity details","event":[{"listen":"test","script":{"exec":["pm.test(\"Status code is 200\", function () {"," pm.response.to.have.status(200);","});","pm.test(\"Response Policy ID is correct\", function () {"," var jsonData = pm.response.json();"," pm.expect(jsonData.id).to.eql(parseInt(pm.variables.get(\"policy_id\")));","});"],"type":"text/javascript","packages":{},"id":"31cd043f-71d0-440d-b115-70ca669076ec"}}],"id":"68c52303-bc79-4436-8d1e-d10a70dd48e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/unifiedidentity/{{identity_id}}/","description":"

Returns details for a specific unified identity. Use the id from the List Unified Identities endpoint response above.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique internal identifier for the unified identity180452
createdString (ISO 8601)Timestamp when the identity was created2022-11-29T05:56:26.372253Z
modifiedString (ISO 8601)Timestamp when the identity was last modified2022-11-29T05:56:26.372264Z
external_idString or nullExternal identifier associated with the identitynull
identity_idUUIDUnique identity ID for external reference8590914a-a00a-4d0a-a9f4-626803eb9c1e
identity_statusStringStatus of the identityactive
identity_signatureStringSignature representing the identity, often an emailuser@example.com
nameStringDisplay name of the identityJohn Doe
name_akasArray[String]Alternative names or aliases[]
emailStringPrimary email addressuser@example.com
primary_rbac_element_namesArray[String]List of RBAC (role-based access control) roles[Member]
user_controlledBooleanWhether the user directly controls the identityfalse
idp_controlledBooleanWhether the identity is controlled by an Identity Providerfalse
num_users_linkedIntegerNumber of user accounts linked to this identity4
num_users_activeIntegerNumber of active users linked1
num_users_highest_adminIntegerCount of users with the highest level of admin access0
num_users_highest_elevatedIntegerCount of users with elevated privileges0
num_users_highest_standardIntegerCount of users with standard access4
num_users_inactiveIntegerNumber of linked but inactive user accounts0
num_users_disabledIntegerNumber of disabled user accounts0
num_users_deprovisionedIntegerNumber of deprovisioned (removed) accounts0
num_users_unknownIntegerNumber of users with unknown status3
any_elevatedBooleanIndicates if any linked users have elevated permissionsfalse
any_adminBooleanIndicates if any linked users have admin accessfalse
user_labelString or nullOptional label associated with the usernull
notesString or nullOptional notes related to the identitynull
tagsArray[String]User-defined tags[]
last_loginString (ISO 8601)Last recorded login timestamp2025-03-12T16:00:47Z
last_login_msu_idStringComposite ID for the last login (service type, ID, user ID)zoom:10861:abc123def456
services_linkedArray[Integer]IDs of the services linked to this identity[10861, 25811, 59855, 59856]
service_typesArray[String]Types of services linked[lucid, zoom]
service_namesArray[String]Names of linked services[Service A, Service B, Service C, Service D]
permission_levelStringHighest permission level among linked usersstandard
last_login_ms_typeStringService type of the most recent loginzoom
last_login_ms_idIntegerService ID of the most recent login10861
last_login_user_idStringUser ID used during the last loginabc123def456
\n
","urlObject":{"protocol":"https","path":["api","v1","core","unifiedidentity","{{identity_id}}",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer;
Maximum number of records to return per page.

\n","type":"text/plain"},"key":"limit","value":"25"},{"disabled":true,"description":{"content":"

Integer; Number of records to skip before starting to return results.

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

Array[String]; Filters by identity status (e.g., active, inactive, etc.).

\n","type":"text/plain"},"key":"identity_status__in","value":"[\"active\", \"inactive\"]"},{"disabled":true,"description":{"content":"

ISO 8601 DateTime; Filters for users whose last login is on or after the specified time.

\n","type":"text/plain"},"key":"last_login__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

ISO 8601 DateTime; Filters for users whose last login is on or before the specified time.

\n","type":"text/plain"},"key":"last_login__lte","value":"2024-09-30T23:59:59Z"},{"disabled":true,"description":{"content":"

Array[String]; Filters by one or more user permission levels.

\n","type":"text/plain"},"key":"permission_level__in","value":"[\"admin\", \"elevated\", \"standard\"]"},{"disabled":true,"description":{"content":"

String; Performs a keyword-based search across user-relevant fields (linked username)

\n","type":"text/plain"},"key":"search","value":"John"},{"disabled":true,"description":{"content":"

Array[Integer]; Filters results by a list of linked service IDs.

\n","type":"text/plain"},"key":"services_linked__in","value":"[10861, 25811, 59855]"},{"disabled":true,"description":{"content":"

Array[String]; Filters results by service type names.

\n","type":"text/plain"},"key":"service_types__in","value":"[\"m365\", \"gws\", \"slack\", \"zoom\"]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filters results by a list of tag IDs.

\n","type":"text/plain"},"key":"tags__in","value":"[100, 200, 300]"}],"variable":[{"description":{"content":"

Integer; The ID of the unified identity to get details for

\n","type":"text/plain"},"type":"any","value":"{{identity_id}}","key":"identity_id"}]}},"response":[{"id":"56e80354-0bc2-4f33-a727-a5d40889e6a2","name":"Get Identity Details by UUID","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/unifiedidentity/:identity_id","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","unifiedidentity",":identity_id"],"variable":[{"key":"identity_id","value":"f9eaf6ad-bf00-446f-a370-ad3515e20aae","description":"Identity ID or UUID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 17 Jun 2022 17:13:52 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"8/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Strict-Transport-Security","value":"max-age=15724800; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"id\": 13211,\n \"created\": \"2021-10-22T01:34:03.069775Z\",\n \"modified\": \"2021-10-22T01:34:03.069782Z\",\n \"external_id\": null,\n \"identity_id\": \"f9eaf6ad-bf00-446f-a370-ad3515e20aae\",\n \"identity_status\": \"active\",\n \"identity_signature\": \"se@appomni.com\",\n \"name\": \"Sales One Prod Authenticated\",\n \"name_akas\": [\n \"Sales One Dev Authenticated\",\n \"AppOmni SE's\",\n \"Platform 1\",\n \"se+it\",\n \"Rogue 2\",\n \"SE UAT\",\n \"SE Demo\",\n \"Solutions Engineering\",\n \"se+unsanctioneduser\",\n \"se+malicioususer\",\n \"se+leadership\",\n \"Rogue One\",\n \"Demo Prod\",\n \"Jasper Chik\",\n \"Core 1\",\n \"Demo Dev\",\n \"Sales One\",\n \"Rogue1\",\n \"se+support\",\n \"John Smith\",\n \"Sales one\",\n \"se+PMM\",\n \"Core2\"\n ],\n \"email\": \"se+prod-sales1-unauthenticated@appomni.com\",\n \"primary_rbac_element_names\": [\n \"Member\",\n \"System Administrator\",\n \"Custom: Sales Profile\",\n \"Super Administrator\"\n ],\n \"user_controlled\": false,\n \"idp_controlled\": false,\n \"num_users_linked\": 25,\n \"num_users_active\": 25,\n \"num_users_inactive\": 0,\n \"any_elevated\": true,\n \"any_admin\": true,\n \"services_linked\": [\n 7543,\n 7717,\n 7720,\n 11169,\n 11264,\n 12515\n ],\n \"user_label\": null,\n \"notes\": null,\n \"tags\": [],\n \"service_types\": [\n \"jira\",\n \"okta\",\n \"sfdc\",\n \"zoom\"\n ],\n \"service_names\": [\n \"Zoom - Prod\",\n \"SFDC - Prod\",\n \"SFDC - Dev (staging)\",\n \"Okta - Prod\",\n \"SFDC - UAT\",\n \"Jira - Prod\"\n ]\n}"}],"_postman_id":"68c52303-bc79-4436-8d1e-d10a70dd48e7"},{"name":"List monitored service users linked to a unified identity","event":[{"listen":"test","script":{"exec":["pm.test(\"Status code is 200\", function () {"," pm.response.to.have.status(200);","});","pm.test(\"Response Policy ID is correct\", function () {"," var jsonData = pm.response.json();"," pm.expect(jsonData.id).to.eql(parseInt(pm.variables.get(\"policy_id\")));","});"],"type":"text/javascript","packages":{},"id":"7c02e779-84d6-4734-a71b-42d8816f53d4"}}],"id":"fada09dd-e6c6-415e-92d9-901b0422bc1a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/unifiedidentity/{{identity_id}}/users","description":"

Returns a list of monitored service users linked to a specific unified identity.

\n

identity_id may be used instead of id in this endpoint.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
countIntegerTotal number of user entries linked to the identity4
nextString or nullURL to the next page of results (if paginated)null
previousString or nullURL to the previous page of results (if paginated)null
resultsArray[Object]List of user entries associated with the identity[...]
\n

Linked Monitored Service User Schema

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique ID for the monitored service user identity mapping442
identity_idUUIDUnique ID for the monitored service userabc123def456
unified_identity_idIntegerAssociated unified identity ID180452
service_org_idIntegerService organization ID this user belongs to10861
service_typeStringType of service (e.g., zoom, lucid)zoom
service_type_slugStringSlug version of the service typezoom
service_org_nameStringHuman-readable name of the service organizationService Name 1
user_idStringService-specific user IDabc123def456
activeBooleanWhether the user account is marked as activetrue
user_statusStringStatus of the useractive
usernameString or nullOptional username for the useruser@example.com
emailStringEmail address of the useruser@example.com
nameStringFull name of the userJohn Doe
is_internal_userBooleanWhether this user is an internal usertrue
last_loginString or nullLast login time in ISO 8601 format, or null if never logged in2025-03-12T16:00:47Z
has_elevated_permsBooleanWhether the user has elevated permissionsfalse
has_admin_permsBooleanWhether the user has admin permissionsfalse
created_at_dateString (ISO 8601)When the user identity record was created2023-05-12T17:06:15Z
user_typeString or nullType of user (e.g., Basic, Licensed) or nullBasic
primary_rbac_element_idString or nullID of the primary RBAC element assigned2
primary_rbac_element_nameString or nullName of the primary RBAC elementMember
addl_primary_rbac_element_idsArray[String]Additional primary RBAC element IDs[]
addl_primary_rbac_element_namesArray[String] or nullAdditional primary RBAC element names[]
permission_levelStringEffective permission level for this userstandard
\n
","urlObject":{"protocol":"https","path":["api","v1","core","unifiedidentity","{{identity_id}}","users"],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of records to return per page.

\n","type":"text/plain"},"key":"limit","value":"25"},{"disabled":true,"description":{"content":"

Integer; Number of records to skip before starting to return results.

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

String; Filter results by user status. Accepts a JSON-encoded array of status strings.

\n","type":"text/plain"},"key":"user_status__in","value":"[\"active\", \"inactive\", \"disabled\"]"},{"disabled":true,"description":{"content":"

Array[String]; Filter results by service type. Accepts a JSON-encoded array of strings.

\n","type":"text/plain"},"key":"service_type__in","value":"[%22lucid%22]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter results by organization IDs. Accepts a JSON-encoded array of integers.

\n","type":"text/plain"},"key":"service_org_id__in","value":"[10861, 25811, 59855]"},{"disabled":true,"description":{"content":"

Array[String]; Filter results by user permission levels. Accepts a JSON-encoded array of strings.

\n","type":"text/plain"},"key":"permission_level__in","value":"[\"admin\", \"elevated\", \"standard\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filters users whose last login is greater than or equal to the specified timestamp.

\n","type":"text/plain"},"key":"last_login__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filters users whose last login is less than or equal to the specified timestamp.

\n","type":"text/plain"},"key":"last_login__lte","value":"2024-09-30T23:59:59Z"}],"variable":[{"description":{"content":"

Integer; The ID of the unified identity to get linked users for

\n","type":"text/plain"},"type":"any","value":"{{identity_id}}","key":"identity_id"}]}},"response":[{"id":"ca44ccb0-630d-451e-ae09-9f157592960e","name":"List Monitored Service Users Linked to a Unified Identity","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/unifiedidentity/{id}/users","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","unifiedidentity","{id}","users"],"query":[{"key":"identity_id","value":"","description":"Unified Identity UUID","disabled":true},{"key":"service_org__in","value":"","description":"Filter Policy Issues to specified Monitored Service IDs","disabled":true},{"key":"service_org__type__in","value":"","description":"Filter Policy Issues to specified Monitored Service types","disabled":true},{"key":"service_org__tags__in","value":"","description":"Filter Policy Issues to Monitored Services with specified tags","disabled":true},{"key":"limit","value":"","description":"Defaults to 50, max 500","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"count\": 4,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"id\": 2906, // the AppOmni identifier for this monitored service user\n \"unified_identity_id\": 180452, //the unified identity this MSU is linked to\n \"service_org_id\": 25811, // the ID of the monitored service this MSU is from\n \"service_type\": \"lucid\", // the service type of the monitored service, this can be `custom` for customer monitored services\n \"service_type_slug\": \"lucid\", // the unique slug of the monitored service this MSU is from used for lookup\n \"service_org_name\": \"Lucid - 098453\", // name of the monitored service\n \"user_id\": \"lucid-177067822\", // id for the user within the monitored service itself\n },\n // ...other 3 results omitted"}],"_postman_id":"fada09dd-e6c6-415e-92d9-901b0422bc1a"},{"name":"Get monitored service user details","id":"eb1f28c9-ec48-432f-84de-33d8cf44eed4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/lucid/svcexp/{{service_org_id}}/user/{{user_id}}","description":"

Returns the details of a specified monitored service user.

\n

Note: Monitored service users are users detected by scans of a specific monitored service. These users should not be confused with AppOmni users, which are users who can login to the AppOmni console.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique ID for the monitored service user identity mapping442
identity_idUUIDUnique ID for the monitored service userabc123def456
unified_identity_idIntegerAssociated unified identity ID180452
service_org_idIntegerService organization ID this user belongs to10861
service_typeStringType of service (e.g., zoom, lucid)zoom
service_type_slugStringSlug version of the service typezoom
service_org_nameStringHuman-readable name of the service organizationService Name 1
user_idStringService-specific user IDabc123def456
activeBooleanWhether the user account is marked as activetrue
user_statusStringStatus of the useractive
usernameString or nullOptional username for the useruser@example.com
emailStringEmail address of the useruser@example.com
nameStringFull name of the userJohn Doe
is_internal_userBooleanWhether this user is an internal usertrue
last_loginString or nullLast login time in ISO 8601 format, or null if never logged in2025-03-12T16:00:47Z
has_elevated_permsBooleanWhether the user has elevated permissionsfalse
has_admin_permsBooleanWhether the user has admin permissionsfalse
created_at_dateString (ISO 8601)When the user identity record was created2023-05-12T17:06:15Z
user_typeString or nullType of user (e.g., Basic, Licensed) or nullBasic
primary_rbac_element_idString or nullID of the primary RBAC element assigned2
primary_rbac_element_nameString or nullName of the primary RBAC elementMember
addl_primary_rbac_element_idsArray[String]Additional primary RBAC element IDs[]
addl_primary_rbac_element_namesArray[String] or nullAdditional primary RBAC element names[]
permission_levelStringEffective permission level for this userstandard
\n
","urlObject":{"protocol":"https","path":["api","v1","lucid","svcexp","{{service_org_id}}","user","{{user_id}}"],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of records to return per page.

\n","type":"text/plain"},"key":"limit","value":"25"},{"disabled":true,"description":{"content":"

Integer; Number of records to skip before starting to return results.

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

String; Filter results by user status. Accepts a JSON-encoded array of status strings.

\n","type":"text/plain"},"key":"user_status__in","value":"[\"active\", \"inactive\", \"disabled\"]"},{"disabled":true,"description":{"content":"

Array[String]; Filter results by service type. Accepts a JSON-encoded array of strings.

\n","type":"text/plain"},"key":"service_type__in","value":"[%22lucid%22]"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter results by organization IDs. Accepts a JSON-encoded array of integers.

\n","type":"text/plain"},"key":"service_org_id__in","value":"[10861, 25811, 59855]"},{"disabled":true,"description":{"content":"

Array[String]; Filter results by user permission levels. Accepts a JSON-encoded array of strings.

\n","type":"text/plain"},"key":"permission_level__in","value":"[\"admin\", \"elevated\", \"standard\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filters users whose last login is greater than or equal to the specified timestamp.

\n","type":"text/plain"},"key":"last_login__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filters users whose last login is less than or equal to the specified timestamp.

\n","type":"text/plain"},"key":"last_login__lte","value":"2024-09-30T23:59:59Z"}],"variable":[{"description":{"content":"

Integer; The ID of the service organization

\n","type":"text/plain"},"type":"any","value":"{{service_org_id}}","key":"service_org_id"},{"description":{"content":"

Integer; The ID of the monitored service user

\n","type":"text/plain"},"type":"any","value":"{{user_id}}","key":"user_id"}]}},"response":[{"id":"7afeb908-b31f-486f-82a9-6bc38d86067e","name":"Get Monitored Service User Details","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/lucid/svcexp/{service_org_id}/user/{id}"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"id\": 2906, // id of the monitored service user\n \"user_id\": \"lucid-177067822\", //id for user within the monitored service\n \"unified_identity\": 180452, // Unified identity this monitored service user is linked to\n\n // .... \n}"}],"_postman_id":"eb1f28c9-ec48-432f-84de-33d8cf44eed4"}],"id":"87edb18e-de95-4ba5-b592-70e7e8cd406c","_postman_id":"87edb18e-de95-4ba5-b592-70e7e8cd406c","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Unified Identity","item":[{"name":"List Unified Identities","id":"bd0df706-b662-4e03-a351-9c3589b3f737","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/identity/unifiedidentity/","description":"

Returns a paginated list of unified identities.

\n

Filter Parameters

\n

Specified as query string parameters:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ParameterTypeDescriptionExample
any_adminBooleanFilter identities that have at least one linked admin user.true
any_elevatedBooleanFilter identities that have at least one linked elevated user.true
created__gteString (ISO 8601)Filter identities created on or after the supplied timestamp.2024-01-01T00:00:00Z
created__lteString (ISO 8601)Filter identities created on or before the supplied timestamp.2024-12-31T23:59:59Z
emailStringFilter by primary email address.jane@example.com
idStringFilter by unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
last_login__gteString (ISO 8601)Filter identities whose last login is on or after the supplied timestamp.2024-09-01T00:00:00Z
last_login__lteString (ISO 8601)Filter identities whose last login is on or before the supplied timestamp.2024-09-30T23:59:59Z
limitIntegerMaximum number of records to return per page.25
modified__gteString (ISO 8601)Filter identities modified on or after the supplied timestamp.2024-07-01T00:00:00Z
modified__lteString (ISO 8601)Filter identities modified on or before the supplied timestamp.2024-07-31T23:59:59Z
nameStringFilter by display name.Jane Doe
offsetIntegerNumber of records to skip before returning results.0
orderingStringSort field list. Prefix a field with - for descending order.-last_login,name
permission_level__inArray[String]Filter by one or more permission levels. Supported values: admin, elevated, standard, not_applicable.[\"admin\",\"elevated\"]
searchStringFree-text search across indexed identity fields. Must be 3 to 256 characters.Jane
services_linked__inArray[Integer]Filter by one or more linked monitored service IDs.[101,202,303]
service_types__inArray[String]Filter by one or more linked monitored service type slugs.[\"github\",\"sfdc\"]
status__inArray[String]Filter by one or more identity statuses. Supported values: active, inactive, disabled, deprovisioned, unknown.[\"active\",\"inactive\"]
\n

Sort Fields

\n

Use these public field names in ordering:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldNotes
any_adminBoolean sort.
any_elevatedBoolean sort.
createdCreation timestamp.
emailPrimary email.
last_loginMost recent linked login.
modifiedLast modified timestamp.
namePromoted display name.
num_users_linkedCount of linked monitored service users.
permission_levelHighest permission level observed.
statusUnified identity status.
\n

Examples:

\n
    \n
  • ordering=name

    \n
  • \n
  • ordering=-last_login

    \n
  • \n
  • ordering=permission_level,-name

    \n
  • \n
\n

Response Fields

\n

Paged response wrapper:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
countIntegerTotal number of matching records.1
resultsArray[Object]List of unified identities for the current page.[...]
\n

Unified identity schema:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
idStringUnique unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
createdString (ISO 8601)Timestamp when the identity was created.2024-01-15T12:00:00Z
modifiedString (ISO 8601)Timestamp when the identity was last modified.2024-07-08T10:35:00Z
emailStringPrimary email address for the identity.jane@example.com
identity_signatureStringSignature used to associate the identity, often an email-derived value.jane@example.com
statusString or nullCurrent identity status.active
last_loginString (ISO 8601) or nullMost recent login across linked users.2024-07-08T10:30:00Z
nameStringCurrent promoted display name.Jane Doe
name_akasArray[String] or nullAlternate names observed for the identity.[\"Jane Doe\",\"Jane Ann Doe\"]
num_users_linkedIntegerNumber of linked users contributing to the identity.2
num_users_activeIntegerNumber of linked users with active status.2
num_users_inactiveIntegerNumber of linked users with inactive status.0
num_users_disabledIntegerNumber of linked users with disabled status.0
num_users_deprovisionedIntegerNumber of linked users with deprovisioned status.0
num_users_unknown_activityIntegerNumber of linked users with unknown activity status.0
num_users_highest_adminIntegerNumber of linked users whose highest permission level is admin.1
num_users_highest_elevatedIntegerNumber of linked users whose highest permission level is elevated.0
num_users_highest_standardIntegerNumber of linked users whose highest permission level is standard.1
any_adminBooleanWhether any linked user has admin privileges.true
any_elevatedBooleanWhether any linked user has elevated privileges.true
permission_levelStringHighest permission level observed across linked users.admin
primary_rbac_element_namesArray[String] or nullPrimary RBAC element names observed across linked users.[\"admins\"]
services_linkedArray[Integer] or nullIDs of monitored services linked to the identity.[101,202]
service_typesArray[String] or nullService type slugs linked to the identity.[\"github\",\"sfdc\"]
service_namesArray[String] or nullHuman-readable monitored service names linked to the identity.[\"GitHub\",\"Salesforce\"]
\n
","urlObject":{"protocol":"https","path":["api","v1","identity","unifiedidentity",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"key":"limit","value":"25"},{"disabled":true,"key":"offset","value":"0"},{"disabled":true,"key":"search","value":"test"},{"disabled":true,"key":"ordering","value":"name"},{"disabled":true,"key":"permission_level__in","value":"[\"admin\",\"elevated\"]"},{"disabled":true,"key":"services_linked__in","value":"[58886, 7887]"},{"disabled":true,"key":"service_types__in","value":"[\"sfdc\",\"okta\"]"}],"variable":[]}},"response":[{"id":"2e09f9f9-c079-409f-a4d1-22a6da9e393e","name":"List Unified Identities","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/identity/unifiedidentity/?limit=25&offset=0&ordering=name&permission_level__in=[\"admin\",\"elevated\"]&services_linked__in=[101, 102]&service_types__in=[\"github\",\"google_workspace\"]","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","identity","unifiedidentity",""],"query":[{"key":"limit","value":"25"},{"key":"offset","value":"0"},{"key":"search","value":"","disabled":true},{"key":"ordering","value":"name"},{"key":"permission_level__in","value":"[\"admin\",\"elevated\"]"},{"key":"services_linked__in","value":"[101, 102]"},{"key":"service_types__in","value":"[\"github\",\"google_workspace\"]"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n \"count\": 1,\n \"results\": [\n {\n \"any_admin\": true,\n \"any_elevated\": true,\n \"created\": \"2024-01-15T12:00:00Z\",\n \"email\": \"jane@example.com\",\n \"id\": \"4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f\",\n \"identity_signature\": \"jane@example.com\",\n \"status\": \"active\",\n \"last_login\": \"2024-07-08T10:30:00Z\",\n \"modified\": \"2024-07-08T10:35:00Z\",\n \"name\": \"Jane Doe\",\n \"name_akas\": [\n \"Jane Doe\",\n \"Jane Ann Doe\"\n ],\n \"num_users_active\": 2,\n \"num_users_deprovisioned\": 0,\n \"num_users_disabled\": 0,\n \"num_users_highest_admin\": 1,\n \"num_users_highest_elevated\": 0,\n \"num_users_highest_standard\": 1,\n \"num_users_inactive\": 0,\n \"num_users_linked\": 2,\n \"num_users_unknown_activity\": 0,\n \"permission_level\": \"admin\",\n \"primary_rbac_element_names\": [\n \"admins\"\n ],\n \"service_types\": [\n \"github\",\n \"google_workspace\"\n ],\n \"service_names\": [\n \"GitHub\",\n \"Google Workspace\"\n ],\n \"services_linked\": [\n 101,\n 202\n ]\n }\n ]\n}"}],"_postman_id":"bd0df706-b662-4e03-a351-9c3589b3f737"},{"name":"Get Unified Identity","id":"9e546317-5fc1-4078-b1d8-f8b6dec97147","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/identity/unifiedidentity/{{identity_id}}/","description":"

Returns details for the requested unified identity.

\n

Path Variables

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
VariableTypeDescriptionExample
uuidStringThe unique ID for the unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
\n

Response Fields

\n

Returns a unified identity:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
any_adminBooleanWhether any linked user has admin privileges.true
any_elevatedBooleanWhether any linked user has elevated privileges.true
createdString (ISO 8601)Timestamp when the identity was created.2024-01-15T12:00:00Z
emailStringPrimary email address for the identity.jane@example.com
idStringUnique unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
identity_signatureStringSignature used to associate the identity, often an email-derived value.jane@example.com
last_loginString (ISO 8601) or nullMost recent login across linked users.2024-07-08T10:30:00Z
modifiedString (ISO 8601)Timestamp when the identity was last modified.2024-07-08T10:35:00Z
nameStringCurrent promoted display name.Jane Doe
name_akasArray[String] or nullAlternate names observed for the identity.[\"Jane Doe\",\"Jane Ann Doe\"]
num_users_activeIntegerNumber of linked users with active status.2
num_users_deprovisionedIntegerNumber of linked users with deprovisioned status.0
num_users_disabledIntegerNumber of linked users with disabled status.0
num_users_highest_adminIntegerNumber of linked users whose highest permission level is admin.1
num_users_highest_elevatedIntegerNumber of linked users whose highest permission level is elevated.0
num_users_highest_standardIntegerNumber of linked users whose highest permission level is standard.1
num_users_inactiveIntegerNumber of linked users with inactive status.0
num_users_linkedIntegerNumber of linked users contributing to the identity.2
num_users_unknown_activityIntegerNumber of linked users with unknown activity status.0
permission_levelStringHighest permission level observed across linked users.admin
primary_rbac_element_namesArray[String] or nullPrimary RBAC element names observed across linked users.[\"admins\"]
service_namesArray[String] or nullHuman-readable monitored service names linked to the identity.[\"GitHub\",\"Google Workspace\"]
services_linkedArray[Integer] or nullIDs of monitored services linked to the identity.[101,202]
service_typesArray[String] or nullService types linked to the identity.[\"github\",\"google\"]
statusString or nullCurrent identity status.active
\n
","urlObject":{"protocol":"https","path":["api","v1","identity","unifiedidentity","{{identity_id}}",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"43557441-b04d-4328-8946-30c22993fd7d","name":"Get Unified Identity","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/identity/unifiedidentity/{{identity_id}}/"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n \"any_admin\": false,\n \"any_elevated\": false,\n \"created\": \"2024-01-15T12:00:00Z\",\n \"email\": \"jane@example.com\",\n \"id\": \"4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f\",\n \"identity_signature\": \"jane@example.com\",\n \"status\": \"active\",\n \"last_login\": \"2024-07-08T10:30:00Z\",\n \"modified\": \"2024-07-08T10:35:00Z\",\n \"name\": \"Jane Doe\",\n \"name_akas\": [\n \"Jane Doe\"\n ],\n \"num_users_active\": 1,\n \"num_users_deprovisioned\": 0,\n \"num_users_disabled\": 0,\n \"num_users_highest_admin\": 0,\n \"num_users_highest_elevated\": 0,\n \"num_users_highest_standard\": 1,\n \"num_users_inactive\": 0,\n \"num_users_linked\": 1,\n \"num_users_unknown_activity\": 0,\n \"permission_level\": \"standard\",\n \"primary_rbac_element_names\": [\n \"viewer\"\n ],\n \"service_types\": [\n \"github\"\n ],\n \"service_names\": [\n \"GitHub\"\n ],\n \"services_linked\": [\n 101\n ],\n}\n"}],"_postman_id":"9e546317-5fc1-4078-b1d8-f8b6dec97147"}],"id":"459be2d1-dbfd-47dc-8f82-06c2cad0b97c","_postman_id":"459be2d1-dbfd-47dc-8f82-06c2cad0b97c","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"User","item":[{"name":"List Service Users","id":"5668210a-32e0-4cde-94ef-a7f8a6b62bbb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/identity/user/","description":"

Returns a paginated list of service users.

\n

Filter Fields

\n

Specified as query string parameters.

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ParameterTypeDescriptionExample
idStringFilter by monitored service user record ID.0f55fd46-6f0e-48c0-a0a1-8a615c8d5f1a
identity_idStringFilter by associated unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
last_login__gteString (ISO 8601)Filter users whose last login is on or after the supplied timestamp.2024-09-01T00:00:00Z
last_login__lteString (ISO 8601)Filter users whose last login is on or before the supplied timestamp.2024-09-30T23:59:59Z
limitIntegerMaximum number of records to return per page.25
nameStringFilter by full name.Jane Doe
offsetIntegerNumber of records to skip before returning results.0
orderingStringSort field list. Prefix a field with - for descending order.username,-last_login
permission_level__inArray[String]Filter by one or more permission levels. Supported values: admin, elevated, standard, not_applicable.[\"admin\",\"elevated\"]
searchStringFree-text search across indexed user fields. Must be 3 to 256 characters.Jane
service_idIntegerFilter by monitored service ID.101
service_org_id__inArray[Integer]Filter by one or more monitored service IDs.[101,202,303]
service_org_nameStringFilter by monitored service name.GitHub
service_type__inArray[String]Filter by one or more monitored service type slugs.[\"github\",\"slack\"]
user_idStringFilter by service-native user ID.external-user-123
user_status__inArray[String]Filter by one or more user statuses. Supported values: active, inactive, disabled, deprovisioned, unknown.[\"active\",\"inactive\"]
usernameStringFilter by username.jane.doe
\n

Sort Fields

\n

Use these public field names in ordering:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldExample
identity_idordering=identity_id
last_loginordering=-last_login
nameordering=name
permission_levelordering=-permission_level
service_org_nameordering=service_org_name
service_typeordering=-service_type
user_statusordering=user_status
usernameordering=username
\n

Examples:

\n
    \n
  • ordering=username

    \n
  • \n
  • ordering=-last_login

    \n
  • \n
  • ordering=service_org_name,username

    \n
  • \n
\n

Response Fields

\n

Paged response wrapper:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
countIntegerTotal number of matching records.1
resultsArray[Object]List of user records for the current page.[...]
\n

Service user schema:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
activeBooleanWhether the record is marked active.true
created_at_dateString (ISO 8601)Timestamp when the user record was created.2024-01-15T12:00:00Z
emailString or nullEmail address for the monitored service user.jane@example.com
has_elevated_permsBooleanWhether the user has elevated permissions.false
has_admin_permsBoolean or nullWhether the user has admin permissions.false
idStringUnique monitored service user record ID.0f55fd46-6f0e-48c0-a0a1-8a615c8d5f1a
is_internal_userBooleanWhether the user is an internal user.false
last_loginString (ISO 8601) or nullMost recent login time for the user.2024-07-08T10:30:00Z
modified_at_dateString (ISO 8601) or nullTimestamp when the user record was last modified.2024-07-08T10:35:00Z
nameString or nullFull name for the monitored service user.Jane Doe
permission_levelStringEffective permission level.standard
primary_rbac_element_nameString or nullPrimary RBAC element name for the user.viewer
service_org_idIntegerMonitored service ID.101
service_org_nameStringHuman-readable monitored service name.GitHub
service_typeStringService type value.github
service_type_slugStringNormalized service type slug.github
unified_identity_idStringAssociated unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
user_idStringService-native user ID.external-user-123
user_statusStringCurrent user status.active
usernameStringUsername for the monitored service user.jane.doe
\n
","urlObject":{"protocol":"https","path":["api","v1","identity","user",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"key":"limit","value":"25"},{"disabled":true,"key":"offset","value":"0"},{"disabled":true,"key":"search","value":"test"},{"disabled":true,"key":"ordering","value":"name"},{"disabled":true,"key":"service_org_id__in","value":"[58886]"},{"disabled":true,"key":"user_status__in","value":"[\"active\",\"inactive\"]"},{"disabled":true,"key":"permission_level__in","value":"[\"admin\"]"},{"disabled":true,"key":"identity_id","value":"4d395724-3a6b-480a-be31-f9fdf9a08488"}],"variable":[]}},"response":[{"id":"3ed1aff3-b736-4c56-9725-f5317946b828","name":"List Service Users","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/identity/user/?limit=25&offset=0&ordering=-name&permission_level__in=[\"admin\",\"standard\"]&service_type__in=[\"sfdc\",\"github\"]","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","identity","user",""],"query":[{"key":"limit","value":"25"},{"key":"offset","value":"0"},{"key":"search","value":"","disabled":true},{"key":"ordering","value":"-name"},{"key":"permission_level__in","value":"[\"admin\",\"standard\"]"},{"key":"service_type__in","value":"[\"sfdc\",\"github\"]"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n \"count\": 1,\n \"results\": [\n {\n \"active\": true,\n \"created_at_date\": \"2024-01-15T12:00:00Z\",\n \"email\": \"jane@example.com\",\n \"has_admin_perms\": false,\n \"has_elevated_perms\": false,\n \"id\": \"0f55fd46-6f0e-48c0-a0a1-8a615c8d5f1a\",\n \"is_internal_user\": false,\n \"last_login\": \"2024-07-08T10:30:00Z\",\n \"modified_at_date\": \"2024-07-08T10:35:00Z\",\n \"name\": \"Jane Doe\",\n \"permission_level\": \"standard\",\n \"primary_rbac_element_name\": \"viewer\",\n \"service_org_id\": 101,\n \"service_org_name\": \"GitHub\",\n \"service_type\": \"github\",\n \"service_type_slug\": \"github\",\n \"unified_identity_id\": \"4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f\",\n \"user_id\": \"external-user-123\",\n \"user_status\": \"active\",\n \"username\": \"jane.doe\"\n }\n ]\n}\n"}],"_postman_id":"5668210a-32e0-4cde-94ef-a7f8a6b62bbb"},{"name":"Get Service User","id":"4c7411a1-f75b-486b-9ba3-68b0daffdf65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/identity/user/{{user_id}}","description":"

Returns details for a specific monitored service user.

\n

Path Variables

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
VariableTypeDescriptionExample
uuidStringThe unique ID for the service user.0f55fd46-6f0e-48c0-a0a1-8a615c8d5f1a
\n

\n

Response Fields

\n

Returns a Service User object.

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldTypeDescriptionExample
activeBooleanWhether the record is marked active.true
created_at_dateString (ISO 8601)Timestamp when the user record was created.2024-01-15T12:00:00Z
emailString or nullEmail address for the monitored service user.jane@example.com
has_elevated_permsBooleanWhether the user has elevated permissions.false
has_admin_permsBoolean or nullWhether the user has admin permissions.false
idStringUnique monitored service user record ID.0f55fd46-6f0e-48c0-a0a1-8a615c8d5f1a
is_internal_userBooleanWhether the user is an internal user.false
last_loginString (ISO 8601) or nullMost recent login time for the user.2024-07-08T10:30:00Z
modified_at_dateString (ISO 8601) or nullTimestamp when the user record was last modified.2024-07-08T10:35:00Z
nameString or nullFull name for the monitored service user.Jane Doe
permission_levelStringEffective permission level.standard
primary_rbac_element_nameString or nullPrimary RBAC element name for the user.viewer
service_org_idIntegerMonitored service ID.101
service_org_nameStringHuman-readable monitored service name.GitHub
service_typeStringService type value.github
service_type_slugStringNormalized service type slug.github
unified_identity_idStringAssociated unified identity ID.4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f
user_idStringService-native user ID.external-user-123
user_statusStringCurrent user status.active
usernameStringUsername for the monitored service user.jane.doe
\n
","urlObject":{"protocol":"https","path":["api","v1","identity","user","{{user_id}}"],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"key":"limit","value":"25"},{"disabled":true,"key":"offset","value":"0"},{"disabled":true,"key":"search","value":"test"},{"disabled":true,"key":"ordering","value":"name"},{"disabled":true,"key":"permission_level__in","value":"[\"admin\",\"elevated\"]"},{"disabled":true,"key":"services_linked__in","value":"[58886, 7887]"},{"disabled":true,"key":"service_types__in","value":"[\"sfdc\",\"okta\"]"}],"variable":[]}},"response":[{"id":"07b6e25d-b91a-4aaf-b9ce-c84b1b86a5a2","name":"Get Service User","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/identity/user/{{user_id}}/"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n \"active\": true,\n \"created_at_date\": \"2024-01-15T12:00:00Z\",\n \"email\": \"jane@example.com\",\n \"has_admin_perms\": false,\n \"has_elevated_perms\": false,\n \"id\": \"0f55fd46-6f0e-48c0-a0a1-8a615c8d5f1a\",\n \"is_internal_user\": false,\n \"last_login\": \"2024-07-08T10:30:00Z\",\n \"modified_at_date\": \"2024-07-08T10:35:00Z\",\n \"name\": \"Jane Doe\",\n \"permission_level\": \"standard\",\n \"primary_rbac_element_name\": \"viewer\",\n \"service_org_id\": 101,\n \"service_org_name\": \"GitHub\",\n \"service_type\": \"github\",\n \"service_type_slug\": \"github\",\n \"unified_identity_id\": \"4e5ab37b-7d39-4fa8-9f14-6f2e74d9cd1f\",\n \"user_id\": \"external-user-123\",\n \"user_status\": \"active\",\n \"username\": \"jane.doe\"\n}\n"}],"_postman_id":"4c7411a1-f75b-486b-9ba3-68b0daffdf65"}],"id":"c99f5a69-ebc5-446d-9e8d-f287be31625b","_postman_id":"c99f5a69-ebc5-446d-9e8d-f287be31625b","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}}],"id":"f4ff765d-9944-4cd1-8c38-352328213511","description":"

A Unified Identity represents a person and is composed of the different monitored service user accounts of that person, associated by email addresses.

\n

Monitored service users are users detected by scans of a specific monitored service.

\n","_postman_id":"f4ff765d-9944-4cd1-8c38-352328213511","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"SCIM User Management","item":[{"name":"Update users","id":"ee53a1e5-dabc-412c-9093-f66e887d704c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n \"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\"],\n \"userName\": \"{{username}}\",\n \"password\": \"{{password}}\",\n \"name\": {\n \"givenName\": \"{{first_name}}\",\n \"familyName\": \"{{last_name}}\"\n },\n \"externalId\": \"{{external_id}}\",\n \"locale\": \"en-US\",\n \"active\": true,\n \"emails\": [\n {\n \"value\": \"{{email}}\",\n \"primary\": true\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/scim/v2/Users/{{user_id}}","description":"

Updates all of the user fields for a user by user id.

\n

If the user ID is not known, you can run a GET Request such as {{url}}/scim/v2/Users

\n

This will return a list of users with their user information such as IDs, usernames, groups, etc, which you can use in the body of the PUT request to ensure you are not changing additional settings. For this reason PUT operations are considered a best SCIM practice for updates.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
schemasArray[String]YesSCIM schema identifiersArray of schema URIs
userNameStringYesThe username for the useruser@example.com
passwordStringNoThe password of the usermySecurePassword123
name.givenNameStringNoThe first name of the userJohn
name.familyNameStringNoThe last name of the userDoe
externalIdStringNoExternal identifier from SAML providerext123456
localeStringNoUser location/localeen-US
activeBooleanNoWhether the identity is activetrue
emailsArray[Object]NoList of user email objectsArray of email objects
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier generated by SCIM endpoint12345
schemasArray[String]SCIM schema identifiersArray of schema URIs
userNameStringThe username for the useruser@example.com
nameObjectUser name objectObject with givenName, familyName, formatted
displayNameStringDisplay name of the userJohn Doe
emailsArray[Object]List of user email objectsArray of email objects
activeBooleanWhether the identity is activetrue
groupsArray[Object]List of groups the user belongs toArray of group objects
externalIdStringExternal identifier from SAML providerext123456
metaObjectMetadata about the resourceObject with resourceType, created, lastModified, location
\n
","urlObject":{"protocol":"https","path":["scim","v2","Users","{{user_id}}"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ee53a1e5-dabc-412c-9093-f66e887d704c"},{"name":"All users","id":"3a2e6d87-d463-489e-bcdb-d612c65bf67b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/scim/v2/Users","description":"

Returns all users.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
schemasArray[String]SCIM schema identifiersArray of schema URIs
totalResultsIntegerTotal number of users1
itemsPerPageIntegerNumber of items per page50
startIndexIntegerStarting index for pagination1
ResourcesArray[Object]Array of user objectsArray of user objects
\n

User Object Schema

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier generated by SCIM endpoint891
externalIdString or nullExternal identifier from SAML providernull
schemasArray[String]SCIM schema identifiersArray of schema URIs
userNameStringThe username for the useruser@example.com
nameObjectUser's name objectObject with givenName, familyName, formatted
displayNameStringDisplay name of the userJohn Doe
emailsArray[Object]List of user email objectsArray of email objects
activeBooleanWhether the identity is activetrue
groupsArray[Object]List of groups the user belongs toArray of group objects
metaObjectMetadata about the resourceObject with resourceType, created, lastModified, location
\n
","urlObject":{"protocol":"https","path":["scim","v2","Users"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"88e19566-7571-4eec-a722-94c9a4369ae2","name":"List Users","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\n ],\n \"totalResults\": 1,\n \"itemsPerPage\": 50,\n \"startIndex\": 1,\n \"Resources\": [\n {\n \"id\": \"891\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"user@example.com\",\n \"name\": {\n \"givenName\": \"John\",\n \"familyName\": \"Doe\",\n \"formatted\": \"John Doe\"\n },\n \"displayName\": \"John Doe\",\n \"emails\": [\n {\n \"value\": \"user@example.com\",\n \"primary\": true\n }\n ],\n \"active\": true,\n \"groups\": [\n {\n \"value\": \"315\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Groups/315\",\n \"display\": \"Administrators\"\n }\n ],\n \"meta\": {\n \"resourceType\": \"User\",\n \"created\": \"2021-07-06T15:17:44.031973+00:00\",\n \"lastModified\": \"2025-04-08T21:00:45.291578+00:00\",\n \"location\": \"https://example.appomni.com/scim/v2/Users/891\"\n }\n }\n}\n"}],"_postman_id":"3a2e6d87-d463-489e-bcdb-d612c65bf67b"},{"name":"User","id":"64fb9103-56c5-467e-bed5-debd02a2c460","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/scim/v2/Users/{{user_id}}","description":"

Returns a specified user by ID.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier generated by SCIM endpoint891
externalIdString or nullExternal identifier from SAML providernull
schemasArray[String]SCIM schema identifiersArray of schema URIs
userNameStringThe username for the useruser@example.com
nameObjectUser's name objectObject with givenName, familyName, formatted
displayNameStringDisplay name of the userJohn Doe
emailsArray[Object]List of user email objectsArray of email objects
activeBooleanWhether the identity is activetrue
groupsArray[Object]List of groups the user belongs toArray of group objects
metaObjectMetadata about the resourceObject with resourceType, created, lastModified, location
\n
","urlObject":{"protocol":"https","path":["scim","v2","Users","{{user_id}}"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"cc12f344-8c7e-4806-88e6-c58e4809a9a8","name":"User","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"64fb9103-56c5-467e-bed5-debd02a2c460"},{"name":"User with filter","id":"bc2e90c4-863d-4de6-bc27-eb68b5361579","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/scim/v2/Users/?filter=userName+sw+\"{{username}}\"","description":"

Returns a specified user with filtered results.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
schemasArray[String]SCIM schema identifiersArray of schema URIs
totalResultsIntegerTotal number of matching users2
itemsPerPageIntegerNumber of items per page50
startIndexIntegerStarting index for pagination1
ResourcesArray[Object]Array of matching user objectsArray of user objects
\n

User Object Schema

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier generated by SCIM endpoint891
externalIdString or nullExternal identifier from SAML providernull
schemasArray[String]SCIM schema identifiersArray of schema URIs
userNameStringThe username for the useruser@example.com
nameObjectUser's name objectObject with givenName, familyName, formatted
displayNameStringDisplay name of the userJohn Doe
emailsArray[Object]List of user email objectsArray of email objects
activeBooleanWhether the identity is activetrue
groupsArray[Object]List of groups the user belongs toArray of group objects
metaObjectMetadata about the resourceObject with resourceType, created, lastModified, location
\n
","urlObject":{"protocol":"https","path":["scim","v2","Users",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

String; Query filter expression using SCIM syntax

\n","type":"text/plain"},"key":"filter","value":"userName+sw+\"{{username}}\""}],"variable":[]}},"response":[{"id":"52cc68b5-d270-4c11-a1bf-f8018fb2b7ad","name":"User with filter","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\n ],\n \"totalResults\": 2,\n \"itemsPerPage\": 50,\n \"startIndex\": 1,\n \"Resources\": [\n {\n \"id\": \"891\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"user@example.com\",\n \"name\": {\n \"givenName\": \"John\",\n \"familyName\": \"Doe\",\n \"formatted\": \"John Doe\"\n },\n \"displayName\": \"John Doe\",\n \"emails\": [\n {\n \"value\": \"user@example.com\",\n \"primary\": true\n }\n ],\n \"active\": true,\n \"groups\": [\n {\n \"value\": \"315\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Groups/315\",\n \"display\": \"Administrators\"\n }\n ],\n \"meta\": {\n \"resourceType\": \"User\",\n \"created\": \"2021-07-06T15:17:44.031973+00:00\",\n \"lastModified\": \"2025-04-08T21:00:45.291578+00:00\",\n \"location\": \"https://example.appomni.com/scim/v2/Users/891\"\n }\n },\n {\n \"id\": \"32078\",\n \"externalId\": \"user1\",\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"userName\": \"user@example.onmicrosoft.com\",\n \"name\": {\n \"givenName\": \"John\",\n \"familyName\": \"Doe\",\n \"formatted\": \"John Doe\"\n },\n \"displayName\": \"John Doe\",\n \"emails\": [\n {\n \"value\": \"user@example.onmicrosoft.com\",\n \"primary\": true\n }\n ],\n \"active\": true,\n \"groups\": [\n {\n \"value\": \"315\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Groups/315\",\n \"display\": \"Administrators\"\n }\n ],\n \"meta\": {\n \"resourceType\": \"User\",\n \"created\": \"2024-09-17T19:31:33.590464+00:00\",\n \"lastModified\": \"2024-09-17T19:31:33.927287+00:00\",\n \"location\": \"https://example.appomni.com/scim/v2/Users/32078\"\n }\n }\n ]\n}\n"}],"_postman_id":"bc2e90c4-863d-4de6-bc27-eb68b5361579"},{"name":"List groups","id":"7d6d2237-9c3d-4e9d-929c-305d9ee281f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/scim/v2/Groups","description":"

Returns a list of all groups.

\n

Note: Only Get operations are available for groups.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
schemasArray[String]SCIM schema identifiersArray of schema URIs
totalResultsIntegerTotal number of groups13
itemsPerPageIntegerNumber of items per page50
startIndexIntegerStarting index for pagination1
ResourcesArray[Object]Array of group objectsArray of group objects
\n

Group Object Schema

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier for the group315
externalIdString or nullExternal identifier from SAML providernull
schemasArray[String]SCIM schema identifiersArray of schema URIs
displayNameStringDisplay name of the groupAdministrators
membersArray[Object]List of group membersArray of member objects
metaObjectMetadata about the resourceObject with resourceType and location
\n
","urlObject":{"protocol":"https","path":["scim","v2","Groups"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"e8e88409-3952-4ec5-b2f0-efbfce8b9702","name":"List Groups","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\n ],\n \"totalResults\": 13,\n \"itemsPerPage\": 50,\n \"startIndex\": 1,\n \"Resources\": [\n {\n \"id\": \"315\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Administrators\",\n \"members\": [\n {\n \"value\": \"32078\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Users/32078\",\n \"display\": \"John Doe\"\n },\n {\n \"value\": \"891\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Users/891\",\n \"display\": \"John Doe\"\n }\n ],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/315\"\n }\n },\n {\n \"id\": \"317\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Readonly\",\n \"members\": [\n {\n \"value\": \"32360\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Users/32360\",\n \"display\": \"Jane Smith\"\n },\n {\n \"value\": \"36521\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Users/36521\",\n \"display\": \"Read Only\"\n },\n {\n \"value\": \"34763\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Users/34763\",\n \"display\": \"Bob Johnson\"\n }\n ],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/317\"\n }\n },\n {\n \"id\": \"611\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Service Onboarder\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/611\"\n }\n },\n {\n \"id\": \"816\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Insights Manager\",\n \"members\": [\n {\n \"value\": \"32360\",\n \"$ref\": \"https://example.appomni.com/scim/v2/Users/32360\",\n \"display\": \"Jane Smith\"\n }\n ],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/816\"\n }\n },\n {\n \"id\": \"817\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Issues Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/817\"\n }\n },\n {\n \"id\": \"818\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Users Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/818\"\n }\n },\n {\n \"id\": \"819\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Monitored Service Role Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/819\"\n }\n },\n {\n \"id\": \"1566\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Policies Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/1566\"\n }\n },\n {\n \"id\": \"1695\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Service Admin\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/1695\"\n }\n },\n {\n \"id\": \"1979\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Threat Detection Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/1979\"\n }\n },\n {\n \"id\": \"2805\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role External Ticketing Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/2805\"\n }\n },\n {\n \"id\": \"2806\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role External Ticketing User\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/2806\"\n }\n },\n {\n \"id\": \"4087\",\n \"externalId\": null,\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n \"displayName\": \"Role Findings Manager\",\n \"members\": [],\n \"meta\": {\n \"resourceType\": \"Group\",\n \"location\": \"https://example.appomni.com/scim/v2/Groups/4087\"\n }\n }\n ]\n}\n"}],"_postman_id":"7d6d2237-9c3d-4e9d-929c-305d9ee281f2"}],"id":"3e79ea88-7db5-41c3-b73e-5ee4b8ad0690","description":"

Use SCIM to connect your identity provider to AppOmni, and utilize this API to:

\n
    \n
  • Get all users in a company

    \n
  • \n
  • Activate or deactivate users

    \n
  • \n
  • Update a user’s name, password, user name, email address

    \n
  • \n
  • To update a user’s role, AppOmni SCIM Mappings must be enabled

    \n
  • \n
\n

Note: Patch operations are not supported.

\n

See AppOmni’s documentation for creating SCIM mappings. The first step is enabling SCIM provisioning, which enables the creation of SCIM mappings.

\n

About SCIM

\n

SCIM2 (System for Cross-domain Identity Management) is a specification designed to automate the provisioning of user and group identities across cloud-based applications and services using SSO services and Identity Providers.

\n

SCIM provides API methods and JSON objects that define users and groups. The SCIM API is based on the Open standard: System for Cross-domain Identity Management version 2.0.

\n","_postman_id":"3e79ea88-7db5-41c3-b73e-5ee4b8ad0690","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Posture Findings","item":[{"name":"List findings","id":"f779095c-ff23-40a8-a3a0-aeb3d9e4dad0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/finding/","description":"

Returns a list of findings. Findings are comprised of policy rule violations and Insights.

\n

This endpoint returns paginated results, even if not specifically specified on the request by having limit/offset params..

\n

The default limit/offset for all requests is 100 with an offset of 0. These parameters can still be specified on the request by the user. The maximum allowed value for limit is 100. If the value exceeds this, an error response of 400 is returned.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
appomni_risk_levelStringOptional string field for AppOmni risk level\"Informational\"
appomni_risk_scoreIntegerOptional integer field for AppOmni risk score5
assigneeIntegerOptional integer field for assignee ID123
compliance_controlsArray[Integer]List of integer compliance control IDs[1, 2, 3]
compliance_frameworksArray[Integer]List of integer compliance framework IDs[1, 2]
descriptionStringOptional string field for finding description\"Detect improper access to Account\"
external_idStringOptional integer external ID12345
external_ticket_dataArray[Object]List of dictionaries containing external ticket information[{\"id\": \"74859\", \"url\": \"https://example.com\", \"ticket_id\": \"INC0017034\"}]
first_openedDatetimeISO 8601 string for when finding was first opened\"2025-01-13T14:16:14.860715Z\"
has_occurrences_truncatedBooleanBoolean indicating if occurrences are truncatedtrue
has_new_occurrencesBooleanBoolean indicating if there are new occurrencestrue
idStringUUID string for the finding ID\"0194600e-3cf0-7512-903f-cd01893a255c\"
identity_hashStringString hash for identity\"01309b5b74daccdf68bc398ab4dd2589c0c047fc8f94cbb71559728bfc37eed4\"
last_closedDatetimeOptional ISO 8601 string for when finding was last closed\"2025-01-13T14:16:14.860715Z\"
last_openedDatetimeISO 8601 string for when finding was last opened\"2025-01-13T14:16:14.860715Z\"
last_scannedDatetimeISO 8601 string for when finding was last scanned\"2025-01-13T14:17:54.036709Z\"
legacy_finding_idIntegerInteger legacy finding ID1653424
monitored_service_external_idStringString custom ID generated by customers\"custom-service-123\"
monitored_service_idIntegerInteger monitored service ID67448
monitored_service_nameStringString name of the monitored service\"SFDC-Coretest-Scratch-Int\"
monitored_service_ownerObjectDictionary containing monitored service owner information{\"username\": \"test@appomni.com\", \"id\": 65, \"first_name\": \"Foo\", \"last_name\": \"Bar\"}
monitored_service_service_type_slugStringString slug for the service type (same as service_type)\"sfdc\"
monitored_service_connectedBooleanBoolean indicating if monitored service is connectedtrue
monitored_service_tagsArray[Object]List of dictionaries containing monitored service tags[{\"id\": 115, \"name\": \"Production\", \"type\": \"environment\"}]
notesStringOptional string field for customer-supplied notes\"Customer-provided content\"
num_occurrences_closedIntegerInteger count of closed occurrences0
num_occurrences_openIntegerInteger count of open occurrences2
policy_idIntegerOptional integer policy ID679998
policy_nameStringOptional string policy name\"omni-test-united-sfdc-functional-policy-test\"
remediation_descriptionObjectDictionary containing remediation description{\"content\": \"1. Visit the Users page...\", \"format\": \"markdown\"}
risk_descriptionObjectDictionary containing risk description{\"content\": \"Microsoft 365's inactive user accounts...\", \"format\": \"markdown\"}
risk_levelStringString risk level\"Informational\"
risk_scoreIntegerInteger risk score0
service_typeStringString indicating the SaaS service being monitored\"sfdc\"
source_idIntegerInteger source ID1605359
source_internal_nameStringString internal source name\"sfdc.object.access\"
source_nameStringString source name\"Account Object Access Rule\"
source_typeStringString source type\"policy_rule\"
statusStringString finding status\"open\"
tagsArray[Object]List of dictionaries containing general tag IDs[{\"id\": 45, \"name\": \"security\"}]
\n
","urlObject":{"protocol":"https","path":["api","v1","findings","finding",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"disabled":true,"description":{"content":"

Integer; Zero-based offset of the first item to return

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

String; Fields to order results by (prepend - for descending)

\n","type":"text/plain"},"key":"ordering","value":"-created"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter by assignee user IDs

\n","type":"text/plain"},"key":"assignee__in","value":"[123, 456]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by risk category values

\n","type":"text/plain"},"key":"category__in","value":"[\"permissions\", \"configuration\", \"data_exposure\"]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by compliance framework names

\n","type":"text/plain"},"key":"compliance_frameworks__in","value":"[\"SOC2\", \"ISO27001\", \"HIPAA\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings opened on or after this date

\n","type":"text/plain"},"key":"first_opened__gte","value":"2024-01-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings opened on or before this date

\n","type":"text/plain"},"key":"first_opened__lte","value":"2024-12-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings closed on or after this date

\n","type":"text/plain"},"key":"last_closed__gte","value":"2024-08-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings closed on or before this date

\n","type":"text/plain"},"key":"last_closed__lte","value":"2024-08-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings last opened on or after this date

\n","type":"text/plain"},"key":"last_opened__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings last opened on or before this date

\n","type":"text/plain"},"key":"last_opened__lte","value":"2024-09-30T23:59:59Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings last scanned on or after this date

\n","type":"text/plain"},"key":"last_scanned__gte","value":"2024-09-20T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter findings last scanned on or before this date

\n","type":"text/plain"},"key":"last_scanned__lte","value":"2024-09-25T23:59:59Z"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter by monitored service IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[1, 2, 5]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by monitored service environment tags

\n","type":"text/plain"},"key":"monitored_service__tags__in","value":"[\"production\", \"critical\", \"finance\"]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by monitored service owner email addresses

\n","type":"text/plain"},"key":"monitored_service_owner__in","value":"[\"john.doe@example.com\", \"jane.smith@example.com\"]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by monitored service type slugs

\n","type":"text/plain"},"key":"monitored_service_service_type_slug__in","value":"[\"m365\", \"gws\", \"sfdc\", \"box\"]"},{"disabled":true,"description":{"content":"

Integer; Filter by minimum number of open occurrences

\n","type":"text/plain"},"key":"num_occurrences_open","value":"5"},{"disabled":true,"description":{"content":"

Integer; Filter by minimum number of closed occurrences

\n","type":"text/plain"},"key":"num_occurrences_closed","value":"10"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter by policy IDs

\n","type":"text/plain"},"key":"policy_id__in","value":"[101, 102, 103]"},{"disabled":true,"description":{"content":"

Integer; Filter by minimum risk score

\n","type":"text/plain"},"key":"risk_score__gte","value":"7"},{"disabled":true,"description":{"content":"

Integer; Filter by maximum risk score

\n","type":"text/plain"},"key":"risk_score__lte","value":"10"},{"disabled":true,"description":{"content":"

Array[String]; Filter by risk score ranges

\n","type":"text/plain"},"key":"risk_score__ranges","value":"[\"0-3\", \"4-6\", \"7-10\"]"},{"disabled":true,"description":{"content":"

Array[String]; Filter by risk score ranges including null values

\n","type":"text/plain"},"key":"risk_score__rangesornull","value":"[\"0-3\", \"4-6\", \"7-10\", \"null\"]"},{"disabled":true,"description":{"content":"

Example: source_name__in=[“source_name value”, ..]An array of values that can be in source_name. The strings provided as part of the array are exact lookups. For partial lookups the &search param can be used.

\n","type":"text/plain"},"key":"source_name__in","value":"[\"AppOmni Scanner\", \"API Monitor\", \"Activity Analyzer\"]"},{"disabled":true,"description":{"content":"

String; Filter by source type (scanner or insight)

\n","type":"text/plain"},"key":"source_type","value":"scanner"},{"disabled":true,"description":{"content":"

String; Filter by finding status (open or closed)

\n","type":"text/plain"},"key":"status","value":"open"},{"disabled":true,"description":{"content":"

Array[String]; Filter by general tag names

\n","type":"text/plain"},"key":"tags__in","value":"[\"security\", \"compliance\", \"audit\"]"}],"variable":[]}},"response":[{"id":"2faff2d5-29e6-4454-8a87-2ef5772b02b5","name":"List Findings","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/findings/finding?Limit=?limit=100","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","findings","finding"],"query":[{"key":"Paging Offset","value":"&offset=25","description":"Specifies the (zero-based) offset of the first item in the collection to return. Default is zero.","disabled":true},{"key":"Limit","value":"?limit=100","description":"*WARNING: Endpoint will timeout if a limit is not set and Finding Occurrences exceed 500."},{"key":"Order By","value":"&ordering=risk_score,-last_scanned","description":"Specifies the fields that will be used to order the query results. Default sort order is ascending,. Prepending a minus “-” symbol to the field name denotes descending. Multiple fields can be specified in a comma delimited list.\nRequired field support:\n\n- risk_score\n\n- service_type\n\n- source_type\n\n- num_occurrences_open\n\n- num_occurrences_closed\n\n- first_opened\n\n- last_closed\n\n- status\n\n- monitored_service\n\n- last_reopened\n\n- last_scanned\n\n- tags (Not sortable in Beta 0)\n\n- description (Not sortable in Beta 0)\n\n- policy (Not sortable in Beta 0)","disabled":true},{"key":"Filter by Risk","value":"&risk_score__ranges=[0,0,1,25]\n&risk_score__rangesornull","description":"A comma separated string of risk ranges. \n`rangesornull` returns findings with unknown risk scores.","disabled":true},{"key":"Filter by: First Opened, Last Closed, Last Reopened, or Last Scanned (Subject to change)","value":"&first_opened__gte=2022-04-18T06:00:00.000Z &last_scanned__lte=2022-06-01T06:00:00.000Z","description":"Custom start and end dates for findings that fall between the min and max last seen dates","disabled":true},{"key":" Filter by Description (Subject to change)","value":"&search=”mysearch”","description":"Used to filter by description/name?","disabled":true},{"key":"Filter by Source","value":"&source_type__in=[”insight”]","description":"Possible Values:\n”insight”\n”policy_rule”","disabled":true},{"key":"Filter by Occurrence Counts","value":"&num_occurrences_open__gt=0\n&num_occurrences_closed__gte=3","description":"Use numerical operators","disabled":true},{"key":"Filter by Findings Status","value":"&status__in=[”open”]","description":"Possible Values:\n\"open\"\n\"closed\"\n","disabled":true},{"key":"Filter by General Tags (not currently enabled - available soon)","value":"&tags__in=[45]","description":"Filters by general tags","disabled":true},{"key":"Filter by Monitored Service and Environment Tags (not currently enabled - available soon)","value":"&monitored_service__tags__in=[46]","description":"Used to filter by environment tags applied to monitored services","disabled":true},{"key":"Filter by Risk Category","value":"&category__in=[“configActions”]","description":"Possible Values:\n”config_actions”\n”data_access”\n”other_security_settings”\n”permissions”\n”rbac_assignments”\n”rbac_controls”","disabled":true},{"key":"FIlter by Policy","value":"&policy__in=[123]","description":"Filter param is an array of policy ids","disabled":true},{"key":"FIlter by Assignee","value":"&assignee__in=[12]","description":"Filter param is an array of user ids","disabled":true},{"key":"Filter by Compliance Framework (Subject to change)","value":"\t\n&compliance_framework__in=[1]","disabled":true},{"key":"Filter by Whether has External Ticket","value":"&external_ticket_exists=true","description":"Possible values\ntrue\nfalse","disabled":true},{"key":"Filter by Detailed Status of Occurrences (Subject to change)","value":"&detailed_status__name__in=[“new”]","description":"Possible values\n”new”\n”in_research”\n”in_remediation”\n”done”\n”remediated”\n”allowed_by_exception”\n”monitoring_removed”","disabled":true},{"key":"Filter by Monitored Service","value":"&monitored_service__in","description":"Filter param is an array of monitored service ids ","disabled":true},{"key":"Filter by Service Type","value":"&service_type__in","description":"Filter param is an array of service type ids","disabled":true},{"key":"limit","value":"100","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 1922,\n \"next\": \"https://[your_subdomain].appomni.com/api/v1/findings/finding/?limit=25&offset=25&ordering=-first_opened\",\n \"previous\": null,\n \"results\": [\n {\n \"appomni_risk_level\": \"Informational\",\n \"appomni_risk_score\": null,\n \"assignee\": null,\n \"compliance_controls\": [],\n \"compliance_frameworks\": [],\n \"description\": \"Detect improper access to Account\",\n \"external_id\": null,\n \"external_ticket_data\": [\n {\n \"id\": \"74859\",\n \"url\": \"https://dev144531.service-now.com/incident.do?sys_id=25f1c8534779ce50b38b0bdbd36d43a6\",\n \"ticket_id\": \"INC0017034\"\n },\n {\n \"id\": \"77593\",\n \"url\": \"https://dev144578.service-now.com/incident.do?sys_id=d0b4d4659713ced0d9e2fa67f053afb8\",\n \"ticket_id\": \"INC0100832\"\n },\n {\n \"id\": \"94839\",\n \"url\": \"https://dev243199.service-now.com/incident.do?sys_id=f4039c09832ed6d0e9aff696feaad348\",\n \"ticket_id\": \"INC0016036\"\n }\n ],\n \"first_opened\": \"2025-01-13T14:16:14.860715Z\",\n \"has_max_open_occurrences\": false,\n \"has_new_occurrences\": true,\n \"id\": \"0194600e-3cf0-7512-903f-cd01893a255c\",\n \"identity_hash\": \"01309b5b74daccdf68bc398ab4dd2589c0c047fc8f94cbb71559728bfc37eed4\",\n \"last_closed\": null,\n \"last_opened\": \"2025-01-13T14:16:14.860715Z\",\n \"last_scanned\": \"2025-01-13T14:17:54.036709Z\",\n \"legacy_finding_id\": 1653424,\n \"monitored_service_id\": 67448,\n \"monitored_service_name\": \"SFDC-Coretest-Scratch-Int\",\n \"monitored_service_connected\": true,\n \"monitored_service_tags\": [\n {\n \"id\": 115,\n \"name\": \"Production\",\n \"short_name\": null,\n \"type\": \"environment\"\n }\n ],\n \"monitored_service_owner\": {\n \"username\": \"test@appomni.com\",\n \"id\": 65,\n \"first_name\": \"Foo\",\n \"last_name\": \"Bar\"\n },\n \"notes\": null,\n \"num_occurrences_closed\": 0,\n \"num_occurrences_open\": 2,\n \"policy_id\": 679998,\n \"policy_name\": \"omni-test-united-sfdc-functional-policy-test\",\n \"remediation_description\": null,\n \"risk_description\": null,\n \"risk_level\": \"Informational\",\n \"risk_score\": 0,\n \"service_type\": \"sfdc\",\n \"source_id\": 1605359,\n \"source_internal_name\": \"sfdc.object.access\",\n \"source_name\": \"Account Object Access Rule\",\n \"source_type\": \"policy_rule\",\n \"status\": \"open\",\n \"tags\": []\n }\n ]\n }\n"}],"_postman_id":"f779095c-ff23-40a8-a3a0-aeb3d9e4dad0"},{"name":"Get finding details","id":"90c057d2-3b3f-4d7f-8804-56f60ddd8e12","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/finding/:id/","description":"

Returns the details of a finding given the id. Findings are comprised of policy rule violations and Insights.

\n","urlObject":{"protocol":"https","path":["api","v1","findings","finding",":id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

id returned from List Findings. Type: UUID string

\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"02e78cd3-c40d-4082-a8a8-73962899cdbf","name":"Get Finding Details","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/findings/finding/:id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","findings","finding",":id",""],"variable":[{"key":"id","value":"","description":"`id` returned from \"List Findings\""}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"appomni_risk_level\": \"Informational\",\n \"appomni_risk_score\": null,\n \"assignee\": null,\n \"compliance_controls\": [],\n \"compliance_frameworks\": [],\n \"description\": \"Detect improper access to Account\",\n \"external_id\": null,\n \"external_ticket_data\": [\n {\n \"id\": \"74859\",\n \"url\": \"https://dev144531.service-now.com/incident.do?sys_id=25f1c8534779ce50b38b0bdbd36d43a6\",\n \"ticket_id\": \"INC0017034\"\n },\n {\n \"id\": \"77593\",\n \"url\": \"https://dev144578.service-now.com/incident.do?sys_id=d0b4d4659713ced0d9e2fa67f053afb8\",\n \"ticket_id\": \"INC0100832\"\n },\n {\n \"id\": \"94839\",\n \"url\": \"https://dev243199.service-now.com/incident.do?sys_id=f4039c09832ed6d0e9aff696feaad348\",\n \"ticket_id\": \"INC0016036\"\n }\n ],\n \"first_opened\": \"2025-01-13T14:16:14.860715Z\",\n \"has_max_open_occurrences\": false,\n \"has_new_occurrences\": true,\n \"id\": \"0194600e-3cf0-7512-903f-cd01893a255c\",\n \"identity_hash\": \"01309b5b74daccdf68bc398ab4dd2589c0c047fc8f94cbb71559728bfc37eed4\",\n \"last_closed\": null,\n \"last_opened\": \"2025-01-13T14:16:14.860715Z\",\n \"last_scanned\": \"2025-01-13T14:17:54.036709Z\",\n \"legacy_finding_id\": 1653424,\n \"monitored_service_id\": 67448,\n \"monitored_service_name\": \"SFDC-Coretest-Scratch-Int\",\n \"monitored_service_connected\": true,\n \"monitored_service_tags\": [\n {\n \"id\": 115,\n \"name\": \"Production\",\n \"short_name\": null,\n \"type\": \"environment\"\n }\n ],\n \"notes\": {\n \"content\": \"Customer-provided content\",\n \"format\": \"markdown\"\n },\n \"num_occurrences_closed\": 0,\n \"num_occurrences_open\": 2,\n \"policy_id\": 679998,\n \"policy_name\": \"omni-test-united-sfdc-functional-policy-test\",\n \"remediation_description\": {\n \"content\": \"1. Visit the Users->Active Users page in the admin center.\\n2. Locate and select the user you wish to delete. \\n3. Click 'Delete user'.\",\n \"format\": \"markdown\"\n },\n \"risk_description\": {\n \"content\": \"Microsoft 365's inactive user accounts may be prone to security threats through unauthorized access that endangers sensitive data. Inactive accounts should be disabled or deleted to reduce this risk.\\n\\nInactive user accounts can be compromised. It is a best practice to rescind access rights for users who no longer require them.\",\n \"format\": \"markdown\"\n },\n \"risk_level\": \"Informational\",\n \"risk_score\": 0,\n \"service_type\": \"sfdc\",\n \"source_id\": 1605359,\n \"source_internal_name\": \"sfdc.object.access\",\n \"source_name\": \"Account Object Access Rule\",\n \"source_type\": \"policy_rule\",\n \"status\": \"open\",\n \"tags\": []\n}"}],"_postman_id":"90c057d2-3b3f-4d7f-8804-56f60ddd8e12"},{"name":"Get finding occurrences","id":"0d659fae-84f2-4e44-9802-dddcaa3a3cd5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/","description":"

Returns a list of all finding occurrences and can be filtered. Findings are comprised of policy rule violations and Insights.

\n

The API schema will be enhanced and made extensible with dynamic metadata based on finding type.

\n

This endpoint returns paginated results, even if not specifically specified on the request by having limit/offset params..

\n

The default limit/offset for all requests is 100 with an offset of 0. These parameters can still be specified on the request by the user. The maximum allowed value for limit is 100. If the value exceeds this, an error response of 400 is returned.

\n

As a best practice for efficiency, AppOmni recommends retrieving all occurrences for a given monitored service in a single call using this endpoint, rather than retrieving occurrences one-by-one, which could result in hitting rate limits.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
contextObjectDictionary containing context attributes that vary by insight and rule type{\"user_id\": \"00u4eiqzlpM0YNfpb5d7\", \"group_id\": \"00g2uvbqiq89VNgJe5d7\", \"user_name\": \"Test User 358 Mocked\"}
detailed_status_labelStringString label for the detailed status\"New\"
detailed_status_nameStringString name for the detailed status\"new\"
finding_idStringUUID string for the finding ID\"0193472c-68ac-7365-ae7a-9a0e70b4442e\"
first_openedDatetimeISO 8601 string for when occurrence was first opened\"2024-08-29T01:12:21.528946Z\"
idStringUUID string for the occurrence ID\"0193472c-6db5-72ce-b4ca-068181e76277\"
identity_hashStringString hash for identity\"70ed419bc83ba09d003323fa3484956ec7cb9362516b513fb58116c9ad0035cc\"
last_closedDatetimeOptional ISO 8601 string for when occurrence was last closed\"2024-08-29T01:12:21.528946Z\"
last_openedDatetimeISO 8601 string for when occurrence was last opened\"2024-08-29T01:12:21.528946Z\"
monitored_service_idIntegerInteger monitored service ID19681
reasonsArray[String]List of strings explaining why the occurrence exists[\"User test358@example.com is assigned the Everyone Group.\"]
statusStringString occurrence status\"open\"
\n
","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"disabled":true,"description":{"content":"

Integer; Zero-based offset of the first item to return

\n","type":"text/plain"},"key":"offset","value":"0"},{"disabled":true,"description":{"content":"

Array[String]; Filter by detailed status names

\n","type":"text/plain"},"key":"detailed_status_name__in","value":"[\"new\", \"in_progress\", \"under_review\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences first opened on or after this date

\n","type":"text/plain"},"key":"first_opened__gte","value":"2024-01-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences first opened on or before this date

\n","type":"text/plain"},"key":"first_opened__lte","value":"2024-12-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (UUID); Filter by specific finding ID

\n","type":"text/plain"},"key":"finding_id","value":"f123e4567-e89b-12d3-a456-426614174000"},{"disabled":true,"description":{"content":"

Array[String]; Filter by multiple finding IDs

\n","type":"text/plain"},"key":"finding_id__in","value":"[\"f123e4567-e89b-12d3-a456-426614174000\", \"f223e4567-e89b-12d3-a456-426614174001\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last closed on or after this date

\n","type":"text/plain"},"key":"last_closed__gte","value":"2024-08-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last closed on or before this date

\n","type":"text/plain"},"key":"last_closed__lte","value":"2024-08-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last opened on or after this date

\n","type":"text/plain"},"key":"last_opened__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last opened on or before this date

\n","type":"text/plain"},"key":"last_opened__lte","value":"2024-09-30T23:59:59Z"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter by monitored service IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[1, 2, 5]"},{"disabled":true,"description":{"content":"

String; Filter by occurrence status (open or closed)

\n","type":"text/plain"},"key":"status","value":"open"}],"variable":[]}},"response":[{"id":"0c1afade-875e-4cb7-b553-4b442524379c","name":"Get Finding Occurrences","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","findings","occurrence",""],"query":[{"key":"finding_id","value":"{}","description":"Required; `id` returned from \"List Findings\"","disabled":true},{"key":"Paging Offset","value":"&offset=25","description":"Specifies the (zero-based) offset of the first item in the collection to return. Default is zero.","disabled":true},{"key":"Limit","value":"50","description":"Defaults to 50, max 500","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 32818,\n \"next\": \"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/?limit=500&offset=500\",\n \"previous\": null,\n \"results\": [\n {\n \"context\": {\n \"user_id\": \"00u4eiqzlpM0YNfpb5d7\",\n \"group_id\": \"00g2uvbqiq89VNgJe5d7\",\n \"user_name\": \"Test User 358 Mocked\",\n \"group_name\": \"Everyone\",\n \"user_email\": \"test358@example.com\",\n \"user_username\": \"test358@example.com\"\n },\n \"detailed_status_label\": \"New\",\n \"detailed_status_name\": \"new\",\n \"finding_id\": \"0193472c-68ac-7365-ae7a-9a0e70b4442e\",\n \"first_opened\": \"2024-08-29T01:12:21.528946Z\",\n \"id\": \"0193472c-6db5-72ce-b4ca-068181e76277\",\n \"identity_hash\": \"70ed419bc83ba09d003323fa3484956ec7cb9362516b513fb58116c9ad0035cc\",\n \"last_closed\": null,\n \"last_opened\": \"2024-08-29T01:12:21.528946Z\",\n \"monitored_service_id\": 19681,\n \"reasons\": [\n \"User test358@example.com is assigned the Everyone Group.\"\n ],\n \"status\": \"open\"\n },\n ...\n ]\n }"}],"_postman_id":"0d659fae-84f2-4e44-9802-dddcaa3a3cd5"},{"name":"Finding occurrences detail view","id":"02fd2684-e0aa-42cd-bb9a-66ebb8856699","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/{occurrence_id}/","description":"

Returns the details of a finding occurrence by occurrence_ id and by monitored service.

\n","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","{occurrence_id}",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"57e251ab-5cdb-4068-aaf5-bd4eeb2fcb95","name":"Finding Occurrences Detail View","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/{occurrence_id}?occurrence_id","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","findings","occurrence","{occurrence_id}"],"query":[{"key":"occurrence_id","value":null,"description":"Integer associated with an occurrence. "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"context\": {\n \"user_id\": \"WF3CFhMMTKiL32by8TY4xw\",\n \"perm_name\": \"zoomdevelopers:read\",\n \"user_name\": \"Tim Bach\",\n \"perm_label\": \"ZoomDevelopers:Read\",\n \"user_email\": \"tim@appomni.com\",\n \"user_username\": \"tim@appomni.com\"\n },\n \"detailed_status_label\": \"New\",\n \"detailed_status_name\": \"new\",\n \"finding_id\": \"019346da-85fc-7893-8ec6-472bb74207d4\",\n \"first_opened\": \"2024-09-26T20:14:20.130205Z\",\n \"id\": \"019346da-8604-76bd-8640-2c50947a5fad\",\n \"identity_hash\": \"2d92691b4937854bffde549174ee35987641ceff71201f49d23ea87ac8bfa934\",\n \"last_closed\": null,\n \"last_opened\": \"2024-09-26T20:14:20.130205Z\",\n \"monitored_service_id\": 10861,\n \"reasons\": [\n \"Role Developer is configured with permission Developer privileges to view app settings enabled\"\n ],\n \"status\": \"open\"\n}"}],"_postman_id":"02fd2684-e0aa-42cd-bb9a-66ebb8856699"},{"name":"Update finding occurrence detailed status by occurrence IDs","id":"a2d762a4-fb5b-49b2-a3eb-5f491720f82c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n ids: ['bd055aec-60c7-42f3-920f-be72b8021227'],\n detailed_status: 'remediated' \n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/update_detailed_status/","description":"

Updates the status of a finding occurrence via occurrence_id. Findings are comprised of policy rule violations and Insights.

\n
    \n
  • Only detailed statuses of new, in_research, in_remediation, doneare allowed for the detailed_status properties values

    \n
  • \n
  • The parent finding’s status must be open

    \n
  • \n
\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeExample / UsageDescriptionRequired
detailed_statusstr{ detailed_status: 'remediated' }A user defined status which can be applied to one or more occurrences

Accepted options:

new

in_research

in_remediation

done
y
occurrence_idsList[str]{ ids: ['bd055aec-60c7-42f3-920f-be72b8021227']A list of one or more finding occurrence GUIDs to be updated

Important Note: the entire request will fail if a single occurrence ID is invalid
y
\n

Example Responses:

\n
Status Code: 204 No Content\n\n
Status Code: 400 Bad Request\n{\n    \"ids\": [\n        \"This field is required.\"\n    ],\n    \"detailed_status\": [\n        \"This field is required.\"\n    ]\n}\n\n
Status Code: 400 Bad Request\n\"At least one occurrence is Closed. Ensure that you are only updating Open occurrences in this request.\"\n\n
400 Bad Request\n\"Invalid detailed status provided '{invalid detailed status}'\"\n\n
","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","update_detailed_status",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a2d762a4-fb5b-49b2-a3eb-5f491720f82c"},{"name":"Update fnding occurrence detailed status by filter","id":"706c67e2-7c56-41bd-95fe-52a02b5c3bb7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"detailed_status\": \"new\" | \"in_research\" | \"in_remediation\" | \"done\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/update_detailed_status_by_filter/","description":"

Updates the status of a finding occurrence using filters. Findings are comprised of policy rule violations and Insights.

\n
    \n
  • Only detailed statuses of new, in_research, in_remediation, doneare allowed for the detailed_status properties values

    \n
  • \n
  • The parent finding’s status must be open

    \n
  • \n
\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldsData TypeExample / UsageDescriptionRequired
Detailed Statusstr{ detailed_status: ‘in_remediation’ }A user defined status which can be applied to one or more occurrences

Accepted options:

new

in_research

in_remediation

done
y
\n

Response reference

\n
Status Code: 204 No Content\n\n
Status Code: 400 Bad Request\n{\n    \"ids\": [\n        \"This field is required.\"\n    ],\n    \"detailed_status\": [\n        \"This field is required.\"\n    ]\n}\n\n
Status Code: 400 Bad Request\n\"At least one occurrence is Closed. Ensure that you are only updating Open occurrences in this request.\"\n\n
400 Bad Request\n\"Invalid detailed status provided '{invalid detailed status}'\"\n\n
","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","update_detailed_status_by_filter",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"disabled":true,"description":{"content":"

Array[String]; Filter by detailed status names

\n","type":"text/plain"},"key":"detailed_status_name__in","value":"[\"new\", \"in_progress\", \"under_review\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences first opened on or after this date

\n","type":"text/plain"},"key":"first_opened__gte","value":"2024-01-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences first opened on or before this date

\n","type":"text/plain"},"key":"first_opened__lte","value":"2024-12-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (UUID); Filter by specific finding ID

\n","type":"text/plain"},"key":"finding_id","value":"f123e4567-e89b-12d3-a456-426614174000"},{"disabled":true,"description":{"content":"

Array[String]; Filter by multiple finding IDs

\n","type":"text/plain"},"key":"finding_id__in","value":"[\"f123e4567-e89b-12d3-a456-426614174000\", \"f223e4567-e89b-12d3-a456-426614174001\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last closed on or after this date

\n","type":"text/plain"},"key":"last_closed__gte","value":"2024-08-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last closed on or before this date

\n","type":"text/plain"},"key":"last_closed__lte","value":"2024-08-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last opened on or after this date

\n","type":"text/plain"},"key":"last_opened__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last opened on or before this date

\n","type":"text/plain"},"key":"last_opened__lte","value":"2024-09-30T23:59:59Z"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter by monitored service IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[1, 2, 5]"}],"variable":[]}},"response":[],"_postman_id":"706c67e2-7c56-41bd-95fe-52a02b5c3bb7"},{"name":"Close occurrence by exception","id":"4bf97a97-aad2-4232-b892-5badee037120","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"ids\": [\"0193651f-ae54-7e5f-8e60-befcbd2f497f\"],\n \"reason\": \"risk_accepted\",\n \"expires\": \"2025-04-25T22:30:00Z\",\n \"message\": \"Some string explaining why\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/close_by_exception/","description":"

Close an occurrence by exception.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeExample / UsageDescriptionRequired
Occurrence ID(s)List[str]{ ids: ['bd055aec-60c7-42f3-920f-be72b8021227'] }A list of one or more finding occurrence GUIDs to be updated. Note: 1) The entire request will fail if a single occurrence ID is invalid.
2) Occurrences provided must exist in the tenant and all must be in an \"open\" state to be valid.
y
Reasonstr{ reason: 'risk_accepted' }A value from the following list: risk_accepted; false_positive; compensating_controls; not_applicable; confirmed_intendedy
Expiration datestr (ISO 8601) or undefined{ expires: '2025-01-21T15:30:00Z' }A string representation of an ISO8601 date in the future when the exception will be automatically removed. If set to undefined, the exception never expires. This API accepts \"null\" for an exception that never expires.n
Commentstr{ message: 'Some string explaining why' }A plain text, user-entered comment allowing a user to add context to this action.n
\n

Example success response:

\n
{\n    \"closed_count\": 1\n}\n\n

Example failure responses:

\n

400 Bad Request { \"ids\": [ \"This field is required.\" ], \"expires\": [ \"This field is required.\" ] }

\n

400 Bad Request \"At least one occurrence is Closed. Ensure that you are only creating an exception for Open occurrences in this request.\"

\n

400 Bad Request \"{invalid reason} is not a valid choice.\"

\n

400 Bad Request \"The occurrences of provided ids must exist in Open status for an Exception to be created.\"

\n

400 Bad Request \"The occurrences of provided ids must exist in Open status for an Exception to be created.\"

\n","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","close_by_exception",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4bf97a97-aad2-4232-b892-5badee037120"},{"name":"Close occurrence by exception by filter","id":"803f911b-7c83-49a0-a6dd-d37c797cda88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"reason\": \"risk_accepted\",\n \"expires\": \"2025-04-25T22:30:00Z\",\n \"message\": \"Some string explaining why\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/close_by_exception_by_filter/","description":"

Close an occurrence by exception by filter.

\n

Pass in any filters to the URL as query parameters to update all occurrences based on that filter set.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeExample / UsageDescriptionRequired
Reasonstr{ reason: 'risk_accepted' }A value from the following list: risk_accepted; false_positive; compensating_controls; not_applicable; confirmed_intendedy
Expiration datestr (ISO 8601) or undefined{ expires: '2025-01-21T15:30:00Z' }A string representation of an ISO8601 date in the future when the exception will be automatically removed. If set to undefined, the exception never expires. This API accepts \"null\" for an exception that never expires.n
Commentstr{ message: 'Some string explaining why' }A plain text, user-entered comment allowing a user to add context to this action.n
\n

Example Success Response:

\n

2Status Code: 200 OK

\n

{ \"closed_count\": 500 }

\n

Example Failure Responses:

\n

Status Code: 400 Bad Request

\n

400 Bad Request

\n

\"{invalid reason} is not a valid choice.\"

\n","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","close_by_exception_by_filter",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"803f911b-7c83-49a0-a6dd-d37c797cda88"},{"name":"Restore an occurrence","id":"12d8124a-1190-44f2-a5ec-2b19f80043e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\"ids\": [\"0193651f-ae54-7e5f-8e60-befcbd2f497f\"]}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/restore/","description":"

Restore an occurrence that has been closed by exception.

\n

Utilize any parameters from the GET Finding Occurrences endpoint.

\n

To verify expected occurrences, you may want to execute a GET request on the /findings/occurrence/ endpoint with a query before attempting to restore any Occurrences.

\n

If the request is made with NO query parameters, EVERY Occurrence will be queued for having an exception added.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeExampleRequired
idsList[str]Y
\n

Example Success Response:

\n

{ \"restored_count\": 1 }

\n

Example Failure Responses:

\n

400 - Bad Request - {'non_field_error': 'The occurrences of provided `filters` must exist in `Closed by Exception` status for them to be restored.'}

\n

500 - Internal Server Error

\n","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","restore",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"12d8124a-1190-44f2-a5ec-2b19f80043e7"},{"name":"Restore occurrences by filter","id":"8f698a20-d0a6-49f0-b4b3-1b7fe445ef0d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{Bearer}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/restore_by_filter/","description":"

Restore an occurrence by filter for an occurrence that was closed by exception.

\n

To verify expected occurrences, you may want to execute a GET request on the /findings/occurrence/ endpoint with a query before attempting to restore any Occurrences.

\n

Note: Including finding_id__in as a query parameter is strongly recommended, otherwise your request will restore many unintended occurrences. If the request is made with NO query parameters, EVERY Occurrence will be queued for having an exception added.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeExampleRequired
idsList[str]Y
\n

Example Success Response:

\n

{ \"restored_count\": 1 }

\n

Example Failure Responses:

\n

200 - Returns 200 if auth is valid

\n

404 - Not Found (if any of the ids are invalid)

\n

500 - Internal Server Error

\n","urlObject":{"protocol":"https","path":["api","v1","findings","occurrence","restore_by_filter",""],"host":["[your_subdomain]","appomni","com"],"query":[{"disabled":true,"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"disabled":true,"description":{"content":"

Array[String]; Filter by detailed status names

\n","type":"text/plain"},"key":"detailed_status_name__in","value":"[\"new\", \"in_progress\", \"under_review\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences first opened on or after this date

\n","type":"text/plain"},"key":"first_opened__gte","value":"2024-01-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences first opened on or before this date

\n","type":"text/plain"},"key":"first_opened__lte","value":"2024-12-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (UUID); Filter by specific finding ID

\n","type":"text/plain"},"key":"finding_id","value":"f123e4567-e89b-12d3-a456-426614174000"},{"disabled":true,"description":{"content":"

Array[String]; Filter by multiple finding IDs

\n","type":"text/plain"},"key":"finding_id__in","value":"[\"f123e4567-e89b-12d3-a456-426614174000\", \"f223e4567-e89b-12d3-a456-426614174001\"]"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last closed on or after this date

\n","type":"text/plain"},"key":"last_closed__gte","value":"2024-08-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last closed on or before this date

\n","type":"text/plain"},"key":"last_closed__lte","value":"2024-08-31T23:59:59Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last opened on or after this date

\n","type":"text/plain"},"key":"last_opened__gte","value":"2024-09-01T00:00:00Z"},{"disabled":true,"description":{"content":"

String (ISO 8601); Filter occurrences last opened on or before this date

\n","type":"text/plain"},"key":"last_opened__lte","value":"2024-09-30T23:59:59Z"},{"disabled":true,"description":{"content":"

Array[Integer]; Filter by monitored service IDs

\n","type":"text/plain"},"key":"monitored_service__in","value":"[1, 2, 5]"},{"disabled":true,"description":{"content":"

String; Filter by occurrence status (open or closed)

\n","type":"text/plain"},"key":"status","value":"open"}],"variable":[]}},"response":[{"id":"3f816d5a-f6c7-4acd-8627-f1f1f3deb9a5","name":"Restore Occurrences By Filter","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/findings/occurrence/restore_by_filter/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","findings","occurrence","restore_by_filter",""],"query":[{"key":"detailed_status_name__in","value":"","description":"Type: str Possible Values:\n`new`\n`in_research`\n`in_remediation`\n`done`\n`remediated`\n`allowed_by_exception`\n`monitoring_removed`\n`null`","disabled":true},{"key":"first_opened__gte","value":"","description":"Type: str (ISO 8601) Example: `first_opened__gte=2022-04-18T06:00:00.000Z` Custom start and end dates for findings that fall between the min and max last seen dates","disabled":true},{"key":"first_opened__lte","value":"","disabled":true},{"key":"finding_id","value":null,"description":"Type: str (uuid). Example: finding_id=01935061-de69-73c2-b8cd-b3dd385e2e115\n","disabled":true},{"key":"finding_id__in","value":null,"description":"Example: finding_id__in=[\"01938d1f-27bb-720f-b51c-cb9745e9ce3c\",\"01938d1f-27b7-77a5-b649-7c4a7221902d\"]","disabled":true},{"key":"last_closed__gte","value":"","disabled":true},{"key":"last_closed__lte","value":"","description":"\n","disabled":true},{"key":"last_opened__gte","value":"","disabled":true},{"key":"last_opened__lte","value":"","disabled":true},{"key":"limit","value":"","disabled":true},{"key":"monitored_service__in","value":"","description":"Filter occurrences related to specific monitored service(s). Enter a single id or a comma-separated list. ","disabled":true},{"key":"status","value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"restored_count\": 1\n}"}],"_postman_id":"8f698a20-d0a6-49f0-b4b3-1b7fe445ef0d"},{"name":"Assign findings","id":"4c943911-6100-4222-8af6-6871b129e10b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"records\": [\n {\n \"id\": \"01951fab-7900-717f-b4f9-fb1d22d78c87\", // finding id\n \"assignee_id\": 2 // user id\n },\n {\n \"id\": \"01951fab-793d-7431-905d-fefbb80af82b\",\n \"assignee_id\": null // when null, the finding is unassigned\n },\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/findings/finding/assign/","description":"

Assigns findings to users.

\n

id - Finding ID. Required in request payload.

\n

assignee_id - ID of the user. Required in request payload.

\n

If the assignee_idis null, then the finding is unassigned.

\n","urlObject":{"protocol":"https","path":["api","v1","findings","finding","assign",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"104b4bdc-c47d-4877-84e9-c6c283be5ad9","name":"Assign Findings","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"records\": [\n {\n \"id\": \"01951fab-7900-717f-b4f9-fb1d22d78c87\", // finding id\n \"assignee_id\": 2 // user id\n },\n {\n \"id\": \"01951fab-793d-7431-905d-fefbb80af82b\",\n \"assignee_id\": null // when null, the finding is unassigned\n },\n ]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/findings/finding/assign/?id&assignee_id","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","findings","finding","assign",""],"query":[{"key":"id","value":null,"description":"Finding ID. Required in request payload. "},{"key":"assignee_id","value":null,"description":"ID of the user. Required in request payload. "}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n \"records\": [\n {\n \"success\": true,\n \"message\": \"\",\n \"id\": \"01951fab-7900-717f-b4f9-fb1d22d78c87\"\n },\n {\n \"success\": true,\n \"message\": \"\",\n \"id\": \"01951fab-793d-7431-905d-fefbb80af82b\"\n }\n ]\n}"}],"_postman_id":"4c943911-6100-4222-8af6-6871b129e10b"},{"name":"List integration accounts","id":"0056e9fa-9817-48a6-8237-0cbd66c5c385","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","description":"

Returns a list of integration accounts associated with your findings

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
integration_accountStringintegration account name\"foo@example.com\"
\n
","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}},"urlObject":{"query":[],"variable":[]}},"response":[{"id":"7a24b676-2a9e-4c51-8481-524af979cc54","name":"List integration accounts","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/finding/integration_accounts"},"_postman_previewlanguage":"Text","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"count\": 1,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"integration_account\": \"foo@example.com\"\n }\n ]\n}"}],"_postman_id":"0056e9fa-9817-48a6-8237-0cbd66c5c385"},{"name":"List service IDs","id":"f4075f5b-92aa-465c-a57a-fe4a6d7980cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/finding/service_ids","description":"

Returns a list of monitored service service ids associated with your findings

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
serivce_idStringID of monitored service service ID\"foo-123\"
\n
","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","v1","findings","finding","service_ids"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"8edbfdaa-24af-4247-b1e6-d5d1014eaa10","name":"List service IDs","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/findings/finding/service_ids"},"_postman_previewlanguage":"Text","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"count\": 1,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"service_id\": \"01f37ef3-e7ff-4134-b0c9-0a9439ec1d15foo-123\n ]\n}"}],"_postman_id":"f4075f5b-92aa-465c-a57a-fe4a6d7980cd"}],"id":"797a77d0-59c2-4753-b9e8-1bafb97c657f","description":"

Posture Findings consolidates policy issues and Insights into a single view, allowing you to efficiently manage and resolve alerts.

\n

The Posture Findings API will exist concurrently with Insights and policy issues API's for a period of time; at a later date Insights and policy issues API's will be deprecated.

\n","_postman_id":"797a77d0-59c2-4753-b9e8-1bafb97c657f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Discovery","item":[{"name":"App Discovery Apps","item":[{"name":"List App Discovery Apps","id":"6da38af3-fa19-4159-9608-c448f86cb401","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/apps/?limit=50&offset=0&ordering=-cached_last_seen&search=security&status=approved&criticality=high&owner={{user_email}}","description":"

Returns a list of Discovery apps.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
saas_applicationObjectMetadata about the Discovery appSee nested fields below
saas_application.nameStringName of the SaaS application\"AppOmni\"
saas_application.saas_domainStringPrimary domain of the SaaS application\"appomni.com\"
saas_application.company_nameStringCompany name of the SaaS provider\"AppOmni\"
saas_application.categoriesStringJSON array of application categories\"['Cloud Security', 'SaaS']\"
saas_application.descriptionStringDescription of the SaaS application\"AppOmni SaaS security helps...\"
saas_application.founded_onStringYear the company was founded\"2018\"
saas_application.headquarters_cityStringCity where company is headquartered\"San Francisco\"
saas_application.headquarters_countryStringCountry where company is headquartered\"United States\"
ownerStringThe assigned owner of the Discovery app\"user1@example.com\"
segmentsStringThe path segments where activity on the Discovery app has been seen\"/example1 /example2\"
subdomainsStringThe subdomains where activity on the Discovery app has been seen\"example\"
statusStringThe review status of the Discovery app\"approved\"
criticalityStringThe assigned criticality of the Discovery app\"high\"
cached_unique_users_countIntegerThe most recent cached count of unique users who showed activity on the Discovery app3
cached_total_ingress_kbIntegerThe most recent cached summation of download volume sourced from the Discovery app (kB)100
cached_total_egress_kbIntegerThe most recent cached summation of upload volume sent to the Discovery app (kB)100
cached_total_duration_msIntegerThe most recent cached summation of time spent on the Discovery app (ms)60000
cached_first_seenString (ISO datetime)The most recent cached timestamp of when activity on the Discovery app first occurred\"1960-01-01T0:00:00.0000Z\"
cached_last_seenString (ISO datetime)The most recent cached timestamp of when activity on the Discovery app last occurred\"2025-05-15T0:00:00.0000Z\"
stats_last_updatedString (ISO datetime)The timestamp of when the cache was last updated\"2025-05-15T0:00:00.0000Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","discovery","apps",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by

\n","type":"text/plain"},"key":"ordering","value":"-cached_last_seen"},{"description":{"content":"

String; Search term to filter results

\n","type":"text/plain"},"key":"search","value":"security"},{"description":{"content":"

String; Filter by review status (approved, pending, rejected)

\n","type":"text/plain"},"key":"status","value":"approved"},{"description":{"content":"

String; Filter by criticality level (high, medium, low)

\n","type":"text/plain"},"key":"criticality","value":"high"},{"description":{"content":"

String; Filter by owner email address

\n","type":"text/plain"},"key":"owner","value":"{{user_email}}"}],"variable":[]}},"response":[{"id":"c2c1d267-5e0a-4704-a98f-aa327cb498ce","name":"List Discovery Apps","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/apps/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"saas_application\": {\n \"name\": \"AppOmni\",\n \"saas_domain\": \"appomni.com\",\n \"company_name\": \"AppOmni\",\n \"categories\": \"['Cloud Management', 'Cloud Security', 'Cyber Security', 'SaaS', 'Software']\",\n \"description\": \"AppOmni SaaS security helps security and IT teams protect and monitor their entire SaaS environment, from each vendor to every end-user.\",\n \"founded_on\": \"2018\",\n \"headquarters_city\": \"San Francisco\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user1@example.com\",\n \"segments\": \"/example1 /example2\",\n \"subdomains\": \"example\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 3,\n \"cached_total_ingress_kb\": 100,\n \"cached_total_egress_kb\": 100,\n \"cached_total_duration_ms\": 60000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n },\n {\n \"saas_application\": {\n \"name\": \"Omniscreen\",\n \"saas_domain\": \"omniscreen.io\",\n \"company_name\": \"Omniscreen\",\n \"categories\": \"['Cyber Security']\",\n \"description\": \"Omniscreen is the industry's most effective network security posture management (NSPM) tool, enabling organizations to apply open-source, third-party, or proprietary scanning methodologies against the web-facing infrastructure of their cloud implementations.\",\n \"founded_on\": \"2024\",\n \"headquarters_city\": \"Austin\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user2@example.com\",\n \"segments\": \"\",\n \"subdomains\": \"\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 5,\n \"cached_total_ingress_kb\": 200,\n \"cached_total_egress_kb\": 200,\n \"cached_total_duration_ms\": 1200000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n }\n]"}],"_postman_id":"6da38af3-fa19-4159-9608-c448f86cb401"},{"name":"Retrieve App Discovery App","id":"97a799c5-51f7-4f45-aa5d-2ab40cc69b7b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/apps/?app={{app_name}}","description":"

Returns a specific Discovery App.

\n

Response Fields

\n

Same fields as List Discovery apps endpoint, but returns a single object instead of an array.

\n","urlObject":{"protocol":"https","path":["api","v1","discovery","apps",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

String; The name of the Discovery app

\n","type":"text/plain"},"key":"app","value":"{{app_name}}"}],"variable":[]}},"response":[{"id":"36143d8d-c777-4dc4-95a4-f6664fa953f1","name":"Retrieve Discovery App","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/discovery/apps/?app=appomni","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","discovery","apps",""],"query":[{"key":"app","value":"appomni"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"saas_application\": {\n \"name\": \"AppOmni\",\n \"saas_domain\": \"appomni.com\",\n \"company_name\": \"AppOmni\",\n \"categories\": \"['Cloud Management', 'Cloud Security', 'Cyber Security', 'SaaS', 'Software']\",\n \"description\": \"AppOmni SaaS security helps security and IT teams protect and monitor their entire SaaS environment, from each vendor to every end-user.\",\n \"founded_on\": \"2018\",\n \"headquarters_city\": \"San Francisco\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user1@example.com\",\n \"segments\": \"/example1 /example2\",\n \"subdomains\": \"example\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 3,\n \"cached_total_ingress_kb\": 100,\n \"cached_total_egress_kb\": 100,\n \"cached_total_duration_ms\": 60000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n}"}],"_postman_id":"97a799c5-51f7-4f45-aa5d-2ab40cc69b7b"}],"id":"8d2dc4a9-168c-4785-a9f6-2359dd97144e","_postman_id":"8d2dc4a9-168c-4785-a9f6-2359dd97144e","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"App Discovery UserAppPages","item":[{"name":"List App Discovery UserAppPages","id":"07caeba3-bf5a-45be-9307-375fa477e4b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/user-app-pages/?limit=50&offset=0&ordering=-last_visited_at&user={{user_email}}&app={{app_name}}&min_visits=5","description":"

Returns a list of Discovery UserAppPages.

\n

A Discovery UserAppPage contains data about a given Discovery user's activity on a given Discovery app.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
identityObjectMetadata about the Discovery userSee nested fields below
identity.emailStringEmail address of the Discovery user\"user1@example.com\"
identity.user_agents_seenStringJSON array of user agent strings\"[\"Mozilla/5.0...\"]\"
org_saas_applicationObjectMetadata about the Discovery appSee nested fields below
org_saas_application.saas_applicationObjectCore SaaS application detailsSame as Discovery Apps fields
org_saas_application.ownerStringOwner of the Discovery app\"user1@example.com\"
org_saas_application.segmentsStringPath segments for the app\"/example1 /example2\"
org_saas_application.subdomainsStringSubdomains for the app\"example\"
org_saas_application.statusStringReview status of the app\"approved\"
org_saas_application.criticalityStringCriticality level of the app\"high\"
org_saas_application.cached_unique_users_countIntegerCached unique users count3
org_saas_application.cached_total_ingress_kbIntegerCached download volume (kB)100
org_saas_application.cached_total_egress_kbIntegerCached upload volume (kB)100
org_saas_application.cached_total_duration_msIntegerCached time spent (ms)60000
org_saas_application.cached_first_seenString (ISO datetime)First activity timestamp\"1960-01-01T0:00:00.0000Z\"
org_saas_application.cached_last_seenString (ISO datetime)Last activity timestamp\"2025-05-15T0:00:00.0000Z\"
org_saas_application.stats_last_updatedString (ISO datetime)Cache update timestamp\"2025-05-15T0:00:00.0000Z\"
segmentsStringThe path segments on which the Discovery user has activity on the Discovery app\"/example1\"
subdomainsStringThe subdomains on which the Discovery user has activity on the Discovery app\"example\"
duration_msIntegerThe amount of time the Discovery user has spent on the Discovery app (ms)30000
data_ingress_kbIntegerThe volume of data downloaded from the Discovery app by the Discovery user (kB)50
data_egress_kbIntegerThe volume of data uploaded to the Discovery app by the Discovery user (kB)50
visits_countIntegerThe number of times the Discovery user has visited the Discovery app12
first_visited_atString (ISO datetime)The timestamp of when activity on the Discovery app by the Discovery user first occurred\"1960-01-01T0:00:00.0000Z\"
last_visited_atString (ISO datetime)The timestamp of when activity on the Discovery app by the Discovery user last occurred\"2025-05-15T0:00:00.0000Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","discovery","user-app-pages",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by

\n","type":"text/plain"},"key":"ordering","value":"-last_visited_at"},{"description":{"content":"

String; Filter by user email address

\n","type":"text/plain"},"key":"user","value":"{{user_email}}"},{"description":{"content":"

String; Filter by app name

\n","type":"text/plain"},"key":"app","value":"{{app_name}}"},{"description":{"content":"

Integer; Minimum number of visits

\n","type":"text/plain"},"key":"min_visits","value":"5"}],"variable":[]}},"response":[{"id":"d65fb544-929d-4c67-b23c-9994649d680d","name":"List Discovery UserAppPages","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/user-app-pages/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"identity\": {\n \"email\": \"user1@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n },\n \"org_saas_application\": {\n \"saas_application\": {\n \"name\": \"AppOmni\",\n \"saas_domain\": \"appomni.com\",\n \"company_name\": \"AppOmni\",\n \"categories\": \"['Cloud Management', 'Cloud Security', 'Cyber Security', 'SaaS', 'Software']\",\n \"description\": \"AppOmni SaaS security helps security and IT teams protect and monitor their entire SaaS environment, from each vendor to every end-user.\",\n \"founded_on\": \"2018\",\n \"headquarters_city\": \"San Francisco\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user1@example.com\",\n \"segments\": \"/example1 /example2\",\n \"subdomains\": \"example\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 3,\n \"cached_total_ingress_kb\": 100,\n \"cached_total_egress_kb\": 100,\n \"cached_total_duration_ms\": 60000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n },\n \"segments\": \"/example1\",\n \"subdomains\": \"example\",\n \"duration_ms\": 30000,\n \"data_ingress_kb\": 50,\n \"data_egress_kb\": 50,\n \"visits_count\": 12,\n \"first_visited_at\": \"1960-01-01T0:00:00.0000Z\",\n \"last_visited_at\": \"2025-05-15T0:00:00.0000Z\"\n },\n {\n \"identity\": {\n \"email\": \"user2@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n },\n \"org_saas_application\": {\n \"saas_application\": {\n \"name\": \"AppOmni\",\n \"saas_domain\": \"appomni.com\",\n \"company_name\": \"AppOmni\",\n \"categories\": \"['Cloud Management', 'Cloud Security', 'Cyber Security', 'SaaS', 'Software']\",\n \"description\": \"AppOmni SaaS security helps security and IT teams protect and monitor their entire SaaS environment, from each vendor to every end-user.\",\n \"founded_on\": \"2018\",\n \"headquarters_city\": \"San Francisco\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user1@example.com\",\n \"segments\": \"/example1 /example2\",\n \"subdomains\": \"example\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 3,\n \"cached_total_ingress_kb\": 100,\n \"cached_total_egress_kb\": 100,\n \"cached_total_duration_ms\": 60000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n },\n \"segments\": \"/example2\",\n \"subdomains\": \"example\",\n \"duration_ms\": 30000,\n \"data_ingress_kb\": 50,\n \"data_egress_kb\": 50,\n \"visits_count\": 4,\n \"first_visited_at\": \"1960-01-01T0:00:00.0000Z\",\n \"last_visited_at\": \"2025-05-15T0:00:00.0000Z\"\n },\n {\n \"identity\": {\n \"email\": \"user1@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n },\n \"org_saas_application\": {\n \"saas_application\": {\n \"name\": \"Omniscreen\",\n \"saas_domain\": \"omniscreen.io\",\n \"company_name\": \"Omniscreen\",\n \"categories\": \"['Cyber Security']\",\n \"description\": \"Omniscreen is the industry's most effective network security posture management (NSPM) tool, enabling organizations to apply open-source, third-party, or proprietary scanning methodologies against the web-facing infrastructure of their cloud implementations.\",\n \"founded_on\": \"2024\",\n \"headquarters_city\": \"Austin\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user2@example.com\",\n \"segments\": \"\",\n \"subdomains\": \"\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 5,\n \"cached_total_ingress_kb\": 200,\n \"cached_total_egress_kb\": 200,\n \"cached_total_duration_ms\": 1200000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n },\n \"segments\": \"\",\n \"subdomains\": \"\",\n \"duration_ms\": 10000,\n \"data_ingress_kb\": 100,\n \"data_egress_kb\": 100,\n \"visits_count\": 50,\n \"first_visited_at\": \"1960-01-01T0:00:00.0000Z\",\n \"last_visited_at\": \"2025-05-15T0:00:00.0000Z\"\n }\n]"}],"_postman_id":"07caeba3-bf5a-45be-9307-375fa477e4b6"},{"name":"Retrieve App Discovery UserAppPage","id":"e5cc0687-cccd-4feb-a4e6-51ca7817b422","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/user-app-pages/?user={{user_email}}&app={{app_name}}","description":"

Returns Discovery UserAppPages filtered by user and/or app.

\n

Response Fields

\n

Returns an array of UserAppPage objects with the same fields as List Discovery UserAppPages endpoint.

\n","urlObject":{"protocol":"https","path":["api","v1","discovery","user-app-pages",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

String; The email address of the Discovery user

\n","type":"text/plain"},"key":"user","value":"{{user_email}}"},{"description":{"content":"

String; The name of the Discovery app

\n","type":"text/plain"},"key":"app","value":"{{app_name}}"}],"variable":[]}},"response":[{"id":"e4548121-97bd-4475-81b3-085c74ec0108","name":"Retrieve Discovery UserAppPage","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/discovery/user-app-pages/?user=user1@example.com&app=appomni","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","discovery","user-app-pages",""],"query":[{"key":"user","value":"user1@example.com"},{"key":"app","value":"appomni"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"identity\": {\n \"email\": \"user1@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n },\n \"org_saas_application\": {\n \"saas_application\": {\n \"name\": \"AppOmni\",\n \"saas_domain\": \"appomni.com\",\n \"company_name\": \"AppOmni\",\n \"categories\": \"['Cloud Management', 'Cloud Security', 'Cyber Security', 'SaaS', 'Software']\",\n \"description\": \"AppOmni SaaS security helps security and IT teams protect and monitor their entire SaaS environment, from each vendor to every end-user.\",\n \"founded_on\": \"2018\",\n \"headquarters_city\": \"San Francisco\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user1@example.com\",\n \"segments\": \"/example1 /example2\",\n \"subdomains\": \"example\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 3,\n \"cached_total_ingress_kb\": 100,\n \"cached_total_egress_kb\": 100,\n \"cached_total_duration_ms\": 60000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n },\n \"segments\": \"/example1\",\n \"subdomains\": \"example\",\n \"duration_ms\": 30000,\n \"data_ingress_kb\": 50,\n \"data_egress_kb\": 50,\n \"visits_count\": 12,\n \"first_visited_at\": \"1960-01-01T0:00:00.0000Z\",\n \"last_visited_at\": \"2025-05-15T0:00:00.0000Z\"\n },\n {\n \"identity\": {\n \"email\": \"user1@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n },\n \"org_saas_application\": {\n \"saas_application\": {\n \"name\": \"Omniscreen\",\n \"saas_domain\": \"omniscreen.io\",\n \"company_name\": \"Omniscreen\",\n \"categories\": \"['Cyber Security']\",\n \"description\": \"Omniscreen is the industry's most effective network security posture management (NSPM) tool, enabling organizations to apply open-source, third-party, or proprietary scanning methodologies against the web-facing infrastructure of their cloud implementations.\",\n \"founded_on\": \"2024\",\n \"headquarters_city\": \"Austin\",\n \"headquarters_country\": \"United States\"\n },\n \"owner\": \"user2@example.com\",\n \"segments\": \"\",\n \"subdomains\": \"\",\n \"status\": \"approved\",\n \"criticality\": \"high\",\n \"cached_unique_users_count\": 5,\n \"cached_total_ingress_kb\": 200,\n \"cached_total_egress_kb\": 200,\n \"cached_total_duration_ms\": 1200000,\n \"cached_first_seen\": \"1960-01-01T0:00:00.0000Z\",\n \"cached_last_seen\": \"2025-05-15T0:00:00.0000Z\",\n \"stats_last_updated\": \"2025-05-15T0:00:00.0000Z\"\n },\n \"segments\": \"\",\n \"subdomains\": \"\",\n \"duration_ms\": 10000,\n \"data_ingress_kb\": 100,\n \"data_egress_kb\": 100,\n \"visits_count\": 50,\n \"first_visited_at\": \"1960-01-01T0:00:00.0000Z\",\n \"last_visited_at\": \"2025-05-15T0:00:00.0000Z\"\n }\n]"}],"_postman_id":"e5cc0687-cccd-4feb-a4e6-51ca7817b422"}],"id":"ec5ffdf3-b2c7-4019-9aa9-cb6e1f28dcff","_postman_id":"ec5ffdf3-b2c7-4019-9aa9-cb6e1f28dcff","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"App Discovery Users","item":[{"name":"List App Discovery Users","id":"f25f496f-d759-4bd4-865c-1e6f5c9a77a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/users/?limit=50&offset=0&ordering=email&search=example.com","description":"

Returns a list of Discovery users.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
emailStringThe email address of the Discovery user\"user1@example.com\"
user_agents_seenStringJSON array of user agent strings the Discovery user has generated\"[\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...\"]\"
\n
","urlObject":{"protocol":"https","path":["api","v1","discovery","users",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by

\n","type":"text/plain"},"key":"ordering","value":"email"},{"description":{"content":"

String; Search term to filter by email

\n","type":"text/plain"},"key":"search","value":"example.com"}],"variable":[]}},"response":[{"id":"2403bdc1-4198-428c-a803-8768452b59d4","name":"List Discovery Users","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/users/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"[\n {\n \"email\": \"user1@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n },\n {\n \"email\": \"user2@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n }\n]"}],"_postman_id":"f25f496f-d759-4bd4-865c-1e6f5c9a77a3"},{"name":"Retrieve App Discovery User","id":"15e07049-6718-4f2c-b072-f6b14e869939","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/discovery/users/?user={{user_email}}","description":"

Returns a specific Discovery user.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
emailStringThe email address of the Discovery user\"user1@example.com\"
user_agents_seenStringJSON array of user agent strings the Discovery user has generated\"[\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...\"]\"
\n
","urlObject":{"protocol":"https","path":["api","v1","discovery","users",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

String; The email address of the Discovery user

\n","type":"text/plain"},"key":"user","value":"{{user_email}}"}],"variable":[]}},"response":[{"id":"ad78b7db-bbe7-4f81-9653-5e1b0108f42b","name":"Retrieve Discovery User","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer [your_api_token]","description":"AppOmni API Token","type":"text"}],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/discovery/users/?user=user1@example.com","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","discovery","users",""],"query":[{"key":"user","value":"user1@example.com"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"email\": \"user1@example.com\",\n \"user_agents_seen\": \"[\\\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\\\"]\"\n}"}],"_postman_id":"15e07049-6718-4f2c-b072-f6b14e869939"}],"id":"30ea001a-21b2-4aa9-9abd-c0bca194a798","_postman_id":"30ea001a-21b2-4aa9-9abd-c0bca194a798","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}}],"id":"46acf7d4-3efb-4843-a3f2-a34810ee4f9f","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"13e665ab-8784-48d1-b1ee-1756dd6c81c9"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"1d224928-168e-4615-b69e-f7af7fc5e6d9"}}],"_postman_id":"46acf7d4-3efb-4843-a3f2-a34810ee4f9f","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Custom Fields","item":[{"name":"List custom fields","id":"7fec834e-7356-4040-9394-c0db399691c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/?limit=50&offset=0&ordering=id&search=field&id__in=[\"e6a1993f-52c4-4e82-b734-7772ed551aa1\",\"1d0dccb1-b3c3-462e-a95f-a4a2dba72d15\"]&display_name__icontains=example&field_name__icontains=example&field_type=string&unassigned_parent_id=[1]","description":"

Returns a list of custom fields.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
display_nameStringDisplay name for the custom field\"First Field\"
field_nameStringUnique field name for the custom field\"field_1\"
field_typeStringData type the field can have (decimal, integer, string)\"string\"
descriptionStringOptional descriptive text\"My first field\"
idString (UUID)Unique identifier for the custom field\"864b35f9-b042-4a9d-b6a4-f293e8ea7fda\"
createdString (ISO datetime)Timestamp when the custom field was created\"2024-07-03T15:08:32.502585Z\"
modifiedString (ISO datetime)Timestamp when the custom field was last modified\"2024-07-03T15:08:32.502607Z\"
external_idString or nullExternal identifier controlled by end usernull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","custom_field",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

Array[String]; Fields used to order the results. Leading \"-\" symbols denotes descending ordering

\n","type":"text/plain"},"key":"ordering","value":"id"},{"description":{"content":"

String; Restrict results to objects matching the search criteria

\n","type":"text/plain"},"key":"search","value":"field"},{"description":{"content":"

Array[UUID]; Filter items by matching their ids

\n","type":"text/plain"},"key":"id__in","value":"[\"e6a1993f-52c4-4e82-b734-7772ed551aa1\",\"1d0dccb1-b3c3-462e-a95f-a4a2dba72d15\"]"},{"description":{"content":"

String; Filter items by partially matching display_name

\n","type":"text/plain"},"key":"display_name__icontains","value":"example"},{"description":{"content":"

String; Filter items by partially matching field_name

\n","type":"text/plain"},"key":"field_name__icontains","value":"example"},{"description":{"content":"

String; Filter items by matching field_type

\n","type":"text/plain"},"key":"field_type","value":"string"},{"description":{"content":"

Array[Integer]; Filter items by those without a link to a specific parent id (monitored service id)

\n","type":"text/plain"},"key":"unassigned_parent_id","value":"[1]"}],"variable":[]}},"response":[{"id":"db512dd3-c70f-4934-8eaf-5a64b96de3a5","name":"List Custom Fields","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"next\": null,\n \"prev\": null,\n \"count\": 2,\n \"results\": [\n {\n \"display_name\": \"First Field\",\n \"field_name\": \"field_1\",\n \"field_type\": \"string\",\n \"description\": \"My first field\",\n \"id\": \"864b35f9-b042-4a9d-b6a4-f293e8ea7fda\",\n \"created\": \"2024-07-03T15:08:32.502585Z\",\n \"modified\": \"2024-07-03T15:08:32.502607Z\",\n \"external_id\": null\n },\n {\n \"display_name\": \"Second Field\",\n \"field_name\": \"field_2\",\n \"field_type\": \"string\",\n \"description\": \"My second field\",\n \"id\": \"98bb896d-5bfc-4ff2-968e-1054df7d9ee3\",\n \"created\": \"2024-07-03T18:31:52.247665Z\",\n \"modified\": \"2024-07-03T18:31:52.247707Z\",\n \"external_id\": null\n }\n ]\n}"}],"_postman_id":"7fec834e-7356-4040-9394-c0db399691c5"},{"name":"Retrieve a custom field","id":"284be47d-f1f9-4552-8e68-18b1efe313d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/:custom_field_id/","description":"

Returns a specific custom field.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
display_nameStringDisplay name for the custom field\"First Field\"
field_nameStringUnique field name for the custom field\"field_1\"
field_typeStringData type the field can have (decimal, integer, string)\"string\"
descriptionStringOptional descriptive text\"My first field\"
idString (UUID)Unique identifier for the custom field\"864b35f9-b042-4a9d-b6a4-f293e8ea7fda\"
createdString (ISO datetime)Timestamp when the custom field was created\"2024-07-03T15:08:32.502585Z\"
modifiedString (ISO datetime)Timestamp when the custom field was last modified\"2024-07-03T15:08:32.502607Z\"
external_idString or nullExternal identifier controlled by end usernull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","custom_field",":custom_field_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Custom Field id

\n","type":"text/plain"},"type":"any","value":"","key":"custom_field_id"}]}},"response":[{"id":"c9ff5d9e-6c55-4bb1-9a97-c683fc9ca12e","name":"Retrieve Custom Field","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/:custom_field_id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","custom_field",":custom_field_id",""],"variable":[{"key":"custom_field_id","value":"","description":"Custom Field id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"display_name\": \"First Field\",\n \"field_name\": \"field_1\",\n \"field_type\": \"string\",\n \"description\": \"My first field\",\n \"id\": \"864b35f9-b042-4a9d-b6a4-f293e8ea7fda\",\n \"created\": \"2024-07-03T15:08:32.502585Z\",\n \"modified\": \"2024-07-03T15:08:32.502607Z\",\n \"external_id\": null\n}"}],"_postman_id":"284be47d-f1f9-4552-8e68-18b1efe313d5"},{"name":"List custom field types","id":"dd2484d4-22fb-4cf1-ab2c-8ca109956696","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/types","description":"

Returns a list of custom field types.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
dataArray[String]List of available custom field types[\"decimal\", \"integer\", \"string\"]
\n
","urlObject":{"protocol":"https","path":["api","v1","core","custom_field","types"],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"5e48ce0a-c129-47a5-8857-f3d25294e78b","name":"List Custom Field Types","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/types"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"data\": [\n \"decimal\",\n \"integer\",\n \"string\"\n ]\n}"}],"_postman_id":"dd2484d4-22fb-4cf1-ab2c-8ca109956696"},{"name":"Create custom field","id":"4e33f1b9-2f3d-4021-bea7-8f2db6524a58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"display_name\": \"Example Field\",\n \"field_name\": \"example_field\",\n \"field_type\": \"string\",\n \"description\": \"This is an example\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/","description":"

Creates a custom field.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
display_nameStringYesUnique display name for the custom field\"Example Field\"
field_nameString (max 40 chars)YesUnique field name for the custom field. This is how the custom field is referenced in Ticketing Templates\"example_field\"
field_typeStringYesData type the field can have. Allowed values: decimal, integer, string\"string\"
descriptionString (max 240 chars)NoOptional descriptive text\"This is an example\"
external_idString (max 256 chars)NoExternal identifier controlled by end usernull
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
display_nameStringDisplay name for the custom field\"Example Field\"
field_nameStringUnique field name for the custom field\"example_field\"
field_typeStringData type the field can have (decimal, integer, string)\"string\"
descriptionStringOptional descriptive text\"This is an example\"
idString (UUID)Unique identifier for the custom field\"3060cb2e-2bad-4d15-848b-e5b828db1ab5\"
createdString (ISO datetime)Timestamp when the custom field was created\"2024-10-04T17:15:57.532217Z\"
modifiedString (ISO datetime)Timestamp when the custom field was last modified\"2024-10-04T17:15:57.532244Z\"
external_idString or nullExternal identifier controlled by end usernull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","custom_field",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"ffbd4556-1240-4993-a503-cdbd9992901d","name":"Create Custom Field","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"display_name\": \"Example Field\",\n \"field_name\": \"example_field\",\n \"field_type\": \"string\",\n \"description\": \"This is an example\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"display_name\": \"Example Field\",\n \"field_name\": \"example_field\",\n \"field_type\": \"string\",\n \"description\": \"This is an example\",\n \"id\": \"3060cb2e-2bad-4d15-848b-e5b828db1ab5\",\n \"created\": \"2024-10-04T17:15:57.532217Z\",\n \"modified\": \"2024-10-04T17:15:57.532244Z\",\n \"external_id\": null\n}"}],"_postman_id":"4e33f1b9-2f3d-4021-bea7-8f2db6524a58"},{"name":"Update custom field","id":"c0f08b5b-98a2-4fdd-8f2a-8581c04dd15c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"description\": \"New description\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/:custom_field_id/","description":"

Updates a custom field.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
descriptionString (max 240 chars)NoOptional descriptive text\"New description\"
external_idString (max 256 chars)NoExternal identifier controlled by end usernull
\n

Note: Only the description and external_id fields can be updated. The display_name, field_name, and field_type are immutable after creation.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
display_nameStringDisplay name for the custom field\"Example Field\"
field_nameStringUnique field name for the custom field\"example_field\"
field_typeStringData type the field can have (decimal, integer, string)\"string\"
descriptionStringOptional descriptive text\"New description\"
idString (UUID)Unique identifier for the custom field\"864b35f9-b042-4a9d-b6a4-f293e8ea7fda\"
createdString (ISO datetime)Timestamp when the custom field was created\"2024-07-03T15:08:32.502585Z\"
modifiedString (ISO datetime)Timestamp when the custom field was last modified\"2024-07-03T15:08:32.502607Z\"
external_idString or nullExternal identifier controlled by end usernull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","custom_field",":custom_field_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Custom Field id

\n","type":"text/plain"},"type":"any","value":"","key":"custom_field_id"}]}},"response":[{"id":"45187d40-5a1a-43f2-bf80-198919416202","name":"Update Custom Field","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"description\": \"New description\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/custom_field/:custom_field_id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","custom_field",":custom_field_id",""],"variable":[{"key":"custom_field_id","value":"","description":"Custom Field id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"display_name\": \"Example Field\",\n \"field_name\": \"example_field\",\n \"field_type\": \"string\",\n \"description\": \"New description\",\n \"id\": \"864b35f9-b042-4a9d-b6a4-f293e8ea7fda\",\n \"created\": \"2024-07-03T15:08:32.502585Z\",\n \"modified\": \"2024-07-03T15:08:32.502607Z\",\n \"external_id\": null\n}"}],"_postman_id":"c0f08b5b-98a2-4fdd-8f2a-8581c04dd15c"}],"id":"2812623b-94dd-4d4e-b7d9-3c5c78c64634","description":"

The Custom Fields API controls the tenant-wide fields that can be custom-created and assigned to different monitored services.

\n

Note: Delete operations for custom fields is disabled in this API for all users.

\n

Reference information for the custom fields endpoints:

\n","_postman_id":"2812623b-94dd-4d4e-b7d9-3c5c78c64634","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Custom Field Values for a Monitored Service","item":[{"name":"List MS custom field value","id":"f030d6a2-0caa-453e-a5fe-ec1f84600b64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/?limit=25&offset=0&ordering=id&search=test&value__icontains=value&custom_field_id__in=[\"586c7ec5-8a22-4f9e-b20f-1c32c17c6466\",\"9d1ec864-3700-453f-8bd0-038284da11db\"]","description":"

Returns the values associated with the custom fields for a monitored service.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
valueStringCustom field value specific to the parent\"test_value\"
custom_field_idString (UUID)ID of custom field\"bcd705b3-8de2-4e10-9de4-4c9a27d05060\"
custom_fieldObjectInformation about the custom fieldSee nested fields below
custom_field.display_nameStringDisplay name of the custom field\"test_field_1\"
custom_field.field_nameStringField name of the custom field\"test_field_1\"
custom_field.field_typeStringData type of the custom field\"string\"
custom_field.descriptionStringDescription of the custom field\"This is a test\"
custom_field.idString (UUID)ID of the custom field\"bcd705b3-8de2-4e10-9de4-4c9a27d05060\"
custom_field.createdString (ISO datetime)When the custom field was created\"2024-07-23T18:11:51.855378Z\"
custom_field.modifiedString (ISO datetime)When the custom field was last modified\"2024-07-23T18:11:51.855425Z\"
custom_field.external_idString or nullExternal ID of the custom fieldnull
idString (UUID)ID of field > monitored service link\"485c31ec-e906-409e-81f0-9fdb0f42f4fa\"
parent_idIntegerID of parent monitored service1
createdString (ISO datetime)When the link was created\"2024-07-23T18:12:56.348662Z\"
modifiedString (ISO datetime)When link was last updated\"2024-07-23T18:12:56.348700Z\"
external_idString or nullExternal IDnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","custom_fields",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Limits number of items returned

\n","type":"text/plain"},"key":"limit","value":"25"},{"description":{"content":"

Integer; Zero-based offset of the first item returned in the collection

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

Array[String]; Fields used to order the results. Leading minus \"-\" symbol denotes descending ordering

\n","type":"text/plain"},"key":"ordering","value":"id"},{"description":{"content":"

String; Restricts results to objects matching the search criteria

\n","type":"text/plain"},"key":"search","value":"test"},{"description":{"content":"

String; Filter items by value

\n","type":"text/plain"},"key":"value__icontains","value":"value"},{"description":{"content":"

Array[UUID]; Filter items by their custom_field_id

\n","type":"text/plain"},"key":"custom_field_id__in","value":"[\"586c7ec5-8a22-4f9e-b20f-1c32c17c6466\",\"9d1ec864-3700-453f-8bd0-038284da11db\"]"}],"variable":[{"description":{"content":"

Monitored Service id

\n","type":"text/plain"},"type":"any","value":"{{ms_id}}","key":"ms_id"}]}},"response":[{"id":"29e6c820-cfc0-4ea6-ac2c-64824cd0fed1","name":"List MS Custom Field Value","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","custom_fields",""],"variable":[{"key":"ms_id","value":"","description":"Monitored Service id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"next\": null,\n \"prev\": null,\n \"count\": 2,\n \"results\": [\n {\n \"value\": \"test_value\",\n \"custom_field_id\": \"bcd705b3-8de2-4e10-9de4-4c9a27d05060\",\n \"custom_field\": {\n \"display_name\": \"test_field_1\",\n \"field_name\": \"test_field_1\",\n \"field_type\": \"string\",\n \"description\": \"This is a test\",\n \"id\": \"bcd705b3-8de2-4e10-9de4-4c9a27d05060\",\n \"created\": \"2024-07-23T18:11:51.855378Z\",\n \"modified\": \"2024-07-23T18:11:51.855425Z\",\n \"external_id\": null\n },\n \"id\": \"485c31ec-e906-409e-81f0-9fdb0f42f4fa\",\n \"parent_id\": 1,\n \"created\": \"2024-07-23T18:12:56.348662Z\",\n \"modified\": \"2024-07-23T18:12:56.348700Z\",\n \"external_id\": null\n },\n {\n \"value\": \"test_value\",\n \"custom_field_id\": \"8fd819e0-4ecf-4d2b-95f4-e64e3eb18785\",\n \"custom_field\": {\n \"display_name\": \"test_field_2\",\n \"field_name\": \"test_field_2\",\n \"field_type\": \"string\",\n \"description\": \"\",\n \"id\": \"8fd819e0-4ecf-4d2b-95f4-e64e3eb18785\",\n \"created\": \"2024-07-23T18:27:49.891064Z\",\n \"modified\": \"2024-07-23T18:27:49.891086Z\",\n \"external_id\": null\n },\n \"id\": \"a880ea80-f055-4397-a5b1-375bbedc9758\",\n \"parent_id\": 1,\n \"created\": \"2024-07-23T18:28:00.737541Z\",\n \"modified\": \"2024-07-23T18:28:00.737569Z\",\n \"external_id\": null\n }\n ]\n}"}],"_postman_id":"f030d6a2-0caa-453e-a5fe-ec1f84600b64"},{"name":"Retrieve a MS custom field value","id":"72a14349-a379-4dc5-99c2-e133c2b84430","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/:custom_field_value_id/","description":"

Returns the value associated with a specific custom field.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
valueStringCustom field value specific to the parent\"test_value\"
custom_field_idString (UUID)ID of custom field\"bcd705b3-8de2-4e10-9de4-4c9a27d05060\"
custom_fieldObjectInformation about the custom fieldSee nested fields below
custom_field.display_nameStringDisplay name of the custom field\"test_field_1\"
custom_field.field_nameStringField name of the custom field\"test_field_1\"
custom_field.field_typeStringData type of the custom field\"string\"
custom_field.descriptionStringDescription of the custom field\"This is a test\"
custom_field.idString (UUID)ID of the custom field\"bcd705b3-8de2-4e10-9de4-4c9a27d05060\"
custom_field.createdString (ISO datetime)When the custom field was created\"2024-07-23T18:11:51.855378Z\"
custom_field.modifiedString (ISO datetime)When the custom field was last modified\"2024-07-23T18:11:51.855425Z\"
custom_field.external_idString or nullExternal ID of the custom fieldnull
idString (UUID)ID of field > monitored service link\"485c31ec-e906-409e-81f0-9fdb0f42f4fa\"
parent_idIntegerID of parent monitored service1
createdString (ISO datetime)When the link was created\"2024-07-23T18:12:56.348662Z\"
modifiedString (ISO datetime)When link was last updated\"2024-07-23T18:12:56.348700Z\"
external_idString or nullExternal IDnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","custom_fields",":custom_field_value_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Monitored Service id

\n","type":"text/plain"},"type":"any","value":"{{ms_id}}","key":"ms_id"},{"description":{"content":"

Custom Field Value id

\n","type":"text/plain"},"type":"any","value":"{{custom_field_value_id}}","key":"custom_field_value_id"}]}},"response":[{"id":"e9438feb-da6f-4964-b000-df8d491e03a6","name":"Retrieve MS Custom Field Value","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/:custom_field_value_id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","custom_fields",":custom_field_value_id",""],"variable":[{"key":"ms_id","value":"","description":"Monitored Service id"},{"key":"custom_field_value_id","value":"","description":"Custom Field Value id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"value\": \"test_value\",\n \"custom_field_id\": \"bcd705b3-8de2-4e10-9de4-4c9a27d05060\",\n \"custom_field\": {\n \"display_name\": \"test_field_1\",\n \"field_name\": \"test_field_1\",\n \"field_type\": \"string\",\n \"description\": \"This is a test\",\n \"id\": \"bcd705b3-8de2-4e10-9de4-4c9a27d05060\",\n \"created\": \"2024-07-23T18:11:51.855378Z\",\n \"modified\": \"2024-07-23T18:11:51.855425Z\",\n \"external_id\": null\n },\n \"id\": \"485c31ec-e906-409e-81f0-9fdb0f42f4fa\",\n \"parent_id\": 1,\n \"created\": \"2024-07-23T18:12:56.348662Z\",\n \"modified\": \"2024-07-23T18:12:56.348700Z\",\n \"external_id\": null\n}"}],"_postman_id":"72a14349-a379-4dc5-99c2-e133c2b84430"},{"name":"Create MS custom field value","id":"d4e1c640-8eee-4b18-8938-5e042b14f27e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"value\": \"test_value\",\n \"custom_field_id\": \"{{Custom Field id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/","description":"

Creates a new custom field value for a monitored service.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
valueString (max 40 chars), Integer, or FloatYesCustom field value specific to the parent\"test_value\"
custom_field_idString (UUID)YesID of the custom field to link\"bcd705b3-8de2-4e10-9de4-4c9a27d05060\"
external_idString (max 256 chars)NoExternal IDnull
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
valueStringCustom field value specific to the parent\"test_value\"
custom_field_idString (UUID)ID of custom field\"e308a3db-4527-4c6f-9bfd-02eb580a10e2\"
custom_fieldObjectInformation about the custom fieldSee nested fields below
custom_field.display_nameStringDisplay name of the custom field\"test_field_3\"
custom_field.field_nameStringField name of the custom field\"test_field_3\"
custom_field.field_typeStringData type of the custom field\"string\"
custom_field.descriptionStringDescription of the custom field\"\"
custom_field.idString (UUID)ID of the custom field\"e308a3db-4527-4c6f-9bfd-02eb580a10e2\"
custom_field.createdString (ISO datetime)When the custom field was created\"2024-07-23T19:02:26.139111Z\"
custom_field.modifiedString (ISO datetime)When the custom field was last modified\"2024-07-23T19:02:26.139141Z\"
custom_field.external_idString or nullExternal ID of the custom fieldnull
idString (UUID)ID of field > monitored service link\"d2da8cfb-6cdb-4ba6-b02c-1ec85a1c32f4\"
parent_idIntegerID of parent monitored service1
createdString (ISO datetime)When the link was created\"2024-07-23T19:02:33.705217Z\"
modifiedString (ISO datetime)When link was last updated\"2024-07-23T19:02:33.705245Z\"
external_idString or nullExternal IDnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","custom_fields",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Monitored Service id

\n","type":"text/plain"},"type":"any","value":"{{ms_id}}","key":"ms_id"}]}},"response":[{"id":"81092a10-795a-45a5-af7f-53118f06d36c","name":"Create MS Custom Field Value","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"value\": \"test_value\",\n \"custom_field_id\": \"{{Custom Field id}}\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","custom_fields",""],"variable":[{"key":"ms_id","value":"","description":"Monitored Service id"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"value\": \"test_value\",\n \"custom_field_id\": \"e308a3db-4527-4c6f-9bfd-02eb580a10e2\",\n \"custom_field\": {\n \"display_name\": \"test_field_3\",\n \"field_name\": \"test_field_3\",\n \"field_type\": \"string\",\n \"description\": \"\",\n \"id\": \"e308a3db-4527-4c6f-9bfd-02eb580a10e2\",\n \"created\": \"2024-07-23T19:02:26.139111Z\",\n \"modified\": \"2024-07-23T19:02:26.139141Z\",\n \"external_id\": null\n },\n \"id\": \"d2da8cfb-6cdb-4ba6-b02c-1ec85a1c32f4\",\n \"parent_id\": 1,\n \"created\": \"2024-07-23T19:02:33.705217Z\",\n \"modified\": \"2024-07-23T19:02:33.705245Z\",\n \"external_id\": null\n}"}],"_postman_id":"d4e1c640-8eee-4b18-8938-5e042b14f27e"},{"name":"Update MS custom field value","id":"86665965-7485-4589-adc2-0177eebaf522","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"value\": \"new_value\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/:custom_field_value_id/","description":"

Updates a custom field value for a specified monitored service.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
valueString (max 40 chars), Integer, or FloatNoCustom field value specific to the parent\"new_value\"
external_idString (max 256 chars)NoExternal IDnull
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
valueStringCustom field value specific to the parent\"new_value\"
custom_field_idString (UUID)ID of custom field\"e308a3db-4527-4c6f-9bfd-02eb580a10e2\"
custom_fieldObjectInformation about the custom fieldSee nested fields below
custom_field.display_nameStringDisplay name of the custom field\"test_field_3\"
custom_field.field_nameStringField name of the custom field\"test_field_3\"
custom_field.field_typeStringData type of the custom field\"string\"
custom_field.descriptionStringDescription of the custom field\"\"
custom_field.idString (UUID)ID of the custom field\"e308a3db-4527-4c6f-9bfd-02eb580a10e2\"
custom_field.createdString (ISO datetime)When the custom field was created\"2024-07-23T19:02:26.139111Z\"
custom_field.modifiedString (ISO datetime)When the custom field was last modified\"2024-07-23T19:02:26.139141Z\"
custom_field.external_idString or nullExternal ID of the custom fieldnull
idString (UUID)ID of field > monitored service link\"d2da8cfb-6cdb-4ba6-b02c-1ec85a1c32f4\"
parent_idIntegerID of parent monitored service1
createdString (ISO datetime)When the link was created\"2024-07-23T19:02:33.705217Z\"
modifiedString (ISO datetime)When link was last updated\"2024-07-23T19:17:11.457099Z\"
external_idString or nullExternal IDnull
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","custom_fields",":custom_field_value_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Monitored Service id

\n","type":"text/plain"},"type":"any","value":"{{ms_id}}","key":"ms_id"},{"description":{"content":"

Custom Field Value id

\n","type":"text/plain"},"type":"any","value":"{{custom_field_value_id}}","key":"custom_field_value_id"}]}},"response":[{"id":"1e3d097a-b7f8-49ec-8f2f-793a7dd791be","name":"Update MS Custom Field Value","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"value\": \"new_value\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/:custom_field_value_id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","custom_fields",":custom_field_value_id",""],"variable":[{"key":"ms_id","value":"","description":"Monitored Service id"},{"key":"custom_field_value_id","value":"","description":"Custom Field Value id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n \"value\": \"new_value\",\n \"custom_field_id\": \"e308a3db-4527-4c6f-9bfd-02eb580a10e2\",\n \"custom_field\": {\n \"display_name\": \"test_field_3\",\n \"field_name\": \"test_field_3\",\n \"field_type\": \"string\",\n \"description\": \"\",\n \"id\": \"e308a3db-4527-4c6f-9bfd-02eb580a10e2\",\n \"created\": \"2024-07-23T19:02:26.139111Z\",\n \"modified\": \"2024-07-23T19:02:26.139141Z\",\n \"external_id\": null\n },\n \"id\": \"d2da8cfb-6cdb-4ba6-b02c-1ec85a1c32f4\",\n \"parent_id\": 1,\n \"created\": \"2024-07-23T19:02:33.705217Z\",\n \"modified\": \"2024-07-23T19:17:11.457099Z\",\n \"external_id\": null\n}"}],"_postman_id":"86665965-7485-4589-adc2-0177eebaf522"},{"name":"Delete MS custom field value","id":"608a7a64-adf3-4d15-9455-b1ac01862220","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/:custom_field_value_id/","description":"

Deletes a custom field value for a specified monitored service.

\n

Response

\n

Returns HTTP 204 No Content on successful deletion.

\n","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice",":ms_id","custom_fields",":custom_field_value_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Monitored Service id

\n","type":"text/plain"},"type":"any","value":"{{ms_id}}","key":"ms_id"},{"description":{"content":"

Custom Field Value id

\n","type":"text/plain"},"type":"any","value":"{{custom_field_value_id}}","key":"custom_field_value_id"}]}},"response":[{"id":"5c3eb314-7b17-4378-93a7-3bfc2f539d2c","name":"Delete MS custom field value","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/:ms_id/custom_fields/:custom_field_value_id/","protocol":"https","host":["[your_subdomain]","appomni","com"],"path":["api","v1","core","monitoredservice",":ms_id","custom_fields",":custom_field_value_id",""],"variable":[{"key":"ms_id","value":"","description":"Monitored Service id"},{"key":"custom_field_value_id","value":"","description":"Custom Field Value id"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"608a7a64-adf3-4d15-9455-b1ac01862220"}],"id":"096c8bda-58fd-416d-b1a7-4df927ccea65","description":"

The Custom Field Values API accesses the value of the custom field associated with a given monitored service.

\n","_postman_id":"096c8bda-58fd-416d-b1a7-4df927ccea65","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"AO Developer Platform","item":[{"name":"Modeling Data","item":[{"name":"Settings - List all modeling data","id":"c812f09b-a897-44b9-8546-dcb8af3a01e8","protocolProfileBehavior":{"disableBodyPruning":true,"disableCookies":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"[\n {\n \"api_name\": \"setting_bool_1\",\n \"value_type\": \"bool\",\n \"label\": \"Bool Setting 1\",\n \"description\": \"Does something cool\",\n \"choices\": null,\n \"default_value\": \"false\",\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"setting_int_1\",\n \"value_type\": \"int\",\n \"label\": \"Int Setting 1\",\n \"description\": \"Does something really cool\",\n \"choices\": null,\n \"default_value\": \"1\",\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"setting_picklist_1\",\n \"value_type\": \"picklist\",\n \"label\": \"Picklist Setting 1\",\n \"description\": \"Does something super cool\",\n \"choices\": {\"foo\": \"bar\", \"lorem\": \"ipsum\"},\n \"default_value\": \"foo\",\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n }\n]","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/?limit=50&offset=0&ordering=name&search=timeout&category=Security&type=string","description":"

List all settings modeling data with pagination and filtering support.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the setting1
nameStringName of the setting\"EnableAutoSave\"
valueStringValue of the setting\"true\"
typeStringData type of the setting\"boolean\"
descriptionStringDescription of the setting\"Enables automatic saving\"
categoryStringCategory of the setting\"General\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","settings",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by

\n","type":"text/plain"},"key":"ordering","value":"name"},{"description":{"content":"

String; Search term to filter results

\n","type":"text/plain"},"key":"search","value":"timeout"},{"description":{"content":"

String; Filter by setting category

\n","type":"text/plain"},"key":"category","value":"Security"},{"description":{"content":"

String; Filter by setting data type

\n","type":"text/plain"},"key":"type","value":"string"}],"variable":[]}},"response":[{"id":"93a8a7a8-6f51-4b44-971c-8dc93ad01d13","name":"Settings - List all modeling data","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 15:11:27 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"10/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 23:11:27 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 5,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"api_name\": \"allowed_email_domains\",\n \"value_type\": \"list_str\",\n \"label\": \"Allowed Email Domains\",\n \"description\": \"List of email domains allowed when users register\",\n \"choices\": null,\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"lockout_duration\",\n \"value_type\": \"picklist\",\n \"label\": \"Lockout Duration\",\n \"description\": \"Number of minutes a user is locked out after invalid login attempts\",\n \"choices\": {\n \"5\": \"5 Minutes\",\n \"10\": \"10 Minutes\"\n },\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"max_invalid_login_attempts\",\n \"value_type\": \"int\",\n \"label\": \"Max Invalid Login Attempts\",\n \"description\": \"The number of invalid login attempts before the user is locked out\",\n \"choices\": null,\n \"default_risk\": \"high\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"mfa_enforced\",\n \"value_type\": \"bool\",\n \"label\": \"MFA Enforced\",\n \"description\": \"Requires the use of MFA\",\n \"choices\": null,\n \"default_risk\": \"critical\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"password_change_interval\",\n \"value_type\": \"int\",\n \"label\": \"Password Change Interval\",\n \"description\": \"How many days until a user is required to change their password\",\n \"choices\": null,\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n }\n ]\n}"}],"_postman_id":"c812f09b-a897-44b9-8546-dcb8af3a01e8"},{"name":"Settings - Add single modeling data","id":"b7c03780-1110-4644-bbc2-66708676a6e8","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"password_change_interval\",\n \"value_type\": \"int\",\n \"label\": \"Password Change Interval\",\n \"description\": \"How many days until a user is required to change their password\",\n \"choices\": null,\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/","description":"

Add a single setting to the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
nameStringYesName of the setting\"MaxUploadSize\"
valueStringYesValue of the setting\"100MB\"
typeStringYesData type of the setting\"string\"
descriptionStringNoDescription of the setting\"Maximum file upload size\"
categoryStringNoCategory of the setting\"Limits\"
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the setting2
nameStringName of the setting\"MaxUploadSize\"
valueStringValue of the setting\"100MB\"
typeStringData type of the setting\"string\"
descriptionStringDescription of the setting\"Maximum file upload size\"
categoryStringCategory of the setting\"Limits\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","settings",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"c1afc04d-ac54-4ff1-9648-07cf9a13abd7","name":"Settings - Add single modeling data","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"password_change_interval\",\n \"value_type\": \"int\",\n \"label\": \"Password Change Interval\",\n \"description\": \"How many days until a user is required to change their password\",\n \"choices\": null,\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 15:02:38 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 23:02:38 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"b7c03780-1110-4644-bbc2-66708676a6e8"},{"name":"Settings - Add multiple modeling data","id":"8bd0827e-915b-448d-a2c8-61a1e97705f6","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"allowed_email_domains\",\n \"value_type\": \"list_str\",\n \"label\": \"Allowed Email Domains\",\n \"description\": \"List of email domains allowed when users register\",\n \"choices\": null,\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/bulk_create/","description":"

Add multiple settings to the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
settingsArray[Object]YesArray of setting objects to createSee nested fields below
settings[].nameStringYesName of the setting\"SessionTimeout\"
settings[].valueStringYesValue of the setting\"30\"
settings[].typeStringYesData type of the setting\"integer\"
settings[].descriptionStringNoDescription of the setting\"Session timeout in minutes\"
settings[].categoryStringNoCategory of the setting\"Security\"
\n

Response Fields

\n

Returns an array of created setting objects with the same fields as single setting creation.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","settings","bulk_create",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"dea7107f-e36a-4026-9eae-df1c10c97f14","name":"Settings - Add multiple modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"allowed_email_domains\",\n \"value_type\": \"list_str\",\n \"label\": \"Allowed Email Domains\",\n \"description\": \"List of email domains allowed when users register\",\n \"choices\": null,\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/bulk_create/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 15:09:58 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"POST, PUT, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 23:09:58 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"8bd0827e-915b-448d-a2c8-61a1e97705f6"},{"name":"Settings - Update modeling data","id":"03ae39c7-717a-4436-a88c-af6b592db934","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"password_change_interval\",\n \"value_type\": \"int\",\n \"label\": \"Password Change Interval\",\n \"description\": \"How many days until a user is required to change their password\",\n \"choices\": null,\n \"default_risk\": \"high\",\n \"default_category\": \"system_config\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/","description":"

Update an existing setting in the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
valueStringNoValue of the setting\"150MB\"
descriptionStringNoDescription of the setting\"Updated maximum file upload size\"
categoryStringNoCategory of the setting\"Limits\"
\n

Note: name and type cannot be updated after creation.

\n

Response Fields Documentation

\n

Returns the updated setting object with the same fields as single setting creation.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","settings",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"be93f7ed-84f1-4e29-bbb5-8a216284b6e4","name":"Settings - Update modeling data","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"password_change_interval\",\n \"value_type\": \"int\",\n \"label\": \"Password Change Interval\",\n \"description\": \"How many days until a user is required to change their password\",\n \"choices\": null,\n \"default_risk\": \"high\",\n \"default_category\": \"system_config\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 15:12:38 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"11/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 23:12:38 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"03ae39c7-717a-4436-a88c-af6b592db934"},{"name":"Settings - Replace all modeling data","id":"5faab443-cdc9-49a7-9eb8-bab61bfb61b0","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"mfa_enforced\",\n \"value_type\": \"bool\",\n \"label\": \"MFA Enforced\",\n \"description\": \"Requires the use of MFA\",\n \"choices\": null,\n \"default_risk\": \"critical\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"max_invalid_login_attempts\",\n \"value_type\": \"int\",\n \"label\": \"Max Invalid Login Attempts\",\n \"description\": \"The number of invalid login attempts before the user is locked out\",\n \"choices\": null,\n \"default_risk\": \"high\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"lockout_duration\",\n \"value_type\": \"picklist\",\n \"label\": \"Lockout Duration\",\n \"description\": \"Number of minutes a user is locked out after invalid login attempts\",\n \"choices\": {\"5\": \"5 Minutes\", \"10\": \"10 Minutes\"},\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/bulk_create/","description":"

Replace all settings modeling data. This operation will delete all existing entries and create new ones.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
settingsArray[Object]YesArray of setting objects to createSee nested fields below
settings[].idIntegerYesUnique identifier for the setting1
settings[].nameStringYesName of the setting\"EnableAutoSave\"
settings[].valueStringYesValue of the setting\"true\"
settings[].typeStringYesData type of the setting\"boolean\"
settings[].descriptionStringNoDescription of the setting\"Enables automatic saving\"
settings[].categoryStringNoCategory of the setting\"General\"
\n

Response Fields

\n

Returns HTTP 200 with the created settings data.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","settings","bulk_create",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"4764db1b-c3a2-4fad-aeb8-b64934d4f1ef","name":"Settings - Replace all modeling data","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"mfa_enforced\",\n \"value_type\": \"bool\",\n \"label\": \"MFA Enforced\",\n \"description\": \"Requires the use of MFA\",\n \"choices\": null,\n \"default_risk\": \"critical\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"max_invalid_login_attempts\",\n \"value_type\": \"int\",\n \"label\": \"Max Invalid Login Attempts\",\n \"description\": \"The number of invalid login attempts before the user is locked out\",\n \"choices\": null,\n \"default_risk\": \"high\",\n \"default_category\": \"system_config\"\n },\n {\n \"api_name\": \"lockout_duration\",\n \"value_type\": \"picklist\",\n \"label\": \"Lockout Duration\",\n \"description\": \"Number of minutes a user is locked out after invalid login attempts\",\n \"choices\": {\"5\": \"5 Minutes\", \"10\": \"10 Minutes\"},\n \"default_risk\": \"medium\",\n \"default_category\": \"system_config\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/bulk_create/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:58:51 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"POST, PUT, OPTIONS"},{"key":"X-RateLimit","value":"10/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:58:51 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"5faab443-cdc9-49a7-9eb8-bab61bfb61b0"},{"name":"Settings - Delete multiple modeling data","id":"6df36525-dfcd-4d95-a7f1-17c4e3705472","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n \"setting_names\": [\"password_change_interval\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/","description":"

Delete multiple settings from the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
idsArray[Integer]YesArray of setting IDs to delete[1, 2, 3]
\n

Response

\n

Returns HTTP 204 No Content on successful deletion.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","settings",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"d621e119-7a49-4380-8c7c-69e868987af2","name":"Settings - Delete multiple modeling data","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n \"setting_names\": [\"password_change_interval\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/settings/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 15:13:08 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"12/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 23:13:08 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"6df36525-dfcd-4d95-a7f1-17c4e3705472"},{"name":"Permissions - List all modeling data","id":"78e778f3-fb82-4175-881b-0fd5dc7347c9","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/?limit=50&offset=0&ordering=id&search=document&category=Document Management","description":"

List all permissions modeling data with pagination and filtering support.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the permission1
display_nameStringDisplay name of the permission\"Create Document\"
technical_nameStringTechnical name of the permission\"create_document\"
descriptionStringDescription of the permission\"Allows creating new documents\"
categoryStringCategory of the permission\"Document Management\"
external_idStringExternal system identifier\"ext_123\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","permissions",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by

\n","type":"text/plain"},"key":"ordering","value":"id"},{"description":{"content":"

String; Search term to filter results

\n","type":"text/plain"},"key":"search","value":"document"},{"description":{"content":"

String; Filter by permission category

\n","type":"text/plain"},"key":"category","value":"Document Management"}],"variable":[]}},"response":[{"id":"67fc7639-32b3-4652-8414-f6efb8767ab2","name":"Permissions - List all modeling data","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 7,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"api_name\": \"create-group\",\n \"label\": \"Create Group\",\n \"description\": \"Allows user to create a new group\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"create-project\",\n \"label\": \"Create Project\",\n \"description\": \"Allows user to create a new project\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"edit-all\",\n \"label\": \"Edit All\",\n \"description\": \"Allows user to edit all records\",\n \"default_risk\": \"high\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"edit_groups\",\n \"label\": \"Edit Groups\",\n \"description\": \"Allows user to edit existing groups\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"manage-users\",\n \"label\": \"Manage Users\",\n \"description\": \"Allows user to manage other user accounts\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"read-all\",\n \"label\": \"Read All\",\n \"description\": \"Allows user to read all records\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"write-all\",\n \"label\": \"Write All\",\n \"description\": \"Allows user to write all records\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n }\n ]\n}"}],"_postman_id":"78e778f3-fb82-4175-881b-0fd5dc7347c9"},{"name":"Permissions - Add single modeling data","id":"2906eb87-0afa-4445-b413-01a8d3d419d7","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"edit-all\",\n \"label\": \"Edit All\",\n \"description\": \"Allows user to edit all records\",\n \"default_risk\": \"high\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/","description":"

Add a single permission to the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
display_nameStringYesDisplay name of the permission\"Edit Document\"
technical_nameStringYesTechnical name of the permission\"edit_document\"
descriptionStringNoDescription of the permission\"Allows editing existing documents\"
categoryStringNoCategory of the permission\"Document Management\"
external_idStringNoExternal system identifier\"ext_124\"
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the permission2
display_nameStringDisplay name of the permission\"Edit Document\"
technical_nameStringTechnical name of the permission\"edit_document\"
descriptionStringDescription of the permission\"Allows editing existing documents\"
categoryStringCategory of the permission\"Document Management\"
external_idStringExternal system identifier\"ext_124\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","permissions",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"5c29a3ae-4d22-47a0-8bb2-b260f0d0c566","name":"Permissions - Add single modeling data","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"edit-all\",\n \"label\": \"Edit All\",\n \"description\": \"Allows user to edit all records\",\n \"default_risk\": \"high\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 13:41:18 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"2/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 21:41:18 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"2906eb87-0afa-4445-b413-01a8d3d419d7"},{"name":"Permissions - Add multiple modeling data","id":"13ff05af-4b76-4595-9f55-fcc4b284bc66","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"create-group\",\n \"label\": \"Create Group\",\n \"description\": \"Allows user to create a new group\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"create-project\",\n \"label\": \"Create Project\",\n \"description\": \"Allows user to create a new project\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/bulk_create/","description":"

Add multiple permissions to the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
permissionsArray[Object]YesArray of permission objects to createSee nested fields below
permissions[].display_nameStringYesDisplay name of the permission\"Delete Document\"
permissions[].technical_nameStringYesTechnical name of the permission\"delete_document\"
permissions[].descriptionStringNoDescription of the permission\"Allows deleting documents\"
permissions[].categoryStringNoCategory of the permission\"Document Management\"
permissions[].external_idStringNoExternal system identifier\"ext_125\"
\n

Response Fields

\n

Returns an array of created permission objects with the same fields as single permission creation.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","permissions","bulk_create",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"2bd6af71-b777-4e69-b982-e6fb5ba06e63","name":"Permissions - Add multiple modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"create-group\",\n \"label\": \"Create Group\",\n \"description\": \"Allows user to create a new group\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"create-project\",\n \"label\": \"Create Project\",\n \"description\": \"Allows user to create a new project\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/bulk_create/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:04:46 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"POST, PUT, OPTIONS"},{"key":"X-RateLimit","value":"8/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:04:46 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"13ff05af-4b76-4595-9f55-fcc4b284bc66"},{"name":"Permissions - Update modeling data","id":"0ceb8143-be29-4dae-9f53-cd6e810194a5","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"create-group\",\n \"label\": \"Create New Group\",\n \"description\": \"Allows user to create a new group\",\n \"default_risk\": \"low\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/","description":"

Update an existing permission in the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
display_nameStringNoDisplay name of the permission\"Create and Edit Document\"
descriptionStringNoDescription of the permission\"Allows creating and editing documents\"
categoryStringNoCategory of the permission\"Document Management\"
external_idStringNoExternal system identifier\"ext_123_updated\"
\n

Note: technical_name cannot be updated after creation.

\n

Response Fields

\n

Returns the updated permission object with the same fields as single permission creation.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","permissions",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"a67ff62a-6edd-436b-9243-2f182fcf7b97","name":"Permissions - Update modeling data","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"api_name\": \"create-group\",\n \"label\": \"Create New Group\",\n \"description\": \"Allows user to create a new group\",\n \"default_risk\": \"low\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:45:35 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"12/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:45:35 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"0ceb8143-be29-4dae-9f53-cd6e810194a5"},{"name":"Permissions - Replace all modeling data","id":"71ac336c-9236-4e87-acab-5e42e7fe89e3","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"read-all\",\n \"label\": \"Read All\",\n \"description\": \"Allows user to read all records\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"write-all\",\n \"label\": \"Write All\",\n \"description\": \"Allows user to write all records\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"manage-users\",\n \"label\": \"Manage Users\",\n \"description\": \"Allows user to manage other user accounts\",\n \"default_risk\": \"critical\",\n \"default_category\": \"administrative_permissions\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"edit_groups\",\n \"label\": \"Edit Groups\",\n \"description\": \"Allows user to edit existing groups\",\n \"default_risk\": \"high\",\n \"default_category\": \"rbac_controls\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/bulk_create/","description":"

Replace all permissions modeling data. This operation will delete all existing entries and create new ones.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
permissionsArray[Object]YesArray of permission objects to createSee nested fields below
permissions[].idIntegerYesUnique identifier for the permission1
permissions[].display_nameStringYesDisplay name of the permission\"Create Document\"
permissions[].technical_nameStringYesTechnical name of the permission\"create_document\"
permissions[].descriptionStringNoDescription of the permission\"Allows creating new documents\"
permissions[].categoryStringNoCategory of the permission\"Document Management\"
permissions[].external_idStringNoExternal system identifier\"ext_123\"
\n

Response Fields

\n

Returns HTTP 200 with the created permissions data.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","permissions","bulk_create",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"3b0fe8ae-fa43-4c84-9512-aee1bb6a9b0a","name":"Permissions - Replace all modeling data","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"read-all\",\n \"label\": \"Read All\",\n \"description\": \"Allows user to read all records\",\n \"default_risk\": \"medium\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n },\n {\n \"api_name\": \"write-all\",\n \"label\": \"Write All\",\n \"description\": \"Allows user to write all records\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"manage-users\",\n \"label\": \"Manage Users\",\n \"description\": \"Allows user to manage other user accounts\",\n \"default_risk\": \"critical\",\n \"default_category\": \"administrative_permissions\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"edit_groups\",\n \"label\": \"Edit Groups\",\n \"description\": \"Allows user to edit existing groups\",\n \"default_risk\": \"high\",\n \"default_category\": \"rbac_controls\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/bulk_create/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 17 Sep 2025 18:31:09 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"POST, PUT, OPTIONS"},{"key":"X-RateLimit","value":"1/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Thu, 18 Sep 2025 02:31:09 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"71ac336c-9236-4e87-acab-5e42e7fe89e3"},{"name":"Permissions - Delete multiple modeling data","id":"cb87ee2e-6aef-4d38-a63f-e1552df5c9f2","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n \"permission_names\": [\"create-group\", \"create-project\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/","description":"

Delete multiple permissions from the modeling data.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
idsArray[Integer]YesArray of permission IDs to delete[1, 2, 3]
\n

Response

\n

Returns HTTP 204 No Content on successful deletion.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","permissions",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"0a463f0f-3662-466d-995b-a086c5c29267","name":"Permissions - Delete multiple modeling data","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n \"permission_names\": [\"create-group\", \"create-project\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/permissions/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:33:55 GMT"},{"key":"Content-Length","value":"0"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:33:55 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"cb87ee2e-6aef-4d38-a63f-e1552df5c9f2"},{"name":"Scopes - List all modeling data","id":"b54ceb12-a9ec-4152-85dc-af0954dfab72","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/?limit=25&offset=0&ordering=api_name","description":"

List all scopes modeling data with pagination and filtering support.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
api_nameStringAPI-friendly name of the scope\"system_admin\"
labelStringHuman-readable name of the scope\"System Admin\"
descriptionStringDescription of the scope\"An admin of the application\"
default_riskEnum of: {\"low\", \"medium\", \"high\", \"critical\"}The default risk set for the scope\"critical\"
default_categoryEnumThe default risk category set for the scope\"data_access\"
indicates_elevatedBooleanWhether the scope indicates a permission with elevated privilegestrue
indicates_adminBooleanWhether the scope indicates a permission with admin privilegestrue
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","scopes",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"25"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by

\n","type":"text/plain"},"key":"ordering","value":"api_name"}],"variable":[]}},"response":[{"id":"b3002aeb-2684-4099-8b57-f540a9a8ad2a","name":"Scopes - List all modeling data","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"count\": 3,\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"api_name\": \"system_admin\",\n \"label\": \"System Admin\",\n \"description\": \"An admin of the application\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"billing_admin\",\n \"label\": \"Billing Admin\",\n \"description\": \"A billing admin of the application\",\n \"default_risk\": \"high\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n\t\t\t\t{\n \"api_name\": \"read_only\",\n \"label\": \"Read-Only User\",\n \"description\": \"A read-only user of the application\",\n \"default_risk\": \"low\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n }\n ]\n}"}],"_postman_id":"b54ceb12-a9ec-4152-85dc-af0954dfab72"},{"name":"Scopes - Add single modeling data","id":"2cb5e63c-080a-48c5-9ae7-c68afc2ef014","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/","description":"

Add a single scope to the modeling data.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
api_nameStringYesAPI-friendly name of the scope\"system_admin\"
labelStringYesHuman-readable name of the scope\"System Admin\"
descriptionStringNoDescription of the scope\"The application's admins\"
default_riskEnum of: {\"low\", \"medium\", \"high\", \"critical\"}YesThe default risk set for the scope\"critical\"
default_categoryEnumYesThe default risk category set for the scope\"data_access\"
indicates_elevatedBooleanYesWhether the scope indicates a permission with elevated privilegestrue
indicates_adminBooleanYesWhether the scope indicates a permission with admin privilegestrue
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","scopes",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"dae83965-333b-463b-b608-772e4dd0ec0b","name":"Scopes - Add single modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"api_name\": \"system_admin\",\n \"label\": \"System Admin\",\n \"description\": \"An admin of the application\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"2cb5e63c-080a-48c5-9ae7-c68afc2ef014"},{"name":"Scopes - Add multiple modeling data","id":"e3ba674b-48a1-402a-b3c1-c125cb2195cf","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/bulk_create/","description":"

Add multiple scopes to the modeling data.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
scopesArray[Object]YesArray of scopes objects to createSee nested fields below
scopes[].api_nameStringYesAPI-friendly name of the scope\"system_admin\"
scopes[].labelStringYesHuman-readable name of the scope\"System Admin\"
scopes[].descriptionStringNoDescription of the scope\"The application's admins\"
scopes[].default_riskEnum of: {\"low\", \"medium\", \"high\", \"critical\"}YesThe default risk set for the scope\"critical\"
scopes[].default_categoryEnumYesThe default risk category set for the scope\"data_access\"
scopes[].indicates_elevatedBooleanYesWhether the scope indicates a permission with elevated privilegestrue
scopes[].indicates_adminBooleanYesWhether the scope indicates a permission with admin privilegestrue
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","scopes","bulk_create",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"6d7ebc6c-6160-4c17-8517-a90966e2523f","name":"Scopes - Add multiple modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"system_admin\",\n \"label\": \"System Admin\",\n \"description\": \"An admin of the application\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"billing_admin\",\n \"label\": \"Billing Admin\",\n \"description\": \"A billing admin of the application\",\n \"default_risk\": \"high\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n\t\t\t\t{\n \"api_name\": \"read_only\",\n \"label\": \"Read-Only User\",\n \"description\": \"A read-only user of the application\",\n \"default_risk\": \"low\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"e3ba674b-48a1-402a-b3c1-c125cb2195cf"},{"name":"Scopes - Update modeling data","id":"1d66a92f-bf35-4aeb-9217-3c387cb0be48","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/","description":"

Update an existing scope in the modeling data.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
api_nameStringYesAPI-friendly name of the scope\"system_admin\"
labelStringNoHuman-readable name of the scope\"System Admin\"
descriptionStringNoDescription of the scope\"The application's admins\"
default_riskEnum of: {\"low\", \"medium\", \"high\", \"critical\"}NoThe default risk set for the scope\"critical\"
default_categoryEnumNoThe default risk category set for the scope\"data_access\"
indicates_elevatedBooleanNoWhether the scope indicates a permission with elevated privilegestrue
indicates_adminBooleanNoWhether the scope indicates a permission with admin privilegestrue
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","scopes",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"77c8f9ee-af6e-47cf-abac-5e1fa31b0bdd","name":"Scopes - Update modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"api_name\": \"system_admin\",\n \"label\": \"System Admin\",\n \"description\": \"An admin of the application\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"1d66a92f-bf35-4aeb-9217-3c387cb0be48"},{"name":"Scopes - Replace all modeling data","id":"4a8e34cd-16eb-4fb7-9938-9c946fa40ae8","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PUT","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/bulk_create/","description":"

Replace all scope modeling data. This operation will delete all existing entries and create new ones.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
scopesArray[Object]YesArray of scopes objects to createSee nested fields below
scopes[].api_nameStringYesAPI-friendly name of the scope\"system_admin\"
scopes[].labelStringYesHuman-readable name of the scope\"System Admin\"
scopes[].descriptionStringYesDescription of the scope\"The application's admins\"
scopes[].default_riskEnum of: {\"low\", \"medium\", \"high\", \"critical\"}YesThe default risk set for the scope\"critical\"
scopes[].default_categoryEnumYesThe default risk category set for the scope\"data_access\"
scopes[].indicates_elevatedBooleanYesWhether the scope indicates a permission with elevated privilegestrue
scopes[].indicates_adminBooleanYesWhether the scope indicates a permission with admin privilegestrue
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","scopes","bulk_create",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"90bb3a84-7b9e-44ec-b317-09bd1a3b1b00","name":"Scopes - Replace all modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"data\": [\n {\n \"api_name\": \"system_admin\",\n \"label\": \"System Admin\",\n \"description\": \"An admin of the application\",\n \"default_risk\": \"critical\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": true\n },\n {\n \"api_name\": \"billing_admin\",\n \"label\": \"Billing Admin\",\n \"description\": \"A billing admin of the application\",\n \"default_risk\": \"high\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": true,\n \"indicates_admin\": false\n },\n\t\t\t\t{\n \"api_name\": \"read_only\",\n \"label\": \"Read-Only User\",\n \"description\": \"A read-only user of the application\",\n \"default_risk\": \"low\",\n \"default_category\": \"data_access\",\n \"indicates_elevated\": false,\n \"indicates_admin\": false\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"4a8e34cd-16eb-4fb7-9938-9c946fa40ae8"},{"name":"Scopes - Delete multiple modeling data","id":"13360f0a-66d6-4196-9e36-fdffd2556fd6","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"DELETE","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/","description":"

Delete multiple permissions from the modeling data.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
scope_namesArray[String]YesArray of scope API-friendly names to delete[\"system_admin\", \"billing_admin\", \"read_only\"]
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","scopes",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"e183fe1c-b43e-4d94-9c72-cf2113936817","name":"Scopes - Delete multiple modeling data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n \"scope_names\": [\"system_admin\", \"billing_admin\", \"read_only\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/scopes/"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Mon, 22 Sep 2025 14:24:13 GMT"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, POST, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"9/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Mon, 22 Sep 2025 22:24:13 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"13360f0a-66d6-4196-9e36-fdffd2556fd6"}],"id":"caddfaac-3572-4f25-805f-bdcbbfce7e00","description":"

Modeling data is what adds the contextual information to permissions and settings such as their risk level or category that is displayed within Posture Explorer and other areas of AppOmni's UI.

\n

For permissions, the modeling data is also what defines if a user having a certain permission qualifies them as either an elevated or admin user.

\n

If the custom monitored service type is configured to expect RBAC and/or settings data, you must also configure the modeling data for the permissions or settings you want to monitor within your application.

\n

The modeling data only needs to be set once unless you wish to make changes to it. You are not required to update or send the modeling data each time you send AppOmni the RBAC elements or settings for a monitored service that uses a custom monitored service type.

\n","_postman_id":"caddfaac-3572-4f25-805f-bdcbbfce7e00","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Ingest","item":[{"name":"Ingest - System Settings","id":"74810d48-a094-43ed-9a6b-3a63099c4392","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"system_config_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"data\": [\n {\n \"name\": \"mfa_enforcement\",\n \"value\": \"true\",\n \"label\": \"MFA Enforcement\",\n \"description\": \"Whether MFA is enforced for all users\",\n \"value_type\": \"bool\",\n \"default_risk\": \"critical\",\n \"default_category\": \"authentication\"\n },\n {\n \"name\": \"session_timeout_minutes\",\n \"value\": 30,\n \"value_type\": \"int\",\n \"default_risk\": \"medium\",\n \"default_category\": \"authentication\"\n },\n {\n \"name\": \"password_complexity\",\n \"value\": \"option_b\",\n \"value_type\": \"picklist\",\n \"label\": \"Password Complexity Level\",\n \"choices\": {\n \"option_a\": \"Basic (8+ chars)\",\n \"option_b\": \"Standard (12+ chars, mixed case)\",\n \"option_c\": \"Strong (16+ chars, symbols required)\"\n },\n \"default_risk\": \"high\",\n \"default_category\": \"authentication\"\n },\n {\n \"name\": \"allowed_auth_methods\",\n \"value\": \"sso,mfa\",\n \"value_type\": \"list_str\",\n \"default_risk\": \"high\",\n \"default_category\": \"authorization\"\n },\n {\n \"name\": \"api_access_enabled\",\n \"value\": \"false\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/","description":"

Sends the current values of your application's security settings (e.g., MFA enabled, session timeout) for posture evaluation.

\n

System settings data represents the security-relevant configuration of your SaaS application. Each setting is identified by a unique name and its current value. Examples include MFA enforcement toggles, session timeout durations, password complexity requirements, and API access controls.

\n

When you ingest system settings, AppOmni compares the current values against your expected values (if configured) and evaluates them using posture rules to generate findings. The settings and their values are displayed within Posture Explorer.

\n

System settings should be sent on a regular cadence to reflect the current state of your application's configuration. Each submission replaces the previous set of settings for that monitored service.

\n

Request Body (Top-Level)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
service_idString (UUID)YesThe instance ID of the custom monitored service. Must match a registered CustomMonitoredService.instance_id.\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
ingest_tokenString (UUID)YesThe authentication token for the custom monitored service. Must match CustomMonitoredService.ingest_secret.\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_typeStringYesThe type of data being submitted. Determines which downstream processing task handles the data. See Supported Data Types below.\"system_config_v2\"
job_idString (UUID)YesA unique identifier for this ingest job. Used to correlate paginated requests into a single logical job. Must be unique per submission.\"550e8400-e29b-41d4-a716-446655440000\"
dataArray[Object]YesArray of data objects whose schema depends on the data_type. See Data Schema below.See example below
total_countIntegerNoThe expected total number of data elements across all pages. Used to determine when all pages have been received for multi-page submissions.100
completeBooleanNoSet to true on the final (or only) page of a submission. Signals that no more pages will follow for this job_id.true
page_offsetIntegerNoFor paginated submissions, the zero-based offset of this page within the overall dataset.0
descriptionStringNoOptional human-readable description of the request (max 1024 characters).\"Daily user sync\"
\n

system_config_v2

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
data[].nameStringYesAPI name / unique identifier of the security setting\"mfa_enforcement\"
data[].valueString, List[String], or nullNoCurrent value of the setting\"true\" or [\"val1\", \"val2\"]
data[].labelStringNoHuman-readable display name\"MFA Enforcement\"
data[].descriptionStringNoDescription of what the setting controls\"Whether MFA is enforced\"
data[].value_typeStringNoData type hint. One of: string, bool, int, picklist, list_of_str, list_of_int. Auto-inferred if omitted.\"bool\"
data[].choicesObjectNoKey-value map of valid choices for picklist-type settings{\"1\": \"Enabled\", \"0\": \"Disabled\"}
data[].default_riskStringNoDefault risk level: low, medium, high, critical\"high\"
data[].default_categoryStringNoDefault risk category\"authentication\"
data[].expected_valueString or List[String]NoBaseline/expected value for compliance comparison\"true\"
data[].external_idStringNoExternal system identifier for this setting\"ext_setting_001\"
\n
","urlObject":{"protocol":"https","path":["platform","ingest","v2","ingest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"73843e73-b177-4bb5-b0ef-7d94bad4a394","name":"Ingest - System Settings","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n\t\t\"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"system_config_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"data\": [\n {\n \"name\": \"mfa_enforcement\",\n \"value\": \"true\",\n \"label\": \"MFA Enforcement\",\n \"description\": \"Whether MFA is enforced for all users\",\n \"value_type\": \"bool\",\n \"default_risk\": \"critical\",\n \"default_category\": \"authentication\"\n },\n {\n \"name\": \"session_timeout_minutes\",\n \"value\": 30,\n \"value_type\": \"int\",\n \"default_risk\": \"medium\",\n \"default_category\": \"authentication\"\n },\n {\n \"name\": \"password_complexity\",\n \"value\": \"option_b\",\n \"value_type\": \"picklist\",\n \"label\": \"Password Complexity Level\",\n \"choices\": {\n \"option_a\": \"Basic (8+ chars)\",\n \"option_b\": \"Standard (12+ chars, mixed case)\",\n \"option_c\": \"Strong (16+ chars, symbols required)\"\n },\n \"default_risk\": \"high\",\n \"default_category\": \"authentication\"\n },\n {\n \"name\": \"allowed_auth_methods\",\n \"value\": \"sso,mfa\",\n \"value_type\": \"list_str\",\n \"default_risk\": \"high\",\n \"default_category\": \"authorization\"\n },\n {\n \"name\": \"api_access_enabled\",\n \"value\": \"false\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 15:54:27 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_identifier\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"complete\": true\n}"}],"_postman_id":"74810d48-a094-43ed-9a6b-3a63099c4392"},{"name":"Ingest - System Config Expected Values","id":"ab533a89-9d21-4263-9289-2127d592c3b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"system_config_expected_values_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"data\": [\n {\n \"name\": \"mfa_enforcement\",\n \"expected_value\": \"true\"\n },\n {\n \"name\": \"session_timeout_minutes\",\n \"expected_value\": 15\n },\n {\n \"name\": \"password_complexity\",\n \"expected_value\": \"option_c\"\n },\n {\n \"name\": \"allowed_auth_methods\",\n \"expected_value\": \"sso,mfa\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/","description":"

Defines the expected or baseline values for each security setting so AppOmni can flag deviations.

\n

When AppOmni evaluates your system configuration, it compares the actual setting values (from system_config_v2) against these expected values to determine compliance and generate findings.

\n

Each expected value entry references a setting by its name (which must match a setting previously ingested via system_config_v2) and specifies the expected_value that setting should have. An optional external_id can be included to map the setting to an external compliance framework or control identifier.

\n

Expected values only need to be set once unless your compliance baseline changes. You are not required to resend expected values each time you submit updated system settings.

\n

Request Body (Top-Level)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
service_idString (UUID)YesThe instance ID of the custom monitored service. Must match a registered CustomMonitoredService.instance_id.\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
ingest_tokenString (UUID)YesThe authentication token for the custom monitored service. Must match CustomMonitoredService.ingest_secret.\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_typeStringYesThe type of data being submitted. Determines which downstream processing task handles the data. See Supported Data Types below.\"system_config_expected_values_v2\"
job_idString (UUID)YesA unique identifier for this ingest job. Used to correlate paginated requests into a single logical job. Must be unique per submission.\"550e8400-e29b-41d4-a716-446655440000\"
dataArray[Object]YesArray of data objects whose schema depends on the data_type. See Data Schema below.See example below
total_countIntegerNoThe expected total number of data elements across all pages. Used to determine when all pages have been received for multi-page submissions.100
completeBooleanNoSet to true on the final (or only) page of a submission. Signals that no more pages will follow for this job_id.true
page_offsetIntegerNoFor paginated submissions, the zero-based offset of this page within the overall dataset.0
descriptionStringNoOptional human-readable description of the request (max 1024 characters).\"Daily user sync\"
\n

system_config_expected_values_v2

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
data[].nameStringYesAPI name / unique identifier of the security setting\"mfa_enforcement\"
data[].valueString, List[String], or nullNoCurrent value of the setting\"true\" or [\"val1\", \"val2\"]
data[].labelStringNoHuman-readable display name\"MFA Enforcement\"
data[].descriptionStringNoDescription of what the setting controls\"Whether MFA is enforced\"
data[].value_typeStringNoData type hint. One of: string, bool, int, picklist, list_of_str, list_of_int. Auto-inferred if omitted.\"bool\"
data[].choicesObjectNoKey-value map of valid choices for picklist-type settings{\"1\": \"Enabled\", \"0\": \"Disabled\"}
data[].default_riskStringNoDefault risk level: low, medium, high, critical\"high\"
data[].default_categoryStringNoDefault risk category\"authentication\"
data[].expected_valueString or List[String]NoBaseline/expected value for compliance comparison\"true\"
data[].external_idStringNoExternal system identifier for this setting\"ext_setting_001\"
\n
","urlObject":{"protocol":"https","path":["platform","ingest","v2","ingest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"6831487e-92b2-4c06-b4de-adb597f4ef62","name":"Ingest - System Config Expected Values","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"system_config_expected_values_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"data\": [\n {\n \"name\": \"mfa_enforcement\",\n \"expected_value\": \"true\"\n },\n {\n \"name\": \"session_timeout_minutes\",\n \"expected_value\": 15\n },\n {\n \"name\": \"password_complexity\",\n \"expected_value\": \"option_c\"\n },\n {\n \"name\": \"allowed_auth_methods\",\n \"expected_value\": \"sso,mfa\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 15:58:52 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_identifier\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"complete\": true\n}"}],"_postman_id":"ab533a89-9d21-4263-9289-2127d592c3b1"},{"name":"Ingest - User Data","id":"7687deca-29b3-4a94-81b0-d5d9cb6be745","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n\t\t\"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"user_data_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440010\",\n \"data\": [\n {\n \"id\": \"USR-001\",\n \"username\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"John Smith\",\n \"provisioned\": true,\n \"internal\": true,\n \"mfa_enabled\": true,\n \"last_login\": \"2025-12-15T08:30:00Z\",\n \"created\": \"2024-01-10T12:00:00Z\",\n \"primary_rbac_ids\": [\"ROLE-001\"],\n \"secondary_rbac_ids\": [\"PSET-001\", \"PSET-003\"]\n },\n {\n \"id\": \"USR-002\",\n \"username\": \"ajones@example.com\",\n \"email\": \"ajones@example.com\",\n \"name\": \"Alice Jones\",\n \"provisioned\": true,\n \"internal\": true,\n \"mfa_enabled\": true,\n \"last_login\": \"2025-12-14T17:45:00Z\",\n \"created\": \"2024-03-22T09:00:00Z\",\n \"primary_rbac_ids\": [\"ROLE-002\"],\n \"secondary_rbac_ids\": [\"PSET-001\", \"PSET-003\"]\n },\n {\n \"id\": \"USR-003\",\n \"username\": \"bwilson@example.com\",\n \"email\": \"bwilson@example.com\",\n \"name\": \"Bob Wilson\",\n \"provisioned\": true,\n \"internal\": true,\n \"mfa_enabled\": false,\n \"last_login\": \"2025-11-20T14:10:00Z\",\n \"created\": \"2024-06-01T11:30:00Z\",\n \"primary_rbac_ids\": [\"ROLE-004\"],\n \"secondary_rbac_ids\": [\"PSET-002\", \"PSET-004\"]\n },\n {\n \"id\": \"USR-004\",\n \"username\": \"contractor@partner.com\",\n \"email\": \"contractor@partner.com\",\n \"name\": \"External Contractor\",\n \"provisioned\": true,\n \"internal\": false,\n \"mfa_enabled\": true,\n \"locked\": false,\n \"primary_rbac_ids\": [\"ROLE-004\"]\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/","description":"

Submits the inventory of user accounts in your application, including their profile information, status, and optionally their role assignments.

\n

User data represents the full inventory of user accounts in your SaaS application. Each user record includes identifying information such as username, email, and display name, along with security-relevant attributes like whether MFA is enabled, whether the account is active, and when the user last logged in.

\n

User records can optionally include inline RBAC references (primary_rbac_ids, secondary_rbac_ids, other_rbac_ids) as a convenience, which associates users with roles without requiring separate RBAC assignment submissions. Alternatively, RBAC assignments can be sent as dedicated jobs.

\n

User data should be sent on a regular cadence to reflect the current state of your application's user population. Each submission replaces the previous set of users for that monitored service.

\n

Request Body (Top-Level)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
service_idString (UUID)YesThe instance ID of the custom monitored service. Must match a registered CustomMonitoredService.instance_id.\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
ingest_tokenString (UUID)YesThe authentication token for the custom monitored service. Must match CustomMonitoredService.ingest_secret.\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_typeStringYesThe type of data being submitted. Determines which downstream processing task handles the data. See Supported Data Types below.\"user_data_v2\"
job_idString (UUID)YesA unique identifier for this ingest job. Used to correlate paginated requests into a single logical job. Must be unique per submission.\"550e8400-e29b-41d4-a716-446655440000\"
dataArray[Object]YesArray of data objects whose schema depends on the data_type. See Data Schema below.See example below
total_countIntegerNoThe expected total number of data elements across all pages. Used to determine when all pages have been received for multi-page submissions.100
completeBooleanNoSet to true on the final (or only) page of a submission. Signals that no more pages will follow for this job_id.true
page_offsetIntegerNoFor paginated submissions, the zero-based offset of this page within the overall dataset.0
descriptionStringNoOptional human-readable description of the request (max 1024 characters).\"Daily user sync\"
\n

user_data_v2

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
data[].user_idStringYesUnique identifier for the user (also accepts id or uid)\"usr_001\"
data[].usernameStringNoUsername (also accepts user_name)\"jsmith\"
data[].emailStringNoUser's email address\"jsmith@example.com\"
data[].display_nameStringNoUser's display name\"John Smith\"
data[].activeBooleanNoWhether the user account is active/provisioned (also accepts provisioned)true
data[].two_factor_enabledBooleanNoWhether MFA is enabled (also accepts mfa or mfa_enabled)true
data[].last_loginString (ISO 8601)NoTimestamp of last login (also accepts last_login_time)\"2025-12-15T08:30:00Z\"
data[].created_atString (ISO 8601)NoAccount creation timestamp (also accepts created or created_at_date)\"2024-01-10T12:00:00Z\"
data[].is_internal_userBooleanNoWhether user is internal to the organization (also accepts internal)true
data[].primary_rbac_idsArray[String]NoIDs of primary roles assigned to the user[\"admin_role\"]
data[].secondary_rbac_idsArray[String]NoIDs of secondary roles (e.g., permission sets)[\"perm_set_1\"]
data[].other_rbac_idsArray[String]NoIDs of other RBAC assignments[\"group_1\"]
data[].granted_permissionsArray[String]NoList of observed permission names (also accepts observed_permissions)[\"read\", \"write\"]
\n
","urlObject":{"protocol":"https","path":["platform","ingest","v2","ingest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"cb0761f0-4fa0-4998-a029-8d0073b3ca1b","name":"Ingest - User Data","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"user_data_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440010\",\n \"data\": [\n {\n \"id\": \"USR-001\",\n \"username\": \"jsmith@example.com\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"John Smith\",\n \"provisioned\": true,\n \"internal\": true,\n \"mfa_enabled\": true,\n \"last_login\": \"2025-12-15T08:30:00Z\",\n \"created\": \"2024-01-10T12:00:00Z\",\n \"primary_rbac_ids\": [\"ROLE-001\"],\n \"secondary_rbac_ids\": [\"PSET-001\", \"PSET-003\"]\n },\n {\n \"id\": \"USR-002\",\n \"username\": \"ajones@example.com\",\n \"email\": \"ajones@example.com\",\n \"name\": \"Alice Jones\",\n \"provisioned\": true,\n \"internal\": true,\n \"mfa_enabled\": true,\n \"last_login\": \"2025-12-14T17:45:00Z\",\n \"created\": \"2024-03-22T09:00:00Z\",\n \"primary_rbac_ids\": [\"ROLE-002\"],\n \"secondary_rbac_ids\": [\"PSET-001\", \"PSET-003\"]\n },\n {\n \"id\": \"USR-003\",\n \"username\": \"bwilson@example.com\",\n \"email\": \"bwilson@example.com\",\n \"name\": \"Bob Wilson\",\n \"provisioned\": true,\n \"internal\": true,\n \"mfa_enabled\": false,\n \"last_login\": \"2025-11-20T14:10:00Z\",\n \"created\": \"2024-06-01T11:30:00Z\",\n \"primary_rbac_ids\": [\"ROLE-004\"],\n \"secondary_rbac_ids\": [\"PSET-002\", \"PSET-004\"]\n },\n {\n \"id\": \"USR-004\",\n \"username\": \"contractor@partner.com\",\n \"email\": \"contractor@partner.com\",\n \"name\": \"External Contractor\",\n \"provisioned\": true,\n \"internal\": false,\n \"mfa_enabled\": true,\n \"locked\": false,\n \"primary_rbac_ids\": [\"ROLE-004\"]\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 16:02:09 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_identifier\": \"550e8400-e29b-41d4-a716-446655440010\",\n \"complete\": true\n}"}],"_postman_id":"7687deca-29b3-4a94-81b0-d5d9cb6be745"},{"name":"Ingest - RBAC Elements (primary, secondary, other)","id":"70940a13-45ac-43af-94ba-63ee4fb776d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n\t\t\"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"primary_rbac_elements_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655442000\",\n \"total_count\": 3,\n \"complete\": true,\n \"data\": [\n {\n \"id\": \"ROLE-001\",\n \"name\": \"System Admin\",\n \"description\": \"Full administrative access to all features\",\n \"observed_permissions\": [\"read-all\", \"write-all\", \"manage-users\", \"edit-groups\"]\n },\n {\n \"id\": \"ROLE-002\",\n \"name\": \"Read Only Admin\",\n \"description\": \"Read-only access across the platform\",\n \"observed_permissions\": [\"read-all\"]\n },\n {\n \"id\": \"ROLE-003\",\n \"name\": \"User Manager\",\n \"description\": \"Can manage user accounts and profiles\",\n \"observed_permissions\": [\"manage-users\"]\n },\n {\n \"id\": \"ROLE-004\",\n \"name\": \"Standard User\",\n \"description\": \"Basic application access\",\n \"observed_permissions\": [\"view-reports\"]\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/","description":"

Sends the list of primary/secondary/other roles and the permissions each role grants.

\n

RBAC elements represent the roles, profiles, permission sets, or groups that exist within your application. These are the structural building blocks of your application's access control model.

\n

The three tiers -- primary, secondary, and other -- allow you to model hierarchical or layered access control systems. For example, primary elements might represent top-level roles (e.g., \"System Admin\"), secondary elements might represent permission sets or groups, and other elements can capture any additional RBAC constructs. All three tiers share the same data schema; only the data_type value differs.

\n

RBAC elements should be sent on a regular cadence to reflect the current set of roles and permissions in your application. The observed_permissions on each element should reference permission names that match entries previously ingested via system_permissions_options.

\n

Request Body (Top-Level)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
service_idString (UUID)YesThe instance ID of the custom monitored service. Must match a registered CustomMonitoredService.instance_id.\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
ingest_tokenString (UUID)YesThe authentication token for the custom monitored service. Must match CustomMonitoredService.ingest_secret.\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_typeStringYesThe type of data being submitted. Determines which downstream processing task handles the data. See Supported Data Types below.\"primary_rbac_elements_v2\"
job_idString (UUID)YesA unique identifier for this ingest job. Used to correlate paginated requests into a single logical job. Must be unique per submission.\"550e8400-e29b-41d4-a716-446655440000\"
dataArray[Object]YesArray of data objects whose schema depends on the data_type. See Data Schema below.See examples below
total_countIntegerNoThe expected total number of data elements across all pages. Used to determine when all pages have been received for multi-page submissions.100
completeBooleanNoSet to true on the final (or only) page of a submission. Signals that no more pages will follow for this job_id.true
page_offsetIntegerNoFor paginated submissions, the zero-based offset of this page within the overall dataset.0
descriptionStringNoOptional human-readable description of the request (max 1024 characters).\"Daily user sync\"
\n

primary_rbac_elements_v2 / secondary_rbac_elements_v2 / other_rbac_elements_v2

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
data[].svc_api_idStringYesUnique API identifier for the RBAC element (also accepts id or api_id)\"admin_role\"
data[].nameStringYesDisplay name of the role/profile\"Administrator\"
data[].descriptionStringNoDescription of the role\"Full admin access\"
data[].permissionsArray[String]NoList of permissions granted by this role (also accepts granted_permissions)[\"read\", \"write\", \"delete\"]
data[].settingsObjectNoObserved settings associated with this role (also accepts observed_settings){\"can_export\": true}
data[].rbac_idStringYesThe ID of the RBAC element (role/profile) being assigned\"admin_role\"
data[].user_idStringYesThe ID of the user receiving the assignment\"usr_001\"
\n
","urlObject":{"protocol":"https","path":["platform","ingest","v2","ingest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"485b88da-c7eb-40a6-ac48-73029ffbff82","name":"Ingest - RBAC Elements (primary, secondary, other)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"primary_rbac_elements_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655442000\",\n \"total_count\": 3,\n \"complete\": true,\n \"data\": [\n {\n \"id\": \"ROLE-001\",\n \"name\": \"System Admin\",\n \"description\": \"Full administrative access to all features\",\n \"observed_permissions\": [\"read-all\", \"write-all\", \"manage-users\", \"edit-groups\"]\n },\n {\n \"id\": \"ROLE-002\",\n \"name\": \"Read Only Admin\",\n \"description\": \"Read-only access across the platform\",\n \"observed_permissions\": [\"read-all\"]\n },\n {\n \"id\": \"ROLE-003\",\n \"name\": \"User Manager\",\n \"description\": \"Can manage user accounts and profiles\",\n \"observed_permissions\": [\"manage-users\"]\n },\n {\n \"id\": \"ROLE-004\",\n \"name\": \"Standard User\",\n \"description\": \"Basic application access\",\n \"observed_permissions\": [\"view-reports\"]\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 16:03:56 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_identifier\": \"550e8400-e29b-41d4-a716-446655442000\",\n \"complete\": true\n}"}],"_postman_id":"70940a13-45ac-43af-94ba-63ee4fb776d2"},{"name":"Ingest - RBAC Assignments (primary, secondary, other)","id":"5b1d10c2-8c64-4372-a440-6d9dac811165","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n\t\t\"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"primary_rbac_assignments_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446651440000\",\n \"total_count\": 3,\n \"complete\": true,\n \"data\": [\n {\n \"rbac_id\": \"ROLE-001\",\n \"user_id\": \"USR-001\"\n },\n {\n \"rbac_id\": \"ROLE-002\",\n \"user_id\": \"USR-002\"\n },\n {\n \"rbac_id\": \"ROLE-004\",\n \"user_id\": \"USR-003\"\n },\n {\n \"rbac_id\": \"ROLE-004\",\n \"user_id\": \"USR-004\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/","description":"

Maps which users are assigned to which roles.

\n

Each assignment is a pairing of a rbac_id (referencing an element ingested via the corresponding RBAC elements data type) and a user_id (referencing a user ingested via user_data_v2).

\n

The three tiers correspond to the RBAC element tiers: primary assignments link users to primary elements, secondary assignments to secondary elements, and so on. All three tiers share the same data schema; only the data_type value differs.

\n

RBAC assignments are an alternative to including primary_rbac_ids, secondary_rbac_ids, and other_rbac_ids inline on user data records. Using dedicated assignment jobs is recommended when the number of assignments is large or when assignments change independently of user attributes. Assignments should be sent on a regular cadence to reflect current access.

\n

Request Body (Top-Level)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
service_idString (UUID)YesThe instance ID of the custom monitored service. Must match a registered CustomMonitoredService.instance_id.\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
ingest_tokenString (UUID)YesThe authentication token for the custom monitored service. Must match CustomMonitoredService.ingest_secret.\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_typeStringYesThe type of data being submitted. Determines which downstream processing task handles the data. See Supported Data Types below.\"primary_rbac_assignments_v2\"
job_idString (UUID)YesA unique identifier for this ingest job. Used to correlate paginated requests into a single logical job. Must be unique per submission.\"550e8400-e29b-41d4-a716-446655440000\"
dataArray[Object]YesArray of data objects whose schema depends on the data_type. See Data Schema below.See examples below
total_countIntegerNoThe expected total number of data elements across all pages. Used to determine when all pages have been received for multi-page submissions.100
completeBooleanNoSet to true on the final (or only) page of a submission. Signals that no more pages will follow for this job_id.true
page_offsetIntegerNoFor paginated submissions, the zero-based offset of this page within the overall dataset.0
descriptionStringNoOptional human-readable description of the request (max 1024 characters).\"Daily user sync\"
\n

primary_rbac_assignments_v2 / secondary_rbac_assignments_v2 / other_rbac_assignments_v2

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
data[].rbac_idStringYesThe ID of the RBAC element (role/profile) being assigned\"admin_role\"
data[].user_idStringYesThe ID of the user receiving the assignment\"usr_001\"
\n
","urlObject":{"protocol":"https","path":["platform","ingest","v2","ingest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"c9d601db-455c-4f66-8cb5-06dbe775972d","name":"Ingest - RBAC Assignments (primary, secondary, other)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"primary_rbac_assignments_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446651440000\",\n \"total_count\": 3,\n \"complete\": true,\n \"data\": [\n {\n \"rbac_id\": \"ROLE-001\",\n \"user_id\": \"USR-001\"\n },\n {\n \"rbac_id\": \"ROLE-002\",\n \"user_id\": \"USR-002\"\n },\n {\n \"rbac_id\": \"ROLE-004\",\n \"user_id\": \"USR-003\"\n },\n {\n \"rbac_id\": \"ROLE-004\",\n \"user_id\": \"USR-004\"\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 16:07:21 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_identifier\": \"550e8400-e29b-41d4-a716-446651440000\",\n \"complete\": true\n}"}],"_postman_id":"5b1d10c2-8c64-4372-a440-6d9dac811165"},{"name":"Ingest - Third Party Apps","id":"95ac4426-aa57-4829-9972-287127a0be0d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n\t\t\"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"third_party_apps_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440040\",\n \"data\": [\n {\n \"id\": \"APP-001\",\n \"name\": \"Acme Reporting Plugin\",\n \"version\": \"2.4.1\",\n \"scopes\": [\"read_data\", \"write_reports\", \"manage_dashboards\"],\n \"publisher_name\": \"Acme Corp\",\n \"publisher_id\": \"PUB-12345\",\n \"namespace\": \"com.acmecorp.reporting\"\n },\n {\n \"id\": \"APP-002\",\n \"name\": \"External eSignature Integration\",\n \"version\": \"3.1.0\",\n \"scopes\": [\"send_documents\", \"read_contacts\"],\n \"publisher_name\": \"SignCo Inc\",\n \"publisher_id\": \"PUB-67890\",\n \"last_scope_change\": \"2025-09-01T00:00:00Z\"\n },\n {\n \"id\": \"APP-003\",\n \"name\": \"Internal HR Connector\",\n \"scopes\": [\"read_users\", \"sync_profiles\"]\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/","description":"

Submits the inventory of third-party applications and integrations installed in your application, including their granted scopes.

\n

Third party apps data represents the inventory of applications, integrations, and OAuth clients installed or connected within your SaaS application.

\n

Additional optional fields allow you to capture version information, whether the app is a first-party default, whether it was internally developed, the publisher identity, and installation details such as who installed it and when.

\n

Third party app data should be sent on a regular cadence to reflect the current set of installed applications and their granted permissions. Each submission replaces the previous app inventory for that monitored service.

\n

Request Body (Top-Level)

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
service_idString (UUID)YesThe instance ID of the custom monitored service. Must match a registered CustomMonitoredService.instance_id.\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"
ingest_tokenString (UUID)YesThe authentication token for the custom monitored service. Must match CustomMonitoredService.ingest_secret.\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_typeStringYesThe type of data being submitted. Determines which downstream processing task handles the data. See Supported Data Types below.\"third_party_apps_v2\"
job_idString (UUID)YesA unique identifier for this ingest job. Used to correlate paginated requests into a single logical job. Must be unique per submission.\"550e8400-e29b-41d4-a716-446655440000\"
dataArray[Object]YesArray of data objects whose schema depends on the data_type. See Data Schemas below.See example below
total_countIntegerNoThe expected total number of data elements across all pages. Used to determine when all pages have been received for multi-page submissions.100
completeBooleanNoSet to true on the final (or only) page of a submission. Signals that no more pages will follow for this job_id.true
page_offsetIntegerNoFor paginated submissions, the zero-based offset of this page within the overall dataset.0
descriptionStringNoOptional human-readable description of the request (max 1024 characters).\"Daily user sync\"
\n

third_party_apps_v2

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
data[].service_oidStringYesUnique identifier for the app (also accepts id or api_id)\"app_001\"
data[].nameStringYesDisplay name of the application\"Slack Bot\"
data[].descriptionStringNoDescription of the application (also accepts provided_description)\"Team messaging bot\"
data[].is_installedBooleanNoWhether the app is currently installed (also accepts installed). Default: truetrue
data[].is_svc_default_appBooleanNoWhether this is a first-party/default app (also accepts first_party_app or is_first_party)false
data[].versionStringNoInstalled version string (also accepts installed_version_str)\"2.1.0\"
data[].scopesArray[String]NoOAuth scopes granted to the app (also accepts observed_scopes)[\"read:users\", \"write:messages\"]
data[].publisher_idStringNoPublisher's service identifier (also accepts publisher_service_id)\"pub_slack\"
\n
","urlObject":{"protocol":"https","path":["platform","ingest","v2","ingest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"88acb9e4-fc4f-4880-a73d-4df90212ddb7","name":"Ingest - Third Party Apps","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n \"job_type\": \"third_party_apps_v2\",\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440040\",\n \"data\": [\n {\n \"id\": \"APP-001\",\n \"name\": \"Acme Reporting Plugin\",\n \"version\": \"2.4.1\",\n \"scopes\": [\"read_data\", \"write_reports\", \"manage_dashboards\"],\n \"publisher_name\": \"Acme Corp\",\n \"publisher_id\": \"PUB-12345\",\n \"namespace\": \"com.acmecorp.reporting\"\n },\n {\n \"id\": \"APP-002\",\n \"name\": \"External eSignature Integration\",\n \"version\": \"3.1.0\",\n \"scopes\": [\"send_documents\", \"read_contacts\"],\n \"publisher_name\": \"SignCo Inc\",\n \"publisher_id\": \"PUB-67890\",\n \"last_scope_change\": \"2025-09-01T00:00:00Z\"\n },\n {\n \"id\": \"APP-003\",\n \"name\": \"Internal HR Connector\",\n \"scopes\": [\"read_users\", \"sync_profiles\"]\n }\n ]\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/platform/ingest/v2/ingest/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 16:08:09 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_identifier\": \"550e8400-e29b-41d4-a716-446655440040\",\n \"complete\": true\n}"}],"_postman_id":"95ac4426-aa57-4829-9972-287127a0be0d"},{"name":"Job Status","id":"e174c7e1-6fb7-4ea4-bc73-8eb63205b12f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"job_id\": \"e7de0fcd-f25d-409b-ac5e-80a3669d476e\",\n \"status\": \"completed\",\n \"as_of\": \"2023-01-01T01:01:01.000111Z\",\n \"details\": \"no modeling for 'my_setting_1' found; no modeling for 'my_setting_2 found\",\n \"failed_required_jobs\": [],\n \"failure_errors\": []\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/datajob/status/","description":"

For use after submission of ingestion data via POST /platform/ingest/v2/ingest

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
ingest_tokenString (UUID)YesThe ingest_secret / aoer_authentication_token for the custom monitored service\"f9e8d7c6-b5a4-3210-fedc-ba0987654321\"
job_idStringYesThe job_id used in the original ingest request\"550e8400-e29b-41d4-a716-446655440000\"
\n

Response Fields:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
job_idStringThe job identifier\"550e8400-e29b-41d4-a716-446655440000\"
statusStringCurrent status: pending, partially_received, received, processing, processing_complete, failed\"processing_complete\"
as_ofString (ISO 8601)Timestamp corresponding to the current status\"2026-03-04T12:30:00Z\"
detailsString or nullProcessing details or partial failure informationnull
failed_required_jobsArray[String]IDs of dependency jobs that failed (if applicable)[]
failure_errorsArray[String]User-facing error messages if status is failed[\"Malformed value for setting 'mfa_enforcement'\"]
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","datajob","status",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"3c4145c5-0154-40e6-940a-486f9fc9e622","name":"Job Status","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440040\",\n \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/datajob/status/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":":status","value":200},{"key":"date","value":"Fri, 13 Mar 2026 16:11:01 GMT"},{"key":"content-type","value":"application/json"},{"key":"vary","value":"Accept-Encoding, Authorization, Cookie, origin"},{"key":"allow","value":"POST, OPTIONS"},{"key":"x-frame-options","value":"DENY"},{"key":"content-security-policy","value":"frame-ancestors 'self'"},{"key":"x-content-type-options","value":"nosniff"},{"key":"referrer-policy","value":"same-origin"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"content-encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"job_id\": \"550e8400-e29b-41d4-a716-446655440040\",\n \"status\": \"completed\",\n \"as_of\": \"2026-03-13T16:08:50.073805Z\",\n \"details\": null,\n \"failed_required_jobs\": [],\n \"failure_errors\": []\n}"}],"_postman_id":"e174c7e1-6fb7-4ea4-bc73-8eb63205b12f"}],"id":"7540e300-3b59-4c99-ba6d-1fbfd5e22efb","description":"

The Custom Ingest endpoint (/platform/ingest/v2/ingest/) allows you to push security-relevant data from any SaaS application into AppOmni for posture evaluation and threat detection. It is the primary data ingestion mechanism for Custom Monitored Services.

\n

Each request submits a batch of data for a specific custom monitored service, authenticated by the service's service_id and ingest_token. The job_type field determines which category of data is being submitted (e.g., users, roles, settings, apps), and the data array contains the records matching that type's schema.

\n

Request Body

\n
{\n    \"service_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"ingest_token\": \"dccc49c0-43e6-40c8-a826-724984887af6\",\n    \"job_type\": \"data_type\",\n    \"job_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"data\": []\n}\n\n
\n

The endpoint supports paginated submissions for large datasets. Multiple requests can be correlated into a single logical job using a shared job_identifier, with page_offset tracking position and complete signaling the final page. AppOmni begins processing the data once all pages have been received or the job is marked complete.

\n

The response returns the job_identifier, which can be used to check processing status via the Data Job Status API.

\n

Response Fields

\n
{\n    \"job_identifier\": \"550e8400-e29b-41d4-a716-446655440000\",\n    \"complete\": true\n}\n\n
\n","_postman_id":"7540e300-3b59-4c99-ba6d-1fbfd5e22efb","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Create a custom monitored service type","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"requests":{},"id":"7f7396df-f6f4-4b52-977b-ebe3efdd08b1"}}],"id":"0cf0915e-93b2-4735-a97a-294771a887ca","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"description\": \"Custom AcmeSaas integration\",\n \"name\": \"AcmeSaas\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/","description":"

Create a new custom monitored service type.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
nameStringYesName of the service type\"Custom CRM\"
display_nameStringYesDisplay name of the service type\"Custom CRM System\"
descriptionStringNoDescription of the service type\"Custom CRM integration\"
categoryStringYesCategory of the service type\"Business Applications\"
supported_featuresArray[String]NoList of supported features[\"users\", \"permissions\", \"audit\"]
configuration_schemaObjectNoJSON schema for configuration{\"type\": \"object\", \"properties\": {...}}
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier for the service type\"custom_crm\"
nameStringName of the service type\"Custom CRM\"
display_nameStringDisplay name of the service type\"Custom CRM System\"
descriptionStringDescription of the service type\"Custom CRM integration\"
categoryStringCategory of the service type\"Business Applications\"
supported_featuresArray[String]List of supported features[\"users\", \"permissions\", \"audit\"]
configuration_schemaObjectJSON schema for configuration{\"type\": \"object\", \"properties\": {...}}
logo_urlString or nullURL of the service type logonull
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"3cb0bb92-52bb-49fa-b09d-1797d38a7cee","name":"Create a custom monitored service type","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"description\": \"Custom AcmeSaas integration\",\n \"name\": \"AcmeSaas\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/"},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 17 Sep 2025 12:28:29 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"502"},{"key":"Connection","value":"close"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"4/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Wed, 17 Sep 2025 20:28:29 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"id\": 7585,\n \"created\": \"2025-09-17T12:28:29.835670Z\",\n \"modified\": \"2025-09-17T12:28:29.835685Z\",\n \"external_id\": null,\n \"name\": \"AcmeSaas\",\n \"slug\": \"yourtenant__acmesaas\",\n \"description\": \"Custom AcmeSaas integration\",\n \"logo\": null,\n \"major_version\": 1,\n \"minor_version\": 0,\n \"patch_version\": 0,\n \"primary_rbac_term\": null,\n \"secondary_rbac_term\": null,\n \"other_rbac_term\": null,\n \"instance_term\": null,\n \"expect_security_settings_data\": true,\n \"expect_rbac_data\": false,\n \"expect_user_data\": false,\n \"expect_apps_data\": false,\n \"supports_last_login\": false\n}"}],"_postman_id":"0cf0915e-93b2-4735-a97a-294771a887ca"},{"name":"Upload a logo for a custom monitored service type","id":"ec4bd809-7b6b-4a1a-aea6-19d90b9c97e8","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"logo","type":"file","src":"/Users/Shared/blacksquare.png"}]},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/upload_logo/","description":"

Upload a logo image for a custom monitored service type.

\n

Request Body

\n

The request should be sent as multipart/form-data with the following field:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
logoFileYesLogo image file (PNG, JPG, or SVG)logo.png
\n

File Requirements

\n
    \n
  • Maximum file size: 5MB

    \n
  • \n
  • Supported formats: PNG, JPG, JPEG, SVG

    \n
  • \n
  • Recommended dimensions: 256x256 pixels

    \n
  • \n
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
logo_urlStringURL of the uploaded logo\"https://appomni.com/logos/custom_crm_logo.png\"
messageStringSuccess message\"Logo uploaded successfully\"
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}","upload_logo",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"ed7300a4-0640-4957-bd5e-7ac6d57126f4","name":"Upload a logo for a custom monitored service type","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"logo","type":"file","src":["/Users/Shared/blacksquare.png"]}]},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/upload_logo/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 17 Sep 2025 14:07:54 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-RateLimit","value":"3/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Wed, 17 Sep 2025 22:07:54 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n \"id\": 7585,\n \"created\": \"2025-09-17T12:28:29.835670Z\",\n \"modified\": \"2025-09-17T14:07:53.310711Z\",\n \"external_id\": null,\n \"name\": \"AcmeSaas\",\n \"slug\": \"yourtenant__acmesaas\",\n \"description\": \"Custom AcmeSaas integration\",\n \"logo\": \"https://storage.googleapis.com/path-to-logo\",\n \"major_version\": 1,\n \"minor_version\": 0,\n \"patch_version\": 0,\n \"primary_rbac_term\": null,\n \"secondary_rbac_term\": null,\n \"other_rbac_term\": null,\n \"instance_term\": null,\n \"expect_security_settings_data\": true,\n \"expect_rbac_data\": false,\n \"expect_user_data\": false,\n \"expect_apps_data\": false,\n \"supports_last_login\": false\n}"}],"_postman_id":"ec4bd809-7b6b-4a1a-aea6-19d90b9c97e8"},{"name":"Update a custom monitored service type","id":"cc89c97a-b343-48ec-8b38-dae9d69bff86","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"description\": \"Updated description\",\n \"expect_security_settings_data\": true,\n \"expect_rbac_data\": true,\n \"expect_user_data\": true,\n \"expect_apps_data\": false,\n \"primary_rbac_term\": \"Role\",\n \"secondary_rbac_term\": \"Group\",\n \"other_rbac_term\": \"Project\",\n \"supports_last_login\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/","description":"

Update an existing custom monitored service type.

\n

Request Body

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
display_nameStringNoDisplay name of the service type\"Updated CRM System\"
descriptionStringNoDescription of the service type\"Updated CRM integration\"
categoryStringNoCategory of the service type\"Enterprise Applications\"
supported_featuresArray[String]NoList of supported features[\"users\", \"permissions\", \"audit\", \"reporting\"]
configuration_schemaObjectNoJSON schema for configuration{\"type\": \"object\", \"properties\": {...}}
\n

Note: The service type name/id cannot be changed after creation.

\n

Response Fields

\n

Returns the updated service type object with the same fields as creation response.

\n","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"a875e1dd-dad0-4b69-a373-c41d2caae7bf","name":"Update a custom monitored service type","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n \"description\": \"Updated description\",\n \"expect_security_settings_data\": true,\n \"expect_rbac_data\": true,\n \"expect_user_data\": true,\n \"expect_apps_data\": false,\n \"primary_rbac_term\": \"Role\",\n \"secondary_rbac_term\": \"Group\",\n \"other_rbac_term\": \"Project\",\n \"supports_last_login\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 17 Sep 2025 14:40:14 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"4/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Wed, 17 Sep 2025 22:40:14 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"id\": 7585,\n \"created\": \"2025-09-17T12:28:29.835670Z\",\n \"modified\": \"2025-09-17T14:40:14.524475Z\",\n \"external_id\": null,\n \"name\": \"AcmeSaas\",\n \"slug\": \"yourtenant__acmesaas\",\n \"description\": \"Updated description\",\n \"logo\": \"https://storage.googleapis.com/path-to-logo\",\n \"major_version\": 1,\n \"minor_version\": 0,\n \"patch_version\": 0,\n \"primary_rbac_term\": \"Role\",\n \"secondary_rbac_term\": \"Group\",\n \"other_rbac_term\": \"Project\",\n \"instance_term\": null,\n \"expect_security_settings_data\": true,\n \"expect_rbac_data\": true,\n \"expect_user_data\": true,\n \"expect_apps_data\": false,\n \"supports_last_login\": true\n}"}],"_postman_id":"cc89c97a-b343-48ec-8b38-dae9d69bff86"},{"name":"Get custom monitored service type details","event":[{"listen":"test","script":{"exec":[""],"type":"text/javascript","packages":{},"requests":{},"id":"aa8bec4d-8e79-45e0-961b-9e868a08bfa6"}}],"id":"d5fa4898-3070-49a8-93be-8dc04c108383","protocolProfileBehavior":{"disableCookies":true,"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/","description":"

Retrieve details of a specific custom monitored service type.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringUnique identifier for the service type\"custom_crm\"
nameStringName of the service type\"Custom CRM\"
display_nameStringDisplay name of the service type\"Custom CRM System\"
descriptionStringDescription of the service type\"Custom CRM integration\"
categoryStringCategory of the service type\"Business Applications\"
supported_featuresArray[String]List of supported features[\"users\", \"permissions\", \"audit\"]
configuration_schemaObjectJSON schema for configuration{\"type\": \"object\", \"properties\": {...}}
logo_urlString or nullURL of the service type logo\"https://appomni.com/logos/custom_crm_logo.png\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
monitored_services_countIntegerNumber of monitored services using this type5
\n
","urlObject":{"protocol":"https","path":["api","v1","custom","custommonitoredservicetype","{{cmst_id}}",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"73dc3c4e-f9e4-4f05-9f59-04bdea79ba28","name":"Get custom monitored service type details","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/custom/custommonitoredservicetype/{{cmst_id}}/"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Date","value":"Wed, 17 Sep 2025 15:15:54 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"close"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Vary","value":"Authorization, Cookie, origin"},{"key":"Allow","value":"GET, PUT, PATCH, DELETE, HEAD, OPTIONS"},{"key":"X-RateLimit","value":"2/2000"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Set-Cookie","value":"sessionid=x; expires=Wed, 17 Sep 2025 23:15:54 GMT; Max-Age=28800; Path=/; SameSite=Lax; Secure"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n \"id\": 7585,\n \"created\": \"2025-09-17T12:28:29.835670Z\",\n \"modified\": \"2025-09-17T14:40:14.524475Z\",\n \"external_id\": null,\n \"name\": \"AcmeSaas\",\n \"slug\": \"yourtenant__acmesaas\",\n \"description\": \"Updated description\",\n \"logo\": \"https://storage.googleapis.com/path-to-logo\",\n \"major_version\": 1,\n \"minor_version\": 0,\n \"patch_version\": 0,\n \"primary_rbac_term\": \"Role\",\n \"secondary_rbac_term\": \"Group\",\n \"other_rbac_term\": \"Project\",\n \"instance_term\": null,\n \"expect_security_settings_data\": true,\n \"expect_rbac_data\": true,\n \"expect_user_data\": true,\n \"expect_apps_data\": false,\n \"supports_last_login\": true\n}"}],"_postman_id":"d5fa4898-3070-49a8-93be-8dc04c108383"}],"id":"7884bab2-d5c2-4d20-807e-8872fcc008b7","description":"

The AppOmni Developer Platform (AODP) enables the creation of custom service types allowing you to monitor the security posture of any application, including custom or proprietary apps that AppOmni does not natively support.

\n

Example use cases include:

\n
    \n
  • Create a custom service type for applications that AppOmni does not natively support

    \n
  • \n
  • Create a custom service type for custom or in-house apps not accessible to AppOmni over the internet

    \n
  • \n
  • Extend AppOmni's natively supported applications by adding unsupported or custom settings to existing monitored services

    \n
  • \n
\n

A crucial difference between custom service types created with AODP and the applications AppOmni natively supports is that AODP requires you to regularly push data to AppOmni instead of relying on AppOmni's automated syncs that pull data into the platform.

\n

Additionally, monitored services created using custom service types have the following limitations:

\n
    \n
  • Only universal insights are applied and scanned for.

    \n
  • \n
  • Snapshotting of system settings to convert them to policy rules is not supported.

    \n
  • \n
  • Only custom policies can be used. For further information on creating custom policy settings and rules, see the Create Custom Security Posture Policies documentation page.

    \n
  • \n
  • Threat detection is not supported.

    \n
  • \n
\n

The API endpoints documented here allow you to create a custom monitored service type and define all of its applicable metadata and modeling data.

\n

After you onboard a new monitored service using your custom monitored service type, you will need to begin sending AppOmni the required data the monitored service is expected to monitor (settings, users, RBAC elements, etc).

\n

See the AppOmni Developer Platform page in our documentation for how to obtain the AODP SDK (written in Python) and how to use it to send AppOmni the required data for your custom monitored services.

\n","_postman_id":"7884bab2-d5c2-4d20-807e-8872fcc008b7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"[Beta] Policy Assessment Stats","item":[{"name":"Get policy stats","id":"a39a2403-cfae-44fa-a3ea-b16579208309","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/monitoredservice/score/policycomponents/:policy_id/","description":"

BETA - The policy_stats endpoint retrieves policy assessment statistics for a specified policy ID.

\n

This endpoint only works for posture policies. It will return a 404 for functional and data security policies.

\n

The stats are not realtime; they are based on the last recalculation, which happens once per day.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idStringThe ID of the monitored service\"93\"
nameStringThe name of the monitored service\"O365 - Prod\"
statsObjectA dictionary containing stats for risk levelsSee nested fields below
stats.criticalObjectStats for critical risk levelSee nested fields below
stats.critical.count_passingIntegerNumber of passing instances for critical risk level35
stats.critical.count_failingIntegerNumber of failing instances for critical risk level35
stats.highObjectStats for high risk levelSee nested fields below
stats.high.count_passingIntegerNumber of passing instances for high risk level30
stats.high.count_failingIntegerNumber of failing instances for high risk level30
stats.mediumObjectStats for medium risk levelSee nested fields below
stats.medium.count_passingIntegerNumber of passing instances for medium risk level25
stats.medium.count_failingIntegerNumber of failing instances for medium risk level25
\n

Error Responses

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Status CodeDescription
400The policy exists but is not a Posture policy, and therefore does not have score components
404\"Policy not found\" - The specified policy ID does not exist
404\"Policy has not been used in a score for a monitored service. Only scannable posture policies are currently supported for scoring.\" - The policy exists but does not have a score
\n
","urlObject":{"protocol":"https","path":["api","v1","core","monitoredservice","score","policycomponents",":policy_id",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[{"description":{"content":"

Integer; Policy ID to retrieve stats for

\n","type":"text/plain"},"type":"any","value":"{{policy_id}}","key":"policy_id"}]}},"response":[{"id":"0b8d3650-5279-456e-97c7-6ee91793cb04","name":"Get policy stats","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"[\n {\n \"id\": \"93\",\n \"name\": \"O365 - Prod\",\n \"stats\": {\n \"critical\": {\n \"count_passing\": 35,\n \"count_failing\": 35\n },\n \"high\": {\n \"count_passing\": 30,\n \"count_failing\": 30\n },\n \"medium\": {\n \"count_passing\": 25,\n \"count_failing\": 25\n }\n }\n },\n {\n \"id\": \"94\",\n \"name\": \"SFDCOrg 1f51478c-d96f-1324-a228-d78187f07dc4\",\n \"stats\": {\n \"critical\": {\n \"count_passing\": 30,\n \"count_failing\": 30\n },\n \"high\": {\n \"count_passing\": 25,\n \"count_failing\": 25\n },\n \"medium\": {\n \"count_passing\": 20,\n \"count_failing\": 20\n }\n }\n }\n]"}],"_postman_id":"a39a2403-cfae-44fa-a3ea-b16579208309"}],"id":"2785d32e-a433-4a19-a74f-8ed282f654b8","description":"

THIS FEATURE IS IN BETA - Please contact Customer Success to enable this early access API

\n

Provides a granular breakdown of policy assessments across monitored services, allowing you to identify areas of compliance and risk.

\n

The response returns a nested dictionary structure mapping monitored services to their associated risk levels, and providing passing/failing counts for each risk level.

\n","_postman_id":"2785d32e-a433-4a19-a74f-8ed282f654b8","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"ValueList","item":[{"name":"List Value Lists","id":"d42c270c-d722-43ba-af7f-af3b53eebb68","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/valuelist/?limit=50&offset=0&ordering=name&search=power&list_type=strings&list_usage=o365_power_platform_domains","description":"

Returns a list of value lists.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the value list1
nameStringName of the value list\"Power Platform Domains\"
list_typeStringType of values in the list\"strings\"
list_usageStringUsage identifier for the list\"o365_power_platform_domains\"
descriptionStringDescription of the value list\"List of Power Platform domains\"
element_countIntegerNumber of elements in the list5
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
created_byStringUser who created the list\"admin@example.com\"
modified_byStringUser who last modified the list\"admin@example.com\"
\n
","urlObject":{"protocol":"https","path":["api","v1","core","valuelist",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by (name, -name, created, -created)

\n","type":"text/plain"},"key":"ordering","value":"name"},{"description":{"content":"

String; Search term to filter results by name

\n","type":"text/plain"},"key":"search","value":"power"},{"description":{"content":"

String; Filter by list type (strings, integers, etc.)

\n","type":"text/plain"},"key":"list_type","value":"strings"},{"description":{"content":"

String; Filter by list usage identifier

\n","type":"text/plain"},"key":"list_usage","value":"o365_power_platform_domains"}],"variable":[]}},"response":[],"_postman_id":"d42c270c-d722-43ba-af7f-af3b53eebb68"},{"name":"Create Value List","id":"4fc4ed62-6e04-4ab1-afa1-b7423a3040e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"name\": \"Power Platform Domains\",\n \"list_type\": \"strings\",\n \"list_usage\": \"o365_power_platform_domains\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/valuelist/","description":"

Creates a new value list.

\n

Request Body Documentation

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
nameStringYesName of the value list\"Power Platform Domains\"
list_typeStringYesType of values in the list\"strings\"
list_usageStringYesUsage identifier for the list\"o365_power_platform_domains\"
descriptionStringNoDescription of the value list\"List of Power Platform domains\"
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the value list1
nameStringName of the value list\"Power Platform Domains\"
list_typeStringType of values in the list\"strings\"
list_usageStringUsage identifier for the list\"o365_power_platform_domains\"
descriptionStringDescription of the value list\"List of Power Platform domains\"
element_countIntegerNumber of elements in the list0
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
created_byStringUser who created the list\"admin@example.com\"
modified_byStringUser who last modified the list\"admin@example.com\"
\n
","urlObject":{"protocol":"https","path":["api","v1","core","valuelist",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4fc4ed62-6e04-4ab1-afa1-b7423a3040e9"},{"name":"List Value List Elements","id":"5a378f25-cc33-43a6-8e1a-9aaed612fb3a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/core/valuelistelement/?limit=50&offset=0&ordering=value&parent={{valuelist_id}}&element_type=strings&value__icontains=dynamics","description":"

Returns a list of value list elements.

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the element1
parentIntegerID of the parent value list1
element_typeStringType of the element value\"strings\"
valueStringThe actual value of the element\"https://a_customer_domain.crm.dynamics.com\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
created_byStringUser who created the element\"admin@example.com\"
modified_byStringUser who last modified the element\"admin@example.com\"
\n
","urlObject":{"protocol":"https","path":["api","v1","core","valuelistelement",""],"host":["[your_subdomain]","appomni","com"],"query":[{"description":{"content":"

Integer; Maximum number of results to return

\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"

Integer; Zero-based offset of the item page returned

\n","type":"text/plain"},"key":"offset","value":"0"},{"description":{"content":"

String; Field to order results by (value, -value, created, -created)

\n","type":"text/plain"},"key":"ordering","value":"value"},{"description":{"content":"

Integer; Filter by parent value list ID

\n","type":"text/plain"},"key":"parent","value":"{{valuelist_id}}"},{"description":{"content":"

String; Filter by element type

\n","type":"text/plain"},"key":"element_type","value":"strings"},{"description":{"content":"

String; Filter elements containing this value

\n","type":"text/plain"},"key":"value__icontains","value":"dynamics"}],"variable":[]}},"response":[],"_postman_id":"5a378f25-cc33-43a6-8e1a-9aaed612fb3a"},{"name":"Create Value List Element","id":"298f96db-905a-4911-977e-ac51bb157249","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n \"parent\": {{valuelist_id}},\n \"element_type\": \"strings\",\n \"value\": \"https://example.crm.dynamics.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://[your_subdomain].appomni.com/api/v1/core/valuelistelement/","description":"

Creates a new value list element.

\n

Request Body Documentation

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeRequiredDescriptionExample
parentIntegerYesID of the parent value list{{valuelist_id}}
element_typeStringYesType of the element value\"strings\"
valueStringYesThe actual value of the element\"https://example.crm.dynamics.com\"
\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
idIntegerUnique identifier for the element2
parentIntegerID of the parent value list1
element_typeStringType of the element value\"strings\"
valueStringThe actual value of the element\"https://example.crm.dynamics.com\"
createdString (ISO datetime)Creation timestamp\"2024-09-24T10:00:00Z\"
modifiedString (ISO datetime)Last modification timestamp\"2024-09-24T10:00:00Z\"
created_byStringUser who created the element\"admin@example.com\"
modified_byStringUser who last modified the element\"admin@example.com\"
\n
","urlObject":{"protocol":"https","path":["api","v1","core","valuelistelement",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"298f96db-905a-4911-977e-ac51bb157249"}],"id":"0f68575e-fc5c-4bfa-945a-533d5e19819c","description":"

ValueList and ValueListElement are used to manage lists of items used by Insights. ValueLists have a type designation and will be used by Insights on convention based on their type.

\n

Overview

\n
    \n
  • ValueList: A container for a list of values with a specific type and usage
  • \n
  • ValueListElement: Individual items within a ValueList
  • \n
\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"2f896891-321f-475d-b058-50490f4d11a3"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"7702655d-e676-4f41-9752-210112c1c69a"}}],"_postman_id":"0f68575e-fc5c-4bfa-945a-533d5e19819c","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}},{"name":"Marlin AI","item":[{"name":"Marlin AI results","id":"ddd2914a-2102-4207-8fc8-272e3f135137","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/ai/marlin/plans/analysis/latest/","description":"

Returns a paginated list of the latest Marlin AI results in your environment.

\n

Each entry includes metadata such as playbook_id, playbook_name, playbook_description, created_at, risk_classification, ms_types, final_analysis, remediation_suggestions, summary

\n

Response Fields

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
FieldData TypeDescriptionExample
playbook_idStringUnique identifier for the playbook. This is an AppOmni internal IDms_errors
playbook_nameStringName of the playbook as seen in the UISummary on monitored services disconnection issues
playbook_descriptionStringShort description about what the playbook doesThis playbook runs once per day and summarizes connection issues found on up to 20 monitored services. The monitored services are chosen based on the largest posture coverage.
created_atString (ISO datetime)Timestamp when the playbook run was created2022-11-29T05:56:26.372253Z
ms_typesArray [String]List with type of service analyzed (e.g., box, github)['smartsheet',
'github',
'asana',
'sfdc',
'confluence',
'zendesk']
final_analysisStringText output of Marlin AI analysisThese services have lost their connection to AppOmni, preventing continuous monitoring
remediation_suggestionsStringText output with remediation suggestions based on the data analyzedThis suggests a missing permission set required for the Salesforce integration. Contact user@appomni.com to re-establish the connection
summaryStringText summary that shows on Marlin AI cardsSaaS Monitoring Connection Issues.14 monitored services were analyzed, with 10 disconnected and 3 degraded
risk_classificationStringrisk set by Marlin AI based on what was found on its investigationhigh
\n
","urlObject":{"protocol":"https","path":["api","v1","ai","marlin","plans","analysis","latest",""],"host":["[your_subdomain]","appomni","com"],"query":[],"variable":[]}},"response":[{"id":"939d5699-82d4-4f6a-9c36-e7369fca8a26","name":"Get Marlin AI results","originalRequest":{"method":"GET","header":[],"url":"https://[your_subdomain].appomni.com/api/v1/ai/marlin/plans/analysis/latest/"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n \"results\": [\n {\n \"analysis_output\": {\n \"plan_id\": \"e73fe289-a451-44de-8e26-d7658b96fdf5\",\n \"final_analysis\": \"**Data analyzed:** 2651 occurrences and 20 findings related to inactive users were analyzed across your AppOmni environment. No specific links to the analyzed data are available in this output.\\n\\nThis analysis focused on identifying and reducing noise from overlapping insights related to inactive users within your production environment. The goal was to streamline your security posture by pinpointing redundant findings that can be safely closed, thereby improving operational efficiency for your SOC team. This process does not identify new cybersecurity threats but rather optimizes the management of existing observations.\\n\\n**Key findings:**\\n* **1311 occurrences** can be closed due to coverage overlap.\\n* **12 findings** can be closed due to coverage overlap.\\n\\nThis optimization applies to insights found across the following monitored services: **GSuite, iManage, O365, Okta, and SFMC**.\",\n \"remediation_suggestions\": \"To enhance your team's focus and reduce alert fatigue, prioritize the following actions:\\n\\n* **Review and Close Findings:** Access the Posture Findings interface in AppOmni and review the 12 identified findings and 1311 occurrences related to inactive users that have been marked for closure due to coverage overlap. Confirm their redundancy and proceed with dismissing or closing them.\\n* **Operational Efficiency:** Regularly leverage this type of analysis to maintain a clean and actionable security posture. This ensures your team can concentrate on unique, high-priority findings that require immediate attention.\\n* **Service-Specific Review:** For the affected monitored services (GSuite, iManage, O365, Okta, SFMC), consider a periodic review of inactive user management policies to ensure they align with your organization's current security and compliance requirements.\",\n \"summary\": \"**Inactive User Optimization**\\n2651 occurrences and 20 findings related to inactive users were analyzed, with a recommendation to close 1311 occurrences and 12 findings due to coverage overlap.\\nThis analysis focused on reducing noise from overlapping insights in GSuite, iManage, O365, Okta, and SFMC, optimizing the management of existing observations without identifying new threats.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"imanage\",\n \"sfmc\",\n \"okta\",\n \"gsuite\",\n \"o365\"\n ],\n \"created_at\": \"2026-06-15T15:09:28.689710Z\",\n \"updated_at\": \"2026-06-15T15:09:28.689710Z\"\n },\n \"playbook_id\": \"tailor_insights\",\n \"playbook_name\": \"Insights to tailor that have coverage overlap\",\n \"playbook_description\": \"This playbook runs once per day and looks across insights related to inactive users for coverage overlap, suggesting which findings can be closed.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": true,\n \"data_last_updated_at\": \"2026-06-15T15:09:28.677875Z\"\n },\n {\n \"analysis_output\": {\n \"plan_id\": \"c9d9a658-c4cd-4335-83ad-b2160dc32be9\",\n \"final_analysis\": \"**Analysis of 1 playbook execution related to ServiceNow data exposure.**\\nNo specific issues related to data records exposure, known CVEs (CVE-2025-3648 on top-level wildcard ACLs for `query_range` or `query_match` operations), or API exploitation IOCs were identified in your ServiceNow environment. The overall risk level for this investigation is **Informational**.\",\n \"remediation_suggestions\": \"**Remediation Suggestions:**\\n* **Maintain vigilance:** Continue to monitor your ServiceNow environment for new threats and misconfigurations.\\n* **Regular reviews:** Periodically review ServiceNow access controls, ACLs, and knowledge base settings to ensure they align with your organization's data security policies.\\n* **Stay updated:** Keep abreast of the latest ServiceNow security advisories and best practices to proactively address potential vulnerabilities.\\n* **Leverage AppOmni:** Utilize AppOmni's continuous monitoring capabilities to detect any future deviations from your security posture.\",\n \"summary\": \"**ServiceNow Data Exposure Analysis**\\nOne playbook execution was analyzed with zero findings related to data records exposure, CVEs, or API exploitation IOCs. The overall risk level is informational, and no action is required.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"snow\"\n ],\n \"created_at\": \"2026-06-15T15:09:15.406161Z\",\n \"updated_at\": \"2026-06-15T15:09:15.406161Z\"\n },\n \"playbook_id\": \"snow_data_exposed\",\n \"playbook_name\": \"Investigation of Data Publicly Exposed in the ServiceNow monitored services\",\n \"playbook_description\": \"This playbook runs once per day and investigates observations related to data exposed in the ServiceNow monitored services through different venues. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:09:15.399602Z\"\n },\n {\n \"analysis_output\": {\n \"plan_id\": \"36c58ce0-40a4-49ca-a38c-7f28b4bcffca\",\n \"final_analysis\": \"**No data was analyzed** as no open occurrences related to external users with API access in Salesforce were found in the Production environment. The investigation focused on Salesforce services, including site types, emails, and email domains. The overall risk of this investigation is **Informational**.\",\n \"remediation_suggestions\": \"Since no issues were identified, focus on maintaining your current secure posture:\\n* **Continue Monitoring:** Regularly monitor external user access and API access within your Salesforce services to detect any future deviations.\\n* **Review Configurations:** Periodically review Salesforce security configurations related to external users and API access to ensure they align with your organization's security policies and best practices.\\n* **Least Privilege:** Ensure that external users are granted the principle of least privilege, meaning they only have the necessary access to perform their tasks and no more.\\n* **Audit Logs:** Continuously review audit logs for any unusual or unauthorized API activity by external users.\\n* **Leverage AppOmni:** Utilize AppOmni's continuous monitoring capabilities to automatically detect and alert on any new or emerging risks related to external user API access in Salesforce.\",\n \"summary\": \"**Salesforce API Access Review**\\nNo occurrences related to external users with API access in Salesforce were found in the Production environment, and no data was analyzed. The investigation focused on Salesforce services, including site types, emails, and email domains. As no data was analyzed, no action is required.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"sfdc\"\n ],\n \"created_at\": \"2026-06-15T15:09:09.975725Z\",\n \"updated_at\": \"2026-06-15T15:09:09.975725Z\"\n },\n \"playbook_id\": \"sfdc_external_users_api\",\n \"playbook_name\": \"Investigation of external users with API access to Salesforce\",\n \"playbook_description\": \"This playbook runs once a day and investigates external users with API access to Salesforce services. Analysis of the Salesforce site type, emails and email domains found will be used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": true,\n \"data_last_updated_at\": \"2026-06-15T15:09:09.967276Z\"\n },\n \n\n {\n \"analysis_output\": {\n \"plan_id\": \"c3165b30-28f7-4dda-8682-739845136bda\",\n \"final_analysis\": \"**No data was analyzed for Asana.**\\n\\nNo Asana monitored service was found in your AppOmni environment with the specified `Production` environment tag. Therefore, no specific threat detection alerts or security findings could be analyzed for Asana at this time. The risk of this investigation is **Informational** due to the absence of data.\\n\\nAs an expert in Asana configurations and cybersecurity threats, I can provide general guidance on common security concerns for Asana, even without specific findings from your environment. Asana, like any SaaS application, can pose risks if not configured securely. Key areas of concern typically include:\\n\\n* **External Sharing:** Overly permissive sharing settings for projects, tasks, or portfolios can lead to sensitive data exposure to unauthorized external users.\\n* **Third-Party App Integrations:** Integrations with other SaaS applications can introduce supply chain risks if those third-party apps have excessive permissions or vulnerabilities.\\n* **User Access Management:** Inadequate review of user roles and permissions, especially for administrative or highly privileged users, can lead to privilege escalation or unauthorized access.\\n* **Public Links:** The use of public links for tasks or projects can inadvertently expose information to anyone with the link, bypassing access controls.\\n* **API Key Management:** Poor management of API keys used for integrations can lead to unauthorized access to Asana data and functionality.\\n\\nWithout specific data, it's impossible to pinpoint exact issues within your Asana environment, but these are common vectors to consider.\",\n \"remediation_suggestions\": \"Since no Asana monitored service was found, there are no specific remediation actions based on your environment. However, to proactively enhance your Asana security posture, consider the following general best practices:\\n\\n* **Onboard Asana to AppOmni:** Ensure your Asana instance is properly onboarded and configured as a monitored service within AppOmni. This will enable continuous monitoring and detection of misconfigurations and threats.\\n* **Review Sharing Settings:** Regularly audit and restrict external sharing capabilities within Asana. Ensure that projects and tasks are only shared with necessary internal and external collaborators.\\n* **Manage Third-Party Integrations:** Review all connected third-party applications and their permissions. Remove any unnecessary integrations and ensure remaining ones adhere to the principle of least privilege.\\n* **Implement Strong Access Controls:** Enforce strong password policies, multi-factor authentication (MFA) for all users, and regularly review user roles and permissions to ensure they align with job responsibilities.\\n* **Disable Public Links:** Minimize or disable the use of public links for sharing content. If public links are necessary, ensure they are time-limited and password-protected where possible.\\n* **Secure API Keys:** Implement a robust process for generating, storing, and rotating API keys used for Asana integrations. Avoid hardcoding API keys in code or exposing them publicly.\\n* **Leverage AppOmni's Policy Library:** Once Asana is onboarded, utilize AppOmni's default baseline policies and compliance frameworks to quickly establish a strong security posture and identify deviations.\",\n \"summary\": \"**Asana Security Analysis Summary**\\nNo data was analyzed for Asana, therefore no alerts or findings were identified. No action is required at this time. The risk associated with this investigation is informational due to the absence of data.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"asana\"\n ],\n \"created_at\": \"2026-06-15T15:08:24.959496Z\",\n \"updated_at\": \"2026-06-15T15:08:24.959496Z\"\n },\n \"playbook_id\": \"investigate_asana\",\n \"playbook_name\": \"Investigation of the Asana monitored service with lowest posture score\",\n \"playbook_description\": \"This playbook runs once per day and investigates the Asana monitored service with the lowest posture score. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:08:24.951843Z\"\n },\n {\n \"analysis_output\": {\n \"plan_id\": \"8331d0a3-434f-4ab7-8bc8-540f6eb74841\",\n \"final_analysis\": \"**No Databricks monitored service was found, therefore no specific security issues could be identified for analysis. The risk of this investigation is Informational.**\\n\\nNo data was analyzed as no Databricks monitored service was found in your environment. Therefore, no specific security findings or threat detection alerts related to Databricks could be generated.\",\n \"remediation_suggestions\": \"Since no Databricks monitored service was found, the primary action is to **onboard your Databricks instances into AppOmni** to enable continuous monitoring and threat detection. Once onboarded, AppOmni can provide detailed insights and policy rule findings specific to your Databricks configurations.\\n\\nIn the interim, consider the following general best practices for Databricks security:\\n* **Implement strong access controls:** Ensure that users and service principals have the least privilege necessary to perform their tasks. Regularly review and revoke unnecessary permissions.\\n* **Monitor for suspicious activity:** Integrate Databricks audit logs with your SIEM for centralized monitoring and alert on unusual access patterns, configuration changes, or data exfiltration attempts.\\n* **Secure network connectivity:** Restrict network access to Databricks workspaces using IP access lists and private endpoints.\\n* **Manage secrets securely:** Use Databricks secrets management or integrate with external secret stores (e.g., Azure Key Vault, AWS Secrets Manager) to protect sensitive credentials.\\n* **Regularly review configurations:** Periodically audit Databricks workspace settings, cluster configurations, and notebook permissions to ensure they align with your organization's security policies and best practices.\",\n \"summary\": \"**Databricks Security Analysis Summary**\\nNo Databricks monitored services were found, therefore no specific security issues could be identified for analysis. No action is required.\\nThe investigation found no data, and consequently, no security findings or threat detection alerts related to Databricks were generated.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"databricks\"\n ],\n \"created_at\": \"2026-06-15T15:08:24.392749Z\",\n \"updated_at\": \"2026-06-15T15:08:24.392749Z\"\n },\n \"playbook_id\": \"investigate_databricks\",\n \"playbook_name\": \"Investigation of the Databricks monitored service with lowest posture score\",\n \"playbook_description\": \"This playbook runs once per day and investigates the Databricks monitored service with the lowest posture score. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:08:24.378824Z\"\n },\n {\n \"analysis_output\": {\n \"plan_id\": \"21941dcf-a953-4dbf-9825-9c29e7824f20\",\n \"final_analysis\": \"**Data Analyzed:** 1 monitored service and 4 unique findings were analyzed. \\n\\n**Link to Monitored Service:** [jira - coretest](https://coretest.int.appomni.com/inventory/monitored-services/jira/36881)\\n\\n**Jira - coretest (Disconnected)**\\n\\nThe Jira monitored service, 'jira - coretest', is currently disconnected from AppOmni, with the integration failing on 2024-02-07T16:55:17. Despite an initial ingest being complete, the disconnected status means AppOmni is not receiving current data, which is critical for accurate security posture assessment and threat detection. This service has a total finding risk score of 300, indicating significant security concerns. All identified findings are categorized as **High** risk.\\n\\n**Key Security Issues:**\\n\\n* **Excessive Administrative and Elevated Permissions:** There are multiple findings related to users having excessive administrative and elevated permissions. This includes both 'Excessive Users with Admin Permissions' and 'Excessive Users with Elevated Permissions'. Additionally, a 'Custom Role With Admin Permissions' has been identified, which could grant broad access beyond what is necessary for specific job functions. These issues significantly increase the attack surface and the potential impact of a compromised account.\\n* **Publicly Exposed Dashboards:** The finding 'Dashboards exposed to anonymous world' indicates that sensitive information or operational data within Jira dashboards might be accessible to unauthorized external parties. This poses a significant data leakage risk and could expose internal processes or vulnerabilities.\",\n \"remediation_suggestions\": \"**For Jira - coretest:**\\n\\n1. **Reconnect Monitored Service:** Immediately investigate and resolve the disconnection issue for 'jira - coretest'. Ensure the integration account has the necessary permissions and that API connectivity is restored to allow AppOmni to monitor the service effectively. Without current data, security posture cannot be accurately assessed.\\n2. **Review and Restrict Permissions:**\\n * **Administrative and Elevated Permissions:** Conduct a thorough review of all users with administrative and elevated permissions. Implement the principle of least privilege, ensuring users only have the minimum access required for their roles. Remove unnecessary administrative or elevated access.\\n * **Custom Roles:** Examine the 'Custom Role With Admin Permissions' to understand its scope and assigned users. Refactor this role to remove administrative privileges if they are not strictly necessary, or assign it only to users who absolutely require such access and are subject to heightened scrutiny.\\n3. **Secure Dashboards:** Identify and restrict access to 'Dashboards exposed to anonymous world'. Configure dashboards to be accessible only to authorized internal users or specific groups, preventing public exposure of potentially sensitive information.\",\n \"summary\": \"**Jira - coretest Security Analysis**\\n1 monitored service and 4 findings analyzed, requiring review and remediation. The Jira service is disconnected, preventing current data ingestion, and presents high-risk issues including excessive administrative permissions and publicly exposed dashboards, increasing the attack surface and data leakage risk.\",\n \"risk_classification\": \"high\",\n \"ms_types\": [\n \"jira\"\n ],\n \"created_at\": \"2026-06-15T15:08:17.985242Z\",\n \"updated_at\": \"2026-06-15T15:08:17.985242Z\"\n },\n \"playbook_id\": \"investigate_jira\",\n \"playbook_name\": \"Investigation of the Jira monitored service with lowest posture score\",\n \"playbook_description\": \"This playbook runs once per day and investigates the Jira monitored service with the lowest posture score. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:08:17.979011Z\"\n },\n {\n \"analysis_output\": {\n \"plan_id\": \"8e706107-2fd0-48dd-9542-bb591cc22935\",\n \"final_analysis\": \"**Data Analyzed:** 1 monitored service and 8 findings.\\n\\n**Monitored Service:** [appomni](https://coretest.int.appomni.com/inventory/monitored-services/github/77298)\\n\\nThe GitHub monitored service **appomni** has a posture score of **63**, indicating several security misconfigurations that require immediate attention. The analysis reveals critical and high-risk findings primarily related to system settings and installed applications.\\n\\n**Critical Findings:**\\n* **Two-factor authentication (2FA) is not required:** The system setting 'Two-factor required' is configured to be false. This is a critical vulnerability as it significantly increases the risk of unauthorized access if credentials are compromised.\\n\\n**High Findings:**\\n* **Email setting misconfiguration:** The system setting 'Email' is not set to 'publicOrg@orgs.org'. This could indicate a deviation from organizational standards for public-facing email addresses, potentially impacting communication security or brand consistency.\\n* **GitHub Copilot public code suggestions not blocked:** The system setting 'Copilot Public Code Suggestions' is not set to 'Block'. This poses a risk of intellectual property leakage or unintended exposure of proprietary code through Copilot's suggestions based on public repositories.\\n* **Private repository count misconfiguration:** The system setting 'Total private repository count' is not set to '1'. This policy likely aims to limit the number of private repositories, and its current state indicates a potential over-provisioning or lack of control over private data storage.\\n\\n**Medium Findings:**\\n* **Installed Apps with dangerous permissions:** There are applications installed with dangerous permissions. These apps could potentially access sensitive data or perform unauthorized actions within your GitHub environment if compromised or misused.\\n* **Public repository and GitHub Pages creation by members:** The system settings 'Organization members can create public repositories' and 'Organization members can create Github Pages sites' (including public ones) are set to true. While this can foster collaboration, it also increases the risk of accidental data exposure or unapproved public content if not properly managed and monitored.\",\n \"remediation_suggestions\": \"**For the GitHub monitored service appomni, prioritize the following actions:**\\n\\n1. **Enforce Two-Factor Authentication (2FA):**\\n * Immediately change the system setting 'Two-factor required' to **true** to mandate 2FA for all users. This is the most critical step to prevent unauthorized access.\\n\\n2. **Review and Correct Email Settings:**\\n * Verify and update the system setting 'Email' to 'publicOrg@orgs.org' or your organization's designated public email address. Ensure consistency and adherence to your communication policies.\\n\\n3. **Block GitHub Copilot Public Code Suggestions:**\\n * Configure the system setting 'Copilot Public Code Suggestions' to **Block**. This will help prevent the unintentional exposure of proprietary code and maintain intellectual property integrity.\\n\\n4. **Manage Private Repository Count:**\\n * Investigate why the 'Total private repository count' is not set to '1'. Adjust this system setting to align with your organization's policy on private repository limits, or create an exception if the current count is intentional and justified.\\n\\n5. **Audit Installed Apps with Dangerous Permissions:**\\n * Review all installed applications within GitHub. For those identified with dangerous permissions, assess if these permissions are absolutely necessary for their function. Revoke any excessive or unused permissions immediately. Consider replacing apps with less privileged alternatives if possible.\\n\\n6. **Control Public Repository and GitHub Pages Creation:**\\n * Evaluate your organization's policy on members creating public repositories and GitHub Pages sites. If not strictly necessary, consider changing the system settings 'Organization members can create public repositories', 'Organization members can create Github Pages sites', and 'Organization members can create public Github Pages sites' to **false**. If these capabilities are required, ensure robust internal guidelines, regular audits, and monitoring are in place to prevent data leakage.\",\n \"summary\": \"**GitHub Security Posture Review**\\n8 findings were analyzed for the appomni GitHub service, recommending immediate review and remediation due to critical and high-risk misconfigurations. Key issues include disabled two-factor authentication, exposed Copilot suggestions, and unmanaged repository creation, posing significant risks of unauthorized access and data leakage.\",\n \"risk_classification\": \"high\",\n \"ms_types\": [\n \"github\"\n ],\n \"created_at\": \"2026-06-15T15:08:16.613052Z\",\n \"updated_at\": \"2026-06-15T15:08:16.613052Z\"\n },\n \"playbook_id\": \"investigate_github\",\n \"playbook_name\": \"Investigation of the GitHub monitored service with lowest posture score\",\n \"playbook_description\": \"This playbook runs once per day and investigates the GitHub monitored service with the lowest posture score. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:08:16.603590Z\"\n },\n {\n \"analysis_output\": {\n \"plan_id\": \"7251c1a4-3681-4cf1-997b-956ed979c9db\",\n \"final_analysis\": \"**Data Analyzed:** No security findings or threat detection alerts related to AI Agent Security were identified in ServiceNow.\\n\\nThis investigation, focused on AI agent security within your ServiceNow monitored services in the Production environment, found no active security findings or threat detection alerts. The overall risk associated with this specific investigation is **Informational**.\",\n \"remediation_suggestions\": \"Given that no immediate issues were identified, the primary focus should be on maintaining a strong proactive security posture for your AI agents in ServiceNow:\\n\\n* **Continuous Monitoring:** Ensure continuous monitoring is active for your ServiceNow environment, especially for configurations and activities related to AI agents. The threat landscape for AI agents is rapidly evolving, and ongoing vigilance is crucial.\\n* **Leverage AgentGuard:** Review and ensure optimal configuration of AppOmni's AgentGuard for your ServiceNow AI agents. AgentGuard provides runtime AI security capabilities to detect and block prompt injection attacks, prevent sensitive data exposure, and offer visibility into AI agent operations.\\n* **Review ServiceNow Best Practices:** Regularly consult ServiceNow's official security guidelines and best practices for deploying and managing AI agents to ensure your configurations align with the latest recommendations.\\n* **Policy Review:** Periodically review your existing security posture policies and data security policies related to ServiceNow to ensure they adequately cover the evolving functionalities and potential risks introduced by AI agents.\",\n \"summary\": \"**AI Agent Security in ServiceNow**\\n\\nNo security findings or threat detection alerts were identified in ServiceNow, and no action is required. The investigation into AI agent security within your ServiceNow monitored services in the Production environment found no active security findings or threat detection alerts. The overall risk associated with this specific investigation is Informational.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"snow\"\n ],\n \"created_at\": \"2026-06-15T15:08:01.267563Z\",\n \"updated_at\": \"2026-06-15T15:08:01.267563Z\"\n },\n \"playbook_id\": \"investigate_ai_snow\",\n \"playbook_name\": \"Investigation of AI agents in the ServiceNow monitored services\",\n \"playbook_description\": \"This playbook runs once per day and investigates observations related to AI agents in the ServiceNow monitored services. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:08:01.261743Z\"\n },\n \n {\n \"analysis_output\": {\n \"plan_id\": \"1b0a54c1-7562-47f7-9637-f6efa6204d7e\",\n \"final_analysis\": \"**No data was analyzed for this request.**\\n\\nNo Workday monitored service was found in your AppOmni environment with the specified criteria. Therefore, no security issues, findings, or threat detection alerts could be fetched or analyzed for Workday. The overall risk level for this investigation is **Informational** due to the absence of data.\",\n \"remediation_suggestions\": \"To ensure future investigations can proceed, please take the following actions:\\n\\n* **Verify Workday Onboarding:** Confirm that your Workday instance is properly onboarded and configured as a monitored service within AppOmni.\\n* **Check Environment Tag:** Ensure that the 'Production' environment tag is correctly applied to your Workday monitored service if that is the intended target for this playbook.\\n* **Review Monitored Service Status:** Check the status of your Workday monitored service in the AppOmni console to identify any connectivity or configuration issues.\",\n \"summary\": \"**Workday SaaS Security Analysis Summary**\\nNo data was analyzed for this request, therefore no security issues, findings, or threat detection alerts were fetched or analyzed. No action is required.\\nThe investigation found no Workday monitored services matching the specified criteria, resulting in an informational risk level due to the absence of data.\",\n \"risk_classification\": \"informational\",\n \"ms_types\": [\n \"workday\"\n ],\n \"created_at\": \"2026-06-15T15:07:59.367309Z\",\n \"updated_at\": \"2026-06-15T15:07:59.367309Z\"\n },\n \"playbook_id\": \"investigate_workday\",\n \"playbook_name\": \"Investigation of the Workday monitored service with lowest posture score\",\n \"playbook_description\": \"This playbook runs once per day and investigates the Workday monitored service with the lowest posture score. Data from threat detection alerts as well as findings are used in this investigation.\",\n \"org_id\": \"23\",\n \"data_enabled\": true,\n \"actions_enabled\": false,\n \"data_last_updated_at\": \"2026-06-15T15:07:59.360631Z\"\n },\n\n ],\n \"count\": 25,\n \"next\": null,\n \"previous\": null\n}"}],"_postman_id":"ddd2914a-2102-4207-8fc8-272e3f135137"}],"id":"7417b5d4-062b-4f1c-9a86-554791bd6925","description":"

Marlin AI is an autonomous SaaS security AI that runs platform-wide deep analyses and correlations automatically across security observations in the AppOmni platform

\n","_postman_id":"7417b5d4-062b-4f1c-9a86-554791bd6925","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"244c5280-5479-4b7d-abb9-41c0549cffc1","id":"244c5280-5479-4b7d-abb9-41c0549cffc1","name":"AppOmni API","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]}},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"ddb35725-5e0f-4b36-a507-1b1c3cbf3db9"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"9b47cb0f-fdc3-4c39-afad-f0093f17d2d6"}}],"variable":[{"id":"ea13a00b-647c-4013-baf8-1183ace5c4c1","key":"AppOmni Instance","value":"[your_subdomain]"},{"id":"853f5779-ab5e-4ac4-adb6-f4f1b8b3648e","key":"AppOmni API Token","value":"[your_api_token]"}]}