Stitchflow
OpenText ArcSight logo

OpenText ArcSight User Management API Guide

API workflow

How to automate user lifecycle operations through APIs with caveats that matter in production.

UpdatedMar 17, 2026

Summary and recommendation

ArcSight exposes two distinct API surfaces for user management that must not be conflated.

ArcSight Platform (the newer unified platform, cloud or on-premises) supports SCIM 2.0 at https://<host>/platform-service/scim/v2 and a session-based REST API at https://<host>/platform-service/rest/v1.

ArcSight ESM (legacy on-premises SIEM) has a separate, older REST API with limited user-management capabilities and a different base path and auth model.

Authentication for the REST API uses a session token obtained by POSTing credentials to /platform-service/rest/v1/auth/login;

the returned Bearer token must be included in subsequent requests.

The SCIM endpoint uses a separate bearer token generated manually from the Platform Admin UI under User Management > SCIM Configuration - it is not interchangeable with the REST session token.

Token lifetime is not explicitly documented;

implement re-authentication logic accordingly.

For identity graph use cases - correlating user identities across the ArcSight Platform, an IdP, and downstream SIEM resources - the SCIM /Users endpoint is the authoritative source.

Key linkage fields are externalId (identifier from the external IdP), id (server-assigned ArcSight Platform identifier), userName, groups, and roles.

Cross-referencing externalId against IdP records enables reliable identity resolution without depending on display name or email alone.

API quick reference

Has user APIYes
Auth methodBearer token (session-based login token obtained via /auth/login endpoint; OAuth 2.0 not explicitly documented for user-management REST API)
Base URLOfficial docs
SCIM availableYes
SCIM plan requiredEnterprise

Authentication

Auth method: Bearer token (session-based login token obtained via /auth/login endpoint; OAuth 2.0 not explicitly documented for user-management REST API)

Setup steps

  1. POST credentials to /platform-service/rest/v1/auth/login with username and password in the request body to receive a session token.
  2. Include the returned token in subsequent requests as an Authorization: Bearer header.
  3. For SCIM provisioning, generate a SCIM bearer token from the ArcSight Platform Admin UI under User Management > SCIM Configuration.
  4. Tokens are scoped to the tenant; ensure the account used has the System Admin role for user-management operations.

User object / data model

Field Type Description On create On update Notes
id string Unique identifier for the user (SCIM: externalId or server-assigned id) server-assigned immutable Used as path parameter in SCIM operations
userName string Unique login name for the user required optional Maps to ArcSight Platform login; must be unique within tenant
name.givenName string User's first name optional optional SCIM standard sub-attribute
name.familyName string User's last name optional optional SCIM standard sub-attribute
displayName string Display name shown in the UI optional optional
emails array List of email addresses; primary email used for notifications required optional At least one entry with primary:true expected
active boolean Whether the user account is enabled optional (defaults to true) optional Set to false to deactivate/deprovision user
groups array Group memberships for the user optional optional Read-only in SCIM user resource; managed via Group endpoint
roles array ArcSight roles assigned to the user (e.g., System Admin, Analyst) optional optional ArcSight-specific extension; role names must match existing platform roles
externalId string Identifier from the external identity provider optional optional Used to correlate with IdP records
password string User password (write-only) optional optional Only applicable for local accounts; not returned in GET responses

Core endpoints

List Users (SCIM)

  • Method: GET
  • URL: https://<host>/platform-service/scim/v2/Users
  • Watch out for: SCIM token must be generated from the Platform Admin UI; it is separate from the REST API session token.

Request example

GET /platform-service/scim/v2/Users?startIndex=1&count=20
Authorization: Bearer <scim-token>

Response example

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
  "totalResults": 50,
  "startIndex": 1,
  "itemsPerPage": 20,
  "Resources": [{"id":"abc123","userName":"jdoe"}]
}

Get User by ID (SCIM)

  • Method: GET
  • URL: https://<host>/platform-service/scim/v2/Users/{id}
  • Watch out for: The id value is server-assigned; use the id from the ListResponse, not the externalId.

Request example

GET /platform-service/scim/v2/Users/abc123
Authorization: Bearer <scim-token>

Response example

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "id": "abc123",
  "userName": "jdoe",
  "active": true,
  "emails": [{"value":"jdoe@example.com","primary":true}]
}

Create User (SCIM)

  • Method: POST
  • URL: https://<host>/platform-service/scim/v2/Users
  • Watch out for: User must be assigned a role within ArcSight Platform separately; SCIM creation alone does not grant product access.

Request example

POST /platform-service/scim/v2/Users
Authorization: Bearer <scim-token>
Content-Type: application/scim+json
{
  "schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],
  "userName":"jdoe",
  "emails":[{"value":"jdoe@example.com","primary":true}],
  "active":true
}

