Skip to main content

Create Space

You can create a space in your organization programmatically,
variables

Query for Users in an Organization

Delete Users from Space

Add Users to Space


SAML Configuration

Manage SAML IdP configurations via GraphQL. There are three distinct workflows:
  1. Migration from File Config - Reading existing file-based config and creating a DB entry
  2. Fresh Creation - Creating a new SAML config from scratch
  3. Updating Existing Config - Modifying an existing DB-managed config

Prerequisites: Data Gathering Queries

Before creating or updating SAML configs, gather supporting data: organizations, spaces (mapped to orgs), and available roles.

List All SAML Configurations

Use this to find existing configs. Check isManagedByFile to determine which workflow to use.
isManagedByFile: true indicates a file-based config that is read-only through the API. Use Workflow 1 to migrate it to a DB-managed config.

Query Organizations, Spaces, and Roles

Fetches the org→space mappings and available RBAC roles needed for role mapping configuration.
The roles query returns custom RBAC roles. isPredefined: true indicates Arize-managed roles that cannot be edited or deleted.
Example Response:

Workflow 1: Migrate File Config to Database

When isManagedByFile: true on an existing SAML config, you must create a new DB-managed config (not update). The file-based config is read-only through the API.
1

Read Existing Config Values

Use SAMLConfigsQuery above to read the file-managed config’s values.
2

Map to CreateSAMLIdPInput

Transform the queried config data into a create input:
3

Execute Create Mutation

See “Create SAML Configuration” below.

Workflow 2: Create New Config (Fresh)

1

Gather Support Data

Run OrganizationsSpacesQuery to get available orgs, spaces, and roles.
2

Execute Create Mutation

See “Create SAML Configuration” below.

Workflow 3: Update Existing DB Config

Updates are full replacements - you must send the complete configuration. Omitting fields may reset them to defaults.
1

List Configs to Get Target ID

Use SAMLConfigsQuery to find the config. Ensure isManagedByFile: false.
2

Gather Support Data

Run OrganizationsSpacesQuery for org→space mappings and role IDs.
3

Execute Update Mutation

See “Update SAML Configuration” below.

Create SAML Configuration

Use allowLoginWithDefaults: true to allow users to log in without matching role mappings:

Update SAML Configuration

Variables (Full Replacement):

Clear All Role Mappings

To remove all role mappings, you must enable allowLoginWithDefaults:

Delete SAML Configuration

Variables:

Input Type Reference

CreateSAMLIdPInput

One of metadataUrl or metadataXml should be provided.

UpdateSAMLIdPInput

Same as CreateSAMLIdPInput plus:

EmailDomainInput

RoleMappingsInput

RoleMappingInput

spaceRolesMap and spaceRbacRolesMap are mutually exclusive per mapping.

OrgRoleInput

Role ID Values

Organization Roles (orgRole.roleId)

Built-in roles for organization membership:
The annotator role is not available for organization roles in SAML role mappings. Annotators must be configured at the space level using spaceRolesMap.

Space Roles (spaceRolesMap values)

Built-in roles for space membership (legacy, use spaceRbacRolesMap for custom roles):
Note the camelCase: "readOnly" not "readonly". These values are case-sensitive.

RBAC Roles (spaceRbacRolesMap)

For custom RBAC roles, use the unique IDs from the roles query:
Example mapping: [["U3BhY2U6NDU2", "Um9sZToxMjM="]] maps space ID to RBAC role ID.

Error Handling

All mutations return an error field. Check this before assuming success:
Common errors:
  • "Email domain already in use" - Domain registered to another config
  • "Role mappings required when allowLoginWithDefaults is false" - Need at least one mapping
  • "Cannot update file-managed SAML configuration" - Config has isManagedByFile: true
  • "Invalid metadata URL/XML" - Metadata parsing failed

Workflow Decision Tree