> ## Documentation Index
> Fetch the complete documentation index at: https://arize-ax.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Admin mutations

> Create and manage organizations, spaces, memberships, API keys, SAML and gates. Arguments, return types and a validated example for each of the 15 mutations.

Create and manage organizations, spaces, memberships, API keys, SAML and gates.

For task-oriented walkthroughs of these operations, see the [Admin guide](/docs/ax/graphql-reference/guides/admin.md). Every mutation below is sent as a `POST` to `https://app.arize.com/graphql` with an `x-api-key` header; see [Forming calls](/docs/ax/graphql-reference/overview/how-to-use-graphql/forming-calls.md).

## Mutations in this page

* [`createOrganization`](#createorganization): Create an organization to populate with spaces
* [`createSpace`](#createspace): Create a space within an organization
* [`updateSpace`](#updatespace): Update a space within an organization
* [`deleteSpace`](#deletespace): Delete a space
* [`assignSpaceMembership`](#assignspacemembership): Assign multiple users to multiple spaces with appropriate roles
* [`removeSpaceMember`](#removespacemember): Remove a user from a space
* [`createUserApiKey`](#createuserapikey): Create a new user API key
* [`createServiceApiKey`](#createserviceapikey): Create a new service API key and its associated bot user
* [`revokeApiKey`](#revokeapikey): Revokes an API key
* [`createSAMLIdP`](#createsamlidp): Create a new SAML Identity Provider configuration
* [`updateSAMLIdP`](#updatesamlidp): Update an existing SAML Identity Provider configuration
* [`addSAMLRoleMapping`](#addsamlrolemapping): Add a single role mapping to a SAML Identity Provider without touching its other role mappings.
* [`createExporterAuditLog`](#createexporterauditlog): Create an exporter audit log
* [`setSpaceGateLimit`](#setspacegatelimit): Set a rate limit gate value for a space.
* [`deleteSpaceGateLimit`](#deletespacegatelimit): Remove a rate limit gate from a space, resetting it to no limit.

## Reference

### createOrganization

Create an organization to populate with spaces

`createOrganization(input: CreateOrganizationMutationInput!): CreateOrganizationMutationPayload`

#### Arguments

**input** `CreateOrganizationMutationInput!` *required*

**CreateOrganizationMutationInput fields**

**name** `String!` *required*

The name of the organization

**description** `String`

The description of the organization

**clientMutationId** `String`

#### Returns

**organization** `AccountOrganization!`

**AccountOrganization fields**

Scalar fields: `id`, `name`, `createdAt`, `description`, `predictionVolume`.

Object fields (select subfields): `creator`, `spaces`, `accountOrganizationUsers`, `integrations`, `externalLlmApiKeys`, `customLlmEndpoints`, `webhooks`, `costConfigs`, `alyxCustomViews`, `modelCount`, `monitorTriggeredCount`, `modelTriggeredCount`, `modelInferencesCount`, `llmSpansCount`, `llmModelCosts`, `llmModelCostsBySpace`, `totalCostOverTime`, `averageLatencyOverTime`, `evalNames`, `averageEvalScoreOverTime`, `evalLabelDistribution`, `traceCountOverTime`, `errorsOverTime`, `summaryDashboardConfig`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateOrganization($input: CreateOrganizationMutationInput!) {
  createOrganization(input: $input) {
    organization { id name }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "name": "<string>"
  }
}
```

### createSpace

Create a space within an organization

`createSpace(input: CreateSpaceMutationInput!): CreateSpaceMutationPayload`

#### Arguments

**input** `CreateSpaceMutationInput!` *required*

**CreateSpaceMutationInput fields**

**accountOrganizationId** `ID!` *required*

The ID of the account organization to add the space to

**name** `String!` *required*

The name of the space

**private** `Boolean!` *required*

Whether or not the space is private

**description** `String`

The description of the space

**gradientStartColor** `HexColorCode`

Start color for space gradient avatar

**gradientEndColor** `HexColorCode`

End color for space gradient avatar

**clientMutationId** `String`

#### Returns

**space** `Space!`

**Space fields**

Scalar fields: `id`, `name`, `description`, `uuid`, `createdAt`, `liveEnabled`, `isLLMOnlySpace`, `playgroundTracingModelId`, `evalTracingModelId`, `sandboxTracingModelId`, `mlModelsEnabled`, `private`, `gradientStartColor`, `gradientEndColor`, `hasDashboardsCreated`.

Object fields (select subfields): `organization`, `models`, `monitors`, `dashboards`, `spaceUsers`, `byobConnectors`, `importJobs`, `tableJobs`, `sandboxJobs`, `signalInsightSummary`, `signalEnabledProjectSummary`, `signalIssues`, `agentIssues`, `automations`, `datasets`, `experiments`, `customMetrics`, `onlineTasks`, `prompts`, `tags`, `evaluators`, `annotationQueues`, `playgroundViews`, `annotationConfigs`, `traceFilters`, `llmIntegrations`, `defaultLlmIntegration`, `defaultAgentRuntime`, `gates`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateSpace($input: CreateSpaceMutationInput!) {
  createSpace(input: $input) {
    space { id name }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "accountOrganizationId": "<ID>",
    "name": "<string>",
    "private": true
  }
}
```

### updateSpace

Update a space within an organization

`updateSpace(input: UpdateSpaceMutationInput!): UpdateSpaceMutationPayload`

#### Arguments

**input** `UpdateSpaceMutationInput!` *required*

**UpdateSpaceMutationInput fields**

**spaceId** `ID!` *required*

The ID of the space to update

**name** `String`

The name of the space

**private** `Boolean`

Whether or not the space is private

**description** `String`

The description of the space

**gradientStartColor** `HexColorCode`

Start color for space gradient avatar

**gradientEndColor** `HexColorCode`

End color for space gradient avatar

**mlModelsEnabled** `Boolean`

Whether the ML Models tab is enabled for this space

**clientMutationId** `String`

#### Returns

**space** `Space`

**Space fields**

Scalar fields: `id`, `name`, `description`, `uuid`, `createdAt`, `liveEnabled`, `isLLMOnlySpace`, `playgroundTracingModelId`, `evalTracingModelId`, `sandboxTracingModelId`, `mlModelsEnabled`, `private`, `gradientStartColor`, `gradientEndColor`, `hasDashboardsCreated`.

Object fields (select subfields): `organization`, `models`, `monitors`, `dashboards`, `spaceUsers`, `byobConnectors`, `importJobs`, `tableJobs`, `sandboxJobs`, `signalInsightSummary`, `signalEnabledProjectSummary`, `signalIssues`, `agentIssues`, `automations`, `datasets`, `experiments`, `customMetrics`, `onlineTasks`, `prompts`, `tags`, `evaluators`, `annotationQueues`, `playgroundViews`, `annotationConfigs`, `traceFilters`, `llmIntegrations`, `defaultLlmIntegration`, `defaultAgentRuntime`, `gates`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateSpace($input: UpdateSpaceMutationInput!) {
  updateSpace(input: $input) {
    space { id name }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "spaceId": "<ID>"
  }
}
```

### deleteSpace

Delete a space

`deleteSpace(input: DeleteSpaceMutationInput!): DeleteSpaceMutationPayload`

#### Arguments

**input** `DeleteSpaceMutationInput!` *required*

**DeleteSpaceMutationInput fields**

**spaceUuid** `String!` *required*

The uuid of the space to delete

**clientMutationId** `String`

#### Returns

**success** `Boolean`

Whether the space was deleted successfully

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteSpace($input: DeleteSpaceMutationInput!) {
  deleteSpace(input: $input) {
    success
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "spaceUuid": "<string>"
  }
}
```

### assignSpaceMembership

Assign multiple users to multiple spaces with appropriate roles

`assignSpaceMembership(input: AssignSpaceMembershipMutationInput!): AssignSpaceMembershipMutationPayload`

#### Arguments

**input** `AssignSpaceMembershipMutationInput!` *required*

**AssignSpaceMembershipMutationInput fields**

**spaceMemberships** `[SpaceMemberInput!]!` *required*

A list of user ID's, roles, and space ID's

**SpaceMemberInput fields**

**userId** `ID!` *required*

**spaceId** `ID!` *required*

**role** `SpaceMemberRole`

Legacy space role (admin, member, readOnly, annotator). Either role or customRoleId must be provided, but not both. One of: `admin`, `member`, `readOnly`, `annotator`.

**customRoleId** `ID`

Custom role ID. Either role or customRoleId must be provided, but not both.

**clientMutationId** `String`

#### Returns

**spaceMemberships** `[SpaceMember!]`

**SpaceMember fields**

Scalar fields: `id`, `role`.

Object fields (select subfields): `user`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation AssignSpaceMembership($input: AssignSpaceMembershipMutationInput!) {
  assignSpaceMembership(input: $input) {
    spaceMemberships { id }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {}
}
```

### removeSpaceMember

Remove a user from a space

`removeSpaceMember(input: RemoveSpaceMemberMutationInput!): RemoveSpaceMemberMutationPayload`

#### Arguments

**input** `RemoveSpaceMemberMutationInput!` *required*

**RemoveSpaceMemberMutationInput fields**

**spaceId** `ID!` *required*

The ID of the space

**userId** `ID!` *required*

The user ID of the space member

**clientMutationId** `String`

#### Returns

**space** `Space`

**Space fields**

Scalar fields: `id`, `name`, `description`, `uuid`, `createdAt`, `liveEnabled`, `isLLMOnlySpace`, `playgroundTracingModelId`, `evalTracingModelId`, `sandboxTracingModelId`, `mlModelsEnabled`, `private`, `gradientStartColor`, `gradientEndColor`, `hasDashboardsCreated`.

Object fields (select subfields): `organization`, `models`, `monitors`, `dashboards`, `spaceUsers`, `byobConnectors`, `importJobs`, `tableJobs`, `sandboxJobs`, `signalInsightSummary`, `signalEnabledProjectSummary`, `signalIssues`, `agentIssues`, `automations`, `datasets`, `experiments`, `customMetrics`, `onlineTasks`, `prompts`, `tags`, `evaluators`, `annotationQueues`, `playgroundViews`, `annotationConfigs`, `traceFilters`, `llmIntegrations`, `defaultLlmIntegration`, `defaultAgentRuntime`, `gates`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation RemoveSpaceMember($input: RemoveSpaceMemberMutationInput!) {
  removeSpaceMember(input: $input) {
    space { id name }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "spaceId": "<ID>",
    "userId": "<ID>"
  }
}
```

### createUserApiKey

Create a new user API key

`createUserApiKey(input: CreateUserApiKeyInput!): CreateUserApiKeyPayload`

#### Arguments

**input** `CreateUserApiKeyInput!` *required*

**CreateUserApiKeyInput fields**

**name** `String!` *required*

The name of the API key, required

**description** `String`

The description of the API key

**expiresAt** `DateTime`

The date and time the API key will expire

**type** `ApiKeyType!` *required*

The type of the API key, required One of: `user`, `service`.

**clientMutationId** `String`

#### Returns

**apiKey** `String`

The newly created user API key

**keyInfo** `ApiKey`

The information about the newly created API key

**ApiKey fields**

Scalar fields: `id`, `name`, `description`, `keyType`, `status`, `redactedKey`, `createdAt`, `expiresAt`, `createdByUserId`, `botUserId`, `spaceRole`.

Object fields (select subfields): `customRole`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateUserApiKey($input: CreateUserApiKeyInput!) {
  createUserApiKey(input: $input) {
    apiKey
    keyInfo { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "name": "<string>",
    "type": "user"
  }
}
```

### createServiceApiKey

Create a new service API key and its associated bot user

`createServiceApiKey(input: CreateServiceApiKeyInput!): CreateServiceApiKeyPayload`

#### Arguments

**input** `CreateServiceApiKeyInput!` *required*

**CreateServiceApiKeyInput fields**

**name** `String!` *required*

The name of the bot user and service API key

**spaceId** `String`

The ID of the space where the bot will be created (legacy single-space path). Mutually exclusive with organizations.

**spaceRole** `SpaceMemberRole`

The predefined legacy role of the bot user in the space. Mutually exclusive with spaceRoleId. One of: `admin`, `member`, `readOnly`, `annotator`.

**spaceRoleId** `String`

The ID of the custom or predefined role of the bot user in the space. Mutually exclusive with spaceRole.

**accountOrganizationRole** `AccountOrganizationRoles`

The role of the bot user in the account organization (legacy single-space path). One of: `admin`, `member`, `readOnly`, `annotator`.

**organizations** `[ServiceKeyOrgAssignmentInput!]`

One or more organizations, each with one or more spaces, to grant the service key access to. When provided, use instead of spaceId/spaceRole/spaceRoleId/accountOrganizationRole.

**ServiceKeyOrgAssignmentInput fields**

**orgId** `String!` *required*

The ID of the organization.

**orgRole** `AccountOrganizationRoles!` *required*

The role of the bot user in this organization. One of: `admin`, `member`, `readOnly`, `annotator`.

**spaces** `[ServiceKeySpaceAssignmentInput!]!` *required*

Spaces within this organization to grant the service key access to. Must include at least one.

**ServiceKeySpaceAssignmentInput fields**

**spaceId** `String!` *required*

The ID of the space.

**spaceRole** `SpaceMemberRole`

The predefined legacy role of the bot user in this space. Mutually exclusive with spaceRoleId. One of: `admin`, `member`, `readOnly`, `annotator`.

**spaceRoleId** `String`

The ID of the custom or predefined role of the bot user in this space. Mutually exclusive with spaceRole.

**accountRole** `AccountRole!` *required*

The role of the bot user in the account. One of: `admin`, `member`, `annotator`.

**expiresAt** `DateTime`

The date and time the service API key will expire

**clientMutationId** `String`

#### Returns

**botUserId** `String`

The ID of the newly created bot user

**apiKey** `String`

The newly created service API key

**keyInfo** `ApiKey`

The information about the newly created service API key

**ApiKey fields**

Scalar fields: `id`, `name`, `description`, `keyType`, `status`, `redactedKey`, `createdAt`, `expiresAt`, `createdByUserId`, `botUserId`, `spaceRole`.

Object fields (select subfields): `customRole`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateServiceApiKey($input: CreateServiceApiKeyInput!) {
  createServiceApiKey(input: $input) {
    botUserId
    apiKey
    keyInfo { id name status }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "name": "<string>",
    "accountRole": "admin"
  }
}
```

### revokeApiKey

Revokes an API key

`revokeApiKey(input: RevokeApiKeyInput!): RevokeApiKeyPayload`

#### Arguments

**input** `RevokeApiKeyInput!` *required*

**RevokeApiKeyInput fields**

**apiKeyId** `ID!` *required*

The ID of the API key to revoke

**clientMutationId** `String`

#### Returns

**status** `RevokeApiKeyStatus!`

The status of the API key revocation One of: `ok`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation RevokeApiKey($input: RevokeApiKeyInput!) {
  revokeApiKey(input: $input) {
    status
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "apiKeyId": "<ID>"
  }
}
```

### createSAMLIdP

Create a new SAML Identity Provider configuration

`createSAMLIdP(input: CreateSAMLIdPInput!): CreateSAMLIdPPayload`

#### Arguments

**input** `CreateSAMLIdPInput!` *required*

**CreateSAMLIdPInput fields**

**emailDomainsList** `[EmailDomainInput!]!` *required*

Email domains that this IdP handles

**EmailDomainInput fields**

**id** `ID`

Optional ID for the email domain

**domain** `String!` *required*

The email domain (e.g., example.com)

**validated** `Boolean`

Whether the domain has been validated

**metadataUrl** `String`

URL to fetch SAML metadata from

**metadataXml** `String`

Raw SAML metadata XML

**defaultOrgId** `ID`

Default organization ID for new users

**defaultSpaceId** `ID`

Default space ID for new users

**defaultOrgRoleId** `ID`

Default organization role ID for new users

**defaultSpaceRoleId** `ID`

Default space role ID for new users

**enforceSaml** `Boolean`

Whether to enforce SAML authentication for the account

**syncUserRoles** `Boolean`

Whether to sync user roles from SAML assertions

**signAuthn** `Boolean`

Whether to sign authentication requests

**roleMappings** `RoleMappingsInput`

Input for role mappings configuration

**RoleMappingsInput fields**

**mappingsList** `[RoleMappingInput]`

List of role mappings

**RoleMappingInput fields**

**id** `ID`

Optional ID for the role mapping

**spaceRolesMap** `[[String]]`

Map of space roles as array of \[spaceId, role] tuples matching protobuf format

**spaceRbacRolesMap** `[[String!]!]`

Map of RBAC space roles as array of \[spaceId, rbacRoleRelayGlobalId] tuples. Mutually exclusive with spaceRolesMap per mapping.

**projectRolesMap** `[[String!]!]`

Map of project RBAC roles as array of \[projectId, rbacRoleRelayGlobalId] tuples. Requires org\_role to be set.

**projectRolesManaged** `Boolean`

Whether project role mappings are managed for this role mapping. When false, projectRolesMap is ignored.

**attributesMap** `[[String]]`

Map of attributes as array of \[key, value] tuples matching protobuf format

**isAccountAdmin** `Boolean`

Whether the user is an account admin

**orgRole** `OrgRoleInput`

Organization role with orgId and roleId Nested `OrgRoleInput` (same shape as above).

**developerAccess** `Boolean`

Ignored. Developer access is derived from the assigned Account role. **Deprecated:** Developer access is derived from the assigned Account role.

**allowLoginWithDefaults** `Boolean`

Whether to allow login with default roles

**status** `String`

The status of the IdP (active or deleted)

**clientMutationId** `String`

#### Returns

**idp** `SAMLIdP`

The created SAML IdP configuration

**SAMLIdP fields**

Scalar fields: `id`, `accountId`, `metadataUrl`, `metadataXml`, `defaultOrgId`, `defaultSpaceId`, `defaultOrgRoleId`, `defaultSpaceRoleId`, `enforceSaml`, `syncUserRoles`, `signAuthn`, `allowLoginWithDefaults`, `createdAt`, `createdByUserId`, `updatedAt`, `isManagedByFile`.

Object fields (select subfields): `emailDomainsList`, `roleMappings`.

**error** `String`

Error message if the operation failed

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateSAMLIdP($input: CreateSAMLIdPInput!) {
  createSAMLIdP(input: $input) {
    idp { id }
    error
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "emailDomainsList": [
      {
        "domain": "<string>"
      }
    ]
  }
}
```

### updateSAMLIdP

Update an existing SAML Identity Provider configuration

`updateSAMLIdP(input: UpdateSAMLIdPInput!): UpdateSAMLIdPPayload`

#### Arguments

**input** `UpdateSAMLIdPInput!` *required*

**UpdateSAMLIdPInput fields**

**id** `ID!` *required*

The ID of the SAML IdP to update

**emailDomainsList** `[EmailDomainInput!]`

Email domains that this IdP handles

**EmailDomainInput fields**

**id** `ID`

Optional ID for the email domain

**domain** `String!` *required*

The email domain (e.g., example.com)

**validated** `Boolean`

Whether the domain has been validated

**metadataUrl** `String`

URL to fetch SAML metadata from

**metadataXml** `String`

Raw SAML metadata XML

**defaultOrgId** `ID`

Default organization ID for new users

**defaultSpaceId** `ID`

Default space ID for new users

**defaultOrgRoleId** `ID`

Default organization role ID for new users

**defaultSpaceRoleId** `ID`

Default space role ID for new users

**enforceSaml** `Boolean`

Whether to enforce SAML authentication for the account

**syncUserRoles** `Boolean`

Whether to sync user roles from SAML assertions

**signAuthn** `Boolean`

Whether to sign authentication requests

**roleMappings** `RoleMappingsInput`

Input for role mappings configuration

**RoleMappingsInput fields**

**mappingsList** `[RoleMappingInput]`

List of role mappings

**RoleMappingInput fields**

**id** `ID`

Optional ID for the role mapping

**spaceRolesMap** `[[String]]`

Map of space roles as array of \[spaceId, role] tuples matching protobuf format

**spaceRbacRolesMap** `[[String!]!]`

Map of RBAC space roles as array of \[spaceId, rbacRoleRelayGlobalId] tuples. Mutually exclusive with spaceRolesMap per mapping.

**projectRolesMap** `[[String!]!]`

Map of project RBAC roles as array of \[projectId, rbacRoleRelayGlobalId] tuples. Requires org\_role to be set.

**projectRolesManaged** `Boolean`

Whether project role mappings are managed for this role mapping. When false, projectRolesMap is ignored.

**attributesMap** `[[String]]`

Map of attributes as array of \[key, value] tuples matching protobuf format

**isAccountAdmin** `Boolean`

Whether the user is an account admin

**orgRole** `OrgRoleInput`

Organization role with orgId and roleId Nested `OrgRoleInput` (same shape as above).

**developerAccess** `Boolean`

Ignored. Developer access is derived from the assigned Account role. **Deprecated:** Developer access is derived from the assigned Account role.

**allowLoginWithDefaults** `Boolean`

Whether to allow login with default roles

**clientMutationId** `String`

#### Returns

**idp** `SAMLIdP`

The updated SAML IdP configuration

**SAMLIdP fields**

Scalar fields: `id`, `accountId`, `metadataUrl`, `metadataXml`, `defaultOrgId`, `defaultSpaceId`, `defaultOrgRoleId`, `defaultSpaceRoleId`, `enforceSaml`, `syncUserRoles`, `signAuthn`, `allowLoginWithDefaults`, `createdAt`, `createdByUserId`, `updatedAt`, `isManagedByFile`.

Object fields (select subfields): `emailDomainsList`, `roleMappings`.

**error** `String`

Error message if the operation failed

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation UpdateSAMLIdP($input: UpdateSAMLIdPInput!) {
  updateSAMLIdP(input: $input) {
    idp { id }
    error
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>"
  }
}
```

### addSAMLRoleMapping

Add a single role mapping to a SAML Identity Provider without touching its other role mappings. Rejected if a mapping with identical SAML attributes and organization already exists.

`addSAMLRoleMapping(input: AddSAMLRoleMappingInput!): AddSAMLRoleMappingPayload`

#### Arguments

**input** `AddSAMLRoleMappingInput!` *required*

**AddSAMLRoleMappingInput fields**

**id** `ID!` *required*

The ID of the SAML IdP to update

**mapping** `RoleMappingInput!` *required*

The role mapping to add

**RoleMappingInput fields**

**id** `ID`

Optional ID for the role mapping

**spaceRolesMap** `[[String]]`

Map of space roles as array of \[spaceId, role] tuples matching protobuf format

**spaceRbacRolesMap** `[[String!]!]`

Map of RBAC space roles as array of \[spaceId, rbacRoleRelayGlobalId] tuples. Mutually exclusive with spaceRolesMap per mapping.

**projectRolesMap** `[[String!]!]`

Map of project RBAC roles as array of \[projectId, rbacRoleRelayGlobalId] tuples. Requires org\_role to be set.

**projectRolesManaged** `Boolean`

Whether project role mappings are managed for this role mapping. When false, projectRolesMap is ignored.

**attributesMap** `[[String]]`

Map of attributes as array of \[key, value] tuples matching protobuf format

**isAccountAdmin** `Boolean`

Whether the user is an account admin

**orgRole** `OrgRoleInput`

Organization role with orgId and roleId

**OrgRoleInput fields**

**orgId** `ID`

Organization ID

**roleId** `ID`

Role ID

**developerAccess** `Boolean`

Ignored. Developer access is derived from the assigned Account role. **Deprecated:** Developer access is derived from the assigned Account role.

**clientMutationId** `String`

#### Returns

**idp** `SAMLIdP`

The updated SAML IdP configuration

**SAMLIdP fields**

Scalar fields: `id`, `accountId`, `metadataUrl`, `metadataXml`, `defaultOrgId`, `defaultSpaceId`, `defaultOrgRoleId`, `defaultSpaceRoleId`, `enforceSaml`, `syncUserRoles`, `signAuthn`, `allowLoginWithDefaults`, `createdAt`, `createdByUserId`, `updatedAt`, `isManagedByFile`.

Object fields (select subfields): `emailDomainsList`, `roleMappings`.

**error** `String`

Error message if the operation failed

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation AddSAMLRoleMapping($input: AddSAMLRoleMappingInput!) {
  addSAMLRoleMapping(input: $input) {
    idp { id }
    error
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "id": "<ID>",
    "mapping": {}
  }
}
```

### createExporterAuditLog

Create an exporter audit log

`createExporterAuditLog(input: CreateExporterAuditLogInput!): CreateExporterAuditLogPayload`

#### Arguments

**input** `CreateExporterAuditLogInput!` *required*

**CreateExporterAuditLogInput fields**

**datasetUuid** `ID!` *required*

The uuid of the model to create the audit log for

**clientMutationId** `String`

#### Returns

**logged** `Boolean!`

Whether or not the exporter audit log was successfully logged. False if logging is not enabled for the account.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation CreateExporterAuditLog($input: CreateExporterAuditLogInput!) {
  createExporterAuditLog(input: $input) {
    logged
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "datasetUuid": "<ID>"
  }
}
```

### setSpaceGateLimit

Set a rate limit gate value for a space. A value of 0 blocks all ingestion.

`setSpaceGateLimit(input: SetSpaceGateLimitMutationInput!): SetSpaceGateLimitMutationPayload`

#### Arguments

**input** `SetSpaceGateLimitMutationInput!` *required*

**SetSpaceGateLimitMutationInput fields**

**spaceId** `ID!` *required*

The ID of the space to set the gate limit for

**gateType** `TierGate!` *required*

The gate type to set the limit for One of: `workspaces`, `organizations`, `prodPredictions`, `preProdPredictions`, `activeModels`, `features`, `dataSize`.

**limitValue** `Float!` *required*

The limit value to set. 0 blocks all ingestion; positive values cap usage.

**clientMutationId** `String`

#### Returns

**space** `Space`

**Space fields**

Scalar fields: `id`, `name`, `description`, `uuid`, `createdAt`, `liveEnabled`, `isLLMOnlySpace`, `playgroundTracingModelId`, `evalTracingModelId`, `sandboxTracingModelId`, `mlModelsEnabled`, `private`, `gradientStartColor`, `gradientEndColor`, `hasDashboardsCreated`.

Object fields (select subfields): `organization`, `models`, `monitors`, `dashboards`, `spaceUsers`, `byobConnectors`, `importJobs`, `tableJobs`, `sandboxJobs`, `signalInsightSummary`, `signalEnabledProjectSummary`, `signalIssues`, `agentIssues`, `automations`, `datasets`, `experiments`, `customMetrics`, `onlineTasks`, `prompts`, `tags`, `evaluators`, `annotationQueues`, `playgroundViews`, `annotationConfigs`, `traceFilters`, `llmIntegrations`, `defaultLlmIntegration`, `defaultAgentRuntime`, `gates`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation SetSpaceGateLimit($input: SetSpaceGateLimitMutationInput!) {
  setSpaceGateLimit(input: $input) {
    space { id name }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "spaceId": "<ID>",
    "gateType": "workspaces",
    "limitValue": 1
  }
}
```

### deleteSpaceGateLimit

Remove a rate limit gate from a space, resetting it to no limit.

`deleteSpaceGateLimit(input: DeleteSpaceGateLimitMutationInput!): DeleteSpaceGateLimitMutationPayload`

#### Arguments

**input** `DeleteSpaceGateLimitMutationInput!` *required*

**DeleteSpaceGateLimitMutationInput fields**

**spaceId** `ID!` *required*

The ID of the space to remove the gate limit from

**gateType** `TierGate!` *required*

The gate type to remove One of: `workspaces`, `organizations`, `prodPredictions`, `preProdPredictions`, `activeModels`, `features`, `dataSize`.

**clientMutationId** `String`

#### Returns

**space** `Space`

**Space fields**

Scalar fields: `id`, `name`, `description`, `uuid`, `createdAt`, `liveEnabled`, `isLLMOnlySpace`, `playgroundTracingModelId`, `evalTracingModelId`, `sandboxTracingModelId`, `mlModelsEnabled`, `private`, `gradientStartColor`, `gradientEndColor`, `hasDashboardsCreated`.

Object fields (select subfields): `organization`, `models`, `monitors`, `dashboards`, `spaceUsers`, `byobConnectors`, `importJobs`, `tableJobs`, `sandboxJobs`, `signalInsightSummary`, `signalEnabledProjectSummary`, `signalIssues`, `agentIssues`, `automations`, `datasets`, `experiments`, `customMetrics`, `onlineTasks`, `prompts`, `tags`, `evaluators`, `annotationQueues`, `playgroundViews`, `annotationConfigs`, `traceFilters`, `llmIntegrations`, `defaultLlmIntegration`, `defaultAgentRuntime`, `gates`, `_access`.

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph.md) page shows how to look IDs up.

```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
mutation DeleteSpaceGateLimit($input: DeleteSpaceGateLimitMutationInput!) {
  deleteSpaceGateLimit(input: $input) {
    space { id name }
  }
}
```

```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "input": {
    "spaceId": "<ID>",
    "gateType": "workspaces"
  }
}
```