Response example

HTTP 201 Created
{
  "id": "abc123",
  "userName": "jdoe",
  "active": true
}

Update User (SCIM PATCH)

  • Method: PATCH
  • URL: https://<host>/platform-service/scim/v2/Users/{id}
  • Watch out for: PATCH is the preferred method for deactivation; DELETE may permanently remove the user record.

Request example

PATCH /platform-service/scim/v2/Users/abc123
Authorization: Bearer <scim-token>
Content-Type: application/scim+json
{
  "schemas":["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations":[{"op":"replace","path":"active","value":false}]
}

Response example

HTTP 200 OK
{
  "id": "abc123",
  "userName": "jdoe",
  "active": false
}

Replace User (SCIM PUT)

  • Method: PUT
  • URL: https://<host>/platform-service/scim/v2/Users/{id}
  • Watch out for: PUT replaces the entire user object; omitting optional fields may clear existing values.

Request example

PUT /platform-service/scim/v2/Users/abc123
Authorization: Bearer <scim-token>
Content-Type: application/scim+json
{
  "schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],
  "userName":"jdoe",
  "displayName":"John Doe",
  "active":true
}

Response example

HTTP 200 OK
{
  "id": "abc123",
  "userName": "jdoe",
  "displayName": "John Doe"
}

Delete User (SCIM)

  • Method: DELETE
  • URL: https://<host>/platform-service/scim/v2/Users/{id}
  • Watch out for: Deletion is permanent. Consider PATCH active=false for reversible deprovisioning.

Request example

DELETE /platform-service/scim/v2/Users/abc123
Authorization: Bearer <scim-token>

Response example

HTTP 204 No Content

List Groups (SCIM)

  • Method: GET
  • URL: https://<host>/platform-service/scim/v2/Groups
  • Watch out for: Groups in ArcSight Platform correspond to user groups used for role-based access; group names must match existing platform groups.

Request example

GET /platform-service/scim/v2/Groups?startIndex=1&count=20
Authorization: Bearer <scim-token>

Response example

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
  "totalResults": 5,
  "Resources": [{"id":"grp1","displayName":"Analysts"}]
}

Authenticate / Get Session Token (REST API)

  • Method: POST
  • URL: https://<host>/platform-service/rest/v1/auth/login
  • Watch out for: Session tokens expire; re-authenticate or implement token refresh logic. Token lifetime is not explicitly documented.

Request example

POST /platform-service/rest/v1/auth/login
Content-Type: application/json
{
  "login": "admin",
  "password": "<password>"
}

Response example

HTTP 200 OK
{
  "token": "<session-token>",
  "tokenType": "Bearer"
}

Rate limits, pagination, and events

  • Rate limits: No explicit rate-limit documentation found in official ArcSight Platform or ESM REST API docs.

  • Rate-limit headers: No

  • Retry-After header: No

  • Rate-limit notes: Rate limits are not publicly documented. Behavior may be governed by underlying infrastructure (e.g., reverse proxy or load balancer) rather than application-level throttling.

  • Pagination method: offset

  • Default page size: 0

  • Max page size: 0

  • Pagination pointer: startIndex and count (SCIM standard parameters); REST API pagination parameters not explicitly documented

  • Webhooks available: No

  • Webhook notes: ArcSight Platform and ESM do not document outbound webhook support for user-management events in official documentation.

  • Alternative event strategy: Use ArcSight's event correlation and forwarding rules to push security events to external systems; for user lifecycle events, poll the SCIM /Users endpoint or rely on IdP-side event notifications.

SCIM API status

  • SCIM available: Yes

  • SCIM version: 2.0

  • Plan required: Enterprise

  • Endpoint: https:///platform-service/scim/v2

  • Supported operations: GET /Users (list), GET /Users/{id}, POST /Users (create), PUT /Users/{id} (replace), PATCH /Users/{id} (update/deactivate), DELETE /Users/{id}, GET /Groups (list), GET /Groups/{id}, PATCH /Groups/{id} (add/remove members)

Limitations:

  • SCIM token is generated manually from the Platform Admin UI; no automated token rotation API is documented.
  • Role assignment via SCIM may require ArcSight-specific schema extensions not fully documented publicly.
  • SCIM provisioning is available in ArcSight Platform (cloud/on-prem unified platform); availability in standalone ESM on-premises deployments is not confirmed in official docs.
  • No documented support for SCIM /ServiceProviderConfig or /Schemas discovery endpoints.
  • Group membership changes via SCIM may not immediately propagate to all ArcSight product modules.

Common scenarios

Three primary automation scenarios are supported by the SCIM 2.0 API.

Provision a new analyst: POST to /platform-service/scim/v2/Users with userName, emails, and active:true.

Capture the server-assigned id from the 201 response.

SCIM user creation does not automatically assign ArcSight product roles;

a separate role-assignment step via the Platform Admin UI or REST API is required before the user can access ArcSight consoles.

Deactivate without destroying audit trail: PATCH /platform-service/scim/v2/Users/{id} with {op:replace, path:active, value:false}.

Prefer this over DELETE - deletion is permanent and removes the user record, which can break audit log attribution and compliance reporting.

Confirm deactivation by verifying active:false in a subsequent GET response.

Bulk access review: Paginate GET /platform-service/scim/v2/Users?startIndex=1&count=100.

Check totalResults in the ListResponse and iterate by incrementing startIndex by count until all pages are retrieved.

Default and maximum page sizes are not explicitly documented;

test with count=100 and reduce if the server returns errors or truncated responses.

Provision a new analyst user via SCIM

  1. Generate a SCIM bearer token from ArcSight Platform Admin UI > User Management > SCIM Configuration.
  2. POST to /platform-service/scim/v2/Users with userName, emails, and active:true in the request body.
  3. Capture the server-assigned id from the 201 response.
  4. If role assignment is not handled by SCIM, log in to the Platform Admin UI or use the REST API to assign the appropriate ArcSight role (e.g., Analyst) to the new user.

Watch out for: SCIM user creation does not automatically assign ArcSight product roles; a separate role-assignment step may be required before the user can access ArcSight consoles.

Deactivate a departing user without deleting their audit trail

  1. Retrieve the user's SCIM id via GET /platform-service/scim/v2/Users?filter=userName eq "jdoe".
  2. PATCH /platform-service/scim/v2/Users/{id} with Operations: [{op:replace, path:active, value:false}].
  3. Verify the user can no longer authenticate by checking active:false in the GET /Users/{id} response.

Watch out for: Using DELETE instead of PATCH active=false permanently removes the user record, which may affect audit log attribution and compliance reporting.

Bulk-list all users for access review

  1. GET /platform-service/scim/v2/Users?startIndex=1&count=100 with the SCIM bearer token.
  2. Check totalResults in the ListResponse; if greater than count, iterate by incrementing startIndex by count until all pages are retrieved.
  3. Extract userName, active, emails, and groups fields from each Resource for the access review report.

Watch out for: Default and maximum page sizes are not explicitly documented; test with count=100 and reduce if the server returns errors or truncated responses.

Why building this yourself is a trap

The most consequential integration trap is assuming SCIM provisioning fully manages access. SCIM user creation provisions the account but does not assign ArcSight product roles; without a separate role-assignment step, a provisioned user has no effective access to ArcSight consoles.

Role assignments may require ArcSight-specific SCIM schema extensions that are not fully documented publicly, or a fallback to UI-based configuration.

A second trap is token confusion. The SCIM bearer token and the REST API session token are generated through different mechanisms and are not interchangeable. Using the wrong token against an endpoint will result in authentication failures that are not always clearly surfaced in error responses.

Rate limits are not publicly documented for either the SCIM or REST API surfaces. Behavior is likely governed by underlying infrastructure rather than application-level throttling, meaning limits may vary by deployment and will not be signaled by standard rate-limit headers. Build in conservative retry logic with exponential backoff.

Additionally, SCIM availability in standalone ESM on-premises deployments is not confirmed in official documentation; verify endpoint availability in your specific deployment before building automation dependencies against it.

Automate OpenText ArcSight workflows without one-off scripts

Stitchflow builds and maintains end-to-end IT automation across your SaaS stack, including apps without APIs. Built for exactly how your company works, with human approvals where they matter.

Every app coverage, including apps without APIs
60+ app integrations plus browser automation for apps without APIs
IT graph reconciliation across apps and your IdP
Less than a week to launch, maintained as APIs and admin consoles change
SOC 2 Type II. ~2 hours of your team's time

UpdatedMar 17, 2026

* Details sourced from official product documentation and admin references.

Keep exploring

Related apps

15Five logo

15Five

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

15Five uses a fixed role-based permission model with six predefined roles: Account Admin, HR Admin, Billing Admin, Group Admin, Manager, and Employee. No custom roles can be constructed. User management lives at Settings gear → People → Manage people p

1Password logo

1Password

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

1Password's admin console at my.1password.com covers the full user lifecycle — invitations, group assignments, vault access, suspension, and deletion — without any third-party tooling. Like every app that mixes role-based and resource-level permissions

8x8 logo

8x8

Full API + SCIM
AutomationAPI + SCIM
Last updatedFeb 2026

8x8 Admin Console supports full lifecycle user management — create, deactivate, and delete — across its X Series unified communications platform. Every app a user can access (8x8 Work desktop, mobile, web, Agent Workspace) is gated by license assignmen