Eon

Eon iam API

The iam API from Eon — 8 operation(s) for iam.

Operations 12

GET /v1/permissions List Permissions #
POST /v1/roles Create Role #
POST /v1/roles/list List Roles #
DELETE /v1/roles/{roleId} Delete Role #
GET /v1/roles/{roleId} Get Role #
PUT /v1/roles/{roleId} Update Role #
POST /v1/idps/list List Identity Providers #
POST /v1/idp-groups Create IdP Group Role Assignment #
POST /v1/idp-groups/list List IdP Group Role Assignments #
DELETE /v1/idp-groups/{groupId} Delete IdP Group Role Assignment #
GET /v1/idp-groups/{groupId} Get IdP Group Role Assignment #
PUT /v1/idp-groups/{groupId} Update IdP Group Role Assignment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eon-iam-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eon-iam-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Eon.io REST API
  title: Eon accounts Iam API
  version: 1.0.0
servers:
- url: /
security:
- ApiKeyAuth: []
tags:
- name: iam
paths:
  /v1/permissions:
    get:
      description: 'Description: Retrieves a list of user permissions.'
      operationId: listPermissions
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPermissionsResponse'
          description: Permissions retrieved.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: List Permissions
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions: []
      x-audit-log:
        excluded: true
  /v1/roles:
    post:
      description: 'Description: Creates a custom role.<br/>


        When creating a role, you''ll specify a list of permissions and, optionally, data access conditions.

        Data access conditions let you restrict the resources a permission is granted for.

        For example, for a particular role, you can set data access conditions to allow access only to resources without PII.

        '
      operationId: createRole
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRoleRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateRoleResponse'
          description: Role created.
        '400':
          description: Validation error.
        '409':
          description: A role with the same name already exists.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Create Role
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - create:account_roles
      x-audit-log:
        action: create
        entityRefs:
        - entityType: role
          in: resBody
          key: id
  /v1/roles/list:
    post:
      description: 'Description: Retrieves a list of user roles.'
      operationId: listRoles
      parameters:
      - allowEmptyValue: true
        description: 'Cursor that points to the first record of the next page of results.

          Get this value from the previous response.

          To preserve the results in the same order, use the same sorting and filters in the first request as all subsequent requests.

          '
        example: Yjk3ODZjNjktZTIwZC00NjAxLWE1MzktZjg2NGExM2IxYTZlfDE=
        explode: true
        in: query
        name: pageToken
        required: false
        schema:
          format: tobedefined
          type: string
        style: form
      - description: Maximum number of items to return in the response.
        example: 10
        explode: true
        in: query
        name: pageSize
        required: false
        schema:
          default: 50
          minimum: 1
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRolesResponse'
          description: Roles retrieved.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: List Roles
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions: []
      x-audit-log:
        excluded: true
  /v1/roles/{roleId}:
    delete:
      description: 'Description: Deletes a role.'
      operationId: deleteRole
      parameters:
      - description: Role ID.
        example: ceaf2281-bf04-542d-a801-a6a4865373ad
        explode: false
        in: path
        name: roleId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      responses:
        '204':
          description: Role deleted.
        '404':
          description: Role not found
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Delete Role
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - delete:account_roles
      x-audit-log:
        action: delete
        entityRefs:
        - entityType: role
          in: path
          key: roleId
    get:
      description: 'Description: Retrieves a role.'
      operationId: getRole
      parameters:
      - description: Role ID.
        example: daa42222-6ad2-5d37-bb26-4f2a9cba73da
        explode: false
        in: path
        name: roleId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRoleResponse'
          description: Role retrieved.
        '404':
          description: Role wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Get Role
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions: []
      x-audit-log:
        excluded: true
    put:
      description: 'Description: This API operation updates the details of a role using its unique ID. The request body must contain the updated role details.'
      operationId: updateRole
      parameters:
      - description: ID of the role
        explode: false
        in: path
        name: roleId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRoleRequest'
        description: The request body for updating a user
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateRoleResponse'
          description: Role updated.
        '404':
          description: Role not found
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Update Role
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - update:account_roles
      x-audit-log:
        action: update
        entityRefs:
        - entityType: role
          in: path
          key: roleId
  /v1/idps/list:
    post:
      description: 'Description: Retrieves a list of identity providers for the account.'
      operationId: listIdps
      parameters:
      - allowEmptyValue: true
        description: 'Cursor that points to the first record of the next page of results.

          Get this value from the previous response.

          To preserve the results in the same order, use the same sorting and filters in the first request as all subsequent requests.

          '
        example: Yjk3ODZjNjktZTIwZC00NjAxLWE1MzktZjg2NGExM2IxYTZlfDE=
        explode: true
        in: query
        name: pageToken
        required: false
        schema:
          format: tobedefined
          type: string
        style: form
      - description: Maximum number of items to return in the response.
        example: 10
        explode: true
        in: query
        name: pageSize
        required: false
        schema:
          default: 50
          minimum: 1
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIdpsResponse'
          description: Identity providers retrieved.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: List Identity Providers
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - read:idp_configs
      x-audit-log:
        excluded: true
  /v1/idp-groups:
    post:
      description: 'Description: Maps an identity provider group to one or more Eon roles.<br/>


        When users authenticate via SAML and belong to the specified group, they''re granted the assigned roles.

        '
      operationId: createIdpGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIdpGroupRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIdpGroupResponse'
          description: IdP group role assignment created.
        '400':
          description: Validation error.
        '404':
          description: Identity provider not found.
        '409':
          description: A group with the same provider-assigned group ID already exists for the specified identity provider.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Create IdP Group Role Assignment
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - admin:idp_groups
      x-audit-log:
        action: create
        entityRefs:
        - entityType: idp_group
          in: resBody
          key: group.id
  /v1/idp-groups/list:
    post:
      description: 'Description: Retrieves a list of IdP group role assignments mapped in your Eon account.'
      operationId: listIdpGroups
      parameters:
      - allowEmptyValue: true
        description: 'Cursor that points to the first record of the next page of results.

          Get this value from the previous response.

          To preserve the results in the same order, use the same sorting and filters in the first request as all subsequent requests.

          '
        example: Yjk3ODZjNjktZTIwZC00NjAxLWE1MzktZjg2NGExM2IxYTZlfDE=
        explode: true
        in: query
        name: pageToken
        required: false
        schema:
          format: tobedefined
          type: string
        style: form
      - description: Maximum number of items to return in the response.
        example: 10
        explode: true
        in: query
        name: pageSize
        required: false
        schema:
          default: 50
          minimum: 1
          type: integer
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIdpGroupsResponse'
          description: IdP group role assignments retrieved.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: List IdP Group Role Assignments
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - admin:idp_groups
      x-audit-log:
        excluded: true
  /v1/idp-groups/{groupId}:
    delete:
      description: 'Description: Deletes an IdP group role assignment.<br/>


        After deletion, users are no longer assigned roles from their membership in the specified group.

        '
      operationId: deleteIdpGroup
      parameters:
      - description: Eon-assigned IdP group role assignment ID.
        example: ceaf2281-bf04-542d-a801-a6a4865373ad
        explode: false
        in: path
        name: groupId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      responses:
        '204':
          description: IdP group role assignment deleted.
        '404':
          description: IdP group role assignment wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Delete IdP Group Role Assignment
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - admin:idp_groups
      x-audit-log:
        action: delete
        entityRefs:
        - entityType: idp_group
          in: path
          key: groupId
    get:
      description: 'Description: Retrieves an IdP group role assignment by ID.'
      operationId: getIdpGroup
      parameters:
      - description: Eon-assigned IdP group role assignment ID.
        example: daa42222-6ad2-5d37-bb26-4f2a9cba73da
        explode: false
        in: path
        name: groupId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIdpGroupResponse'
          description: IdP group role assignment retrieved.
        '404':
          description: IdP group role assignment wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Get IdP Group Role Assignment
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - admin:idp_groups
      x-audit-log:
        excluded: true
    put:
      description: 'Description: Updates the roles assigned to an IdP group.<br/>


        This operation replaces all existing role assignments with the provided list.

        To add a role, include all existing roles plus the new one.

        To remove a role, include all roles except the one to remove.

        '
      operationId: updateIdpGroup
      parameters:
      - description: Eon-assigned IdP group role assignment ID.
        explode: false
        in: path
        name: groupId
        required: true
        schema:
          format: uuid
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIdpGroupRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateIdpGroupResponse'
          description: IdP group role assignment updated.
        '404':
          description: IdP group role assignment wasn't found.
        1XX:
          description: Informational
        3XX:
          description: Redirect
        4XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Client Error
        5XX:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal Server Error
      summary: Update IdP Group Role Assignment
      tags:
      - iam
      x-internal: false
      x-data-access:
        excluded: true
      x-permissions:
      - admin:idp_groups
      x-audit-log:
        action: update
        entityRefs:
        - entityType: idp_group
          in: path
          key: groupId
components:
  schemas:
    Idp:
      description: Identity provider.
      example:
        id: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
        providerName: okta-prod
      properties:
        id:
          description: Eon-assigned identity provider ID.
          example: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
          format: uuid
          type: string
        providerName:
          description: Identity provider display name.
          example: okta-prod
          type: string
      required:
      - id
      - providerName
      type: object
    CreateIdpGroupRequest:
      example:
        roleIds:
        - 550e8400-e29b-41d4-a716-446655440000
        - 72bc42a0-e169-533f-b95a-4a434574756b
        providerGroupId: engineering-team
        idpId: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
        displayName: Engineering Team
      properties:
        idpId:
          description: '[ID of the identity provider](./list-idps) the group belongs to.'
          example: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
          format: uuid
          type: string
        providerGroupId:
          description: 'Identity-provider-assigned group ID.

            Must match the exact group ID passed by the identity provider to Eon during SAML sign-on.

            '
          example: engineering-team
          type: string
        roleIds:
          description: List of [role IDs](../roles/list-roles) to assign to the group.
          example:
          - 550e8400-e29b-41d4-a716-446655440000
          - 72bc42a0-e169-533f-b95a-4a434574756b
          items:
            format: uuid
            type: string
          type: array
        displayName:
          description: 'Optional human-readable label for the group mapping. For display and management only;

            it is not used when matching SAML groups during sign-on.

            '
          example: Engineering Team
          type:
          - string
          - 'null'
          x-nullable: true
      required:
      - idpId
      - providerGroupId
      - roleIds
      type: object
    PermissionGrantInput:
      example:
        accessConditionId: Non-PII only.
        permission: inventory.view
      properties:
        permission:
          $ref: '#/components/schemas/PermissionType'
        accessConditionId:
          description: 'If present, the ID of the set of access conditions that restrict the resources the permission is granted for.

            The ID must be present in an entry in `accessConditions`, and the permission itself must support access conditions.

            If omitted, the permission is granted for all resources.

            '
          example: Non-PII only.
          type: string
      required:
      - permission
      type: object
    ListIdpGroupsResponse:
      example:
        nextToken: Y2NiMGYyZmMtYjYyZi00OTc5LTgzNjQtYmQ2YjEyYzdjZTNifDE=
        groups:
        - roleIds:
          - 550e8400-e29b-41d4-a716-446655440000
          - 72bc42a0-e169-533f-b95a-4a434574756b
          providerGroupId: engineering-team
          idpId: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
          displayName: Engineering Team
          id: daa42222-6ad2-5d37-bb26-4f2a9cba73da
        - roleIds:
          - 550e8400-e29b-41d4-a716-446655440000
          - 72bc42a0-e169-533f-b95a-4a434574756b
          providerGroupId: engineering-team
          idpId: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
          displayName: Engineering Team
          id: daa42222-6ad2-5d37-bb26-4f2a9cba73da
        totalCount: 0
      properties:
        groups:
          description: List of IdP group role assignments.
          items:
            $ref: '#/components/schemas/IdpGroup'
          type: array
        totalCount:
          description: Total number of IdP group role assignments.
          type: integer
        nextToken:
          description: 'Cursor that points to the first record of the next page of results.

            Pass this value in the next request.

            '
          example: Y2NiMGYyZmMtYjYyZi00OTc5LTgzNjQtYmQ2YjEyYzdjZTNifDE=
          type: string
      required:
      - groups
      type: object
    ResourceIdCondition:
      example:
        operator: IN
        resourceIds:
        - resourceIds
        - resourceIds
      properties:
        operator:
          $ref: '#/components/schemas/ScalarOperators'
        resourceIds:
          items:
            type: string
          type: array
      required:
      - operator
      - resourceIds
      type:
      - object
      - 'null'
    DataClass:
      description: 'Data classes.


        Allowed values: `FI`, `PHI`, `PII`

        '
      example: PII
      type: string
    ListIdpsResponse:
      example:
        nextToken: Yjk3ODZjNjktZTIwZC00NjAxLWE1MzktZjg2NGExM2IxYTZlfDE=
        totalCount: 5
        idps:
        - id: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
          providerName: okta-prod
        - id: 8f14e45f-ceea-467f-a8dc-e5e47d61e5d7
          providerName: okta-prod
      properties:
        idps:
          description: List of identity providers.
          items:
            $ref: '#/components/schemas/Idp'
          type: array
        totalCount:
          description: Total number of identity providers.
          example: 5
          type: integer
        nextToken:
          description: 'Cursor that points to the first record of the next page of results.

            Pass this value in the next request.

            '
          example: Yjk3ODZjNjktZTIwZC00NjAxLWE1MzktZjg2NGExM2IxYTZlfDE=
          type: string
      required:
      - idps
      - totalCount
      type: object
    AccessConditionalExpression:
      description: 'Conditional expression to evaluate to determine which resources are accessible.


        Only one of the expressions below can be used.

        For multiple conditions using `AND` or `OR` logic, group expressions with `group`.

        You can nest multiple groups to create more complex expressions.

        '
      example:
        resourceId:
          operator: IN
          resourceIds:
          - resourceIds
          - resourceIds
        resourceGroupName:
          resourceGroupNames:
          - resourceGroupNames
          - resourceGroupNames
          operator: IN
        tagKeys:
          tagKeys:
          - tagKeys
          - tagKeys
          operator: CONTAINS_ANY_OF
        vpc:
          vpcs:
          - vpcs
          - vpcs
          operator: IN
        resourceName:
          resourceNames:
          - resourceNames
          - resourceNames
          operator: IN
        dataClasses:
          dataClasses:
          - PII
          - PII
          operator: CONTAINS_ANY_OF
        accountId:
          accountIds:
          - accountIds
          - accountIds
          operator: IN
        environment:
          environments:
          - PROD
          - PROD
          operator: IN
        tagKeyValues:
          tagKeyValues:
          - value: value
            key: key
          - value: value
            key: key
          operator: CONTAINS_ANY_OF
        cloudProvider:
          cloudProviders:
          - AWS
          - AWS
          operator: IN
        sourceRegion:
          regions:
          - regions
          - regions
          operator: IN
        subnets:
          subnets:
          - subnets
          - subnets
          operator: CONTAINS_ANY_OF
        group:
          operands:
          - resourceType:
              operator: IN
              resourceTypes:
              - AWS_EC2
              - AWS_RDS
          - environment:
              operator: IN
              environments:
              - PROD
              - PROD_INTERNAL
          operator: AND
        resourceType:
          resourceTypes:
          - AWS_EC2
          - AWS_EC2
          operator: IN
        apps:
          operator: CONTAINS_ANY_OF
          apps:
          - apps
          - apps
      properties:
        group:
          $ref: '#/components/schemas/RoleAccessGroupCondition'
        resourceType:
          $ref: '#/components/schemas/ResourceTypeCondition'
        dataClasses:
          $ref: '#/components/schemas/DataClassesCondition'
        environment:
          $ref: '#/components/schemas/EnvironmentCondition'
        apps:
          $ref: '#/components/schemas/AppsCondition'
        cloudProvider:
          $ref: '#/components/schemas/CloudProviderCondition'
        accountId:
          $ref: '#/components/schemas/AccountIdCondition'
        sourceRegion:
          $ref: '#/components/schemas/RegionCondition'
        vpc:
          $ref: '#/components/schemas/VpcCondition'
        subnets:
          $ref: '#/components/schemas/SubnetsCondition'
        resourceGroupName:
          $ref: '#/components/schemas/ResourceGroupNameCondition'
        resourceName:
          $ref: '#/components/schemas/ResourceNameCondition'
        resourceId:
          $ref: '#/components/schemas/ResourceIdCondition'
        tagKeys:
          $ref: '#/components/schemas/TagKeysCondition'
        tagKeyValues:
          $ref: '#/components/schemas/TagKeyValuesCondition'
      type:
      - object
      - 'null'
    UpdateRoleResponse:
      example:
        role:
          restoreDestinationLimits:
            effect: INCLUSIVE
            restoreAccountProviderIds:
            - restoreAccountProviderIds
            - restoreAccountProviderIds
          permissionGrants:
          - accessConditionId: Non-PII only.
            permission: inventory.view
          - accessConditionId: Non-PII only.
            permission: inventory.view
          sameSourceAccountRestoreLimits:
            dataAccessRuleId: dataAccessRuleId
            enabled: true
          isBuiltInRole: false
          name: My custom role
          accessConditions:
          - expression:
              resourceId:
                operator: IN
                resourceIds:
                - resourceIds
                - resourceIds
              resourceGroupName:
                resourceGroupNames:
                - resourceGroupNames
                - resourceGroupNames
                operator: IN
              tagKeys:
                tagKeys:
                - tagKeys
                - tagKeys
                operator: CONTAINS_ANY_OF
              vpc:
                vpcs:
                - vpcs
                - vpcs
                operator: IN
              resourceName:
                resourceNames:
                - resourceNames
                - resourceNames
                operator: IN
              dataClasses:
                dataClasses:
                - PII
                - PII
                operator: CONTAINS_ANY_OF
              accountId:
                accountIds:
                - accountIds
                - accountIds
                operator: IN
              environment:
                environments:
                - PROD
                - PROD
                operator: IN
              tagKeyValues:
                tagKeyValues:
                - value: value
                  key: key
                - value: value
                  key: key
                operator: CONTAINS_ANY_OF
              cloudProvider:
                cloudProviders:
                - AWS
                - AWS
                operator: IN
              sourceRegion:
                regions:
                - regions
                - regions
                operator: IN
              subnets:
                subnets:
                - subnets
                - subnets
                operator: CONTAINS_ANY_OF
              group:
                operands:
                - resourceType:
                    operator: IN
                    resourceTypes:
                    - AWS_EC2
                    - AWS_RDS
                - environment:
                    operator: IN
                    environments:
                    - PROD
                    - PROD_INTERNAL
                operator: AND
              resourceType:
                resourceTypes:
                - AWS_EC2
                - AWS_EC2
                operator: IN
              apps:
                operator: CONTAINS_ANY_OF
                apps:
                - apps
                - apps
            effect: INCLUSIVE
            id: Non-PII only
          - expression:
              resourceId:
                operator: IN
                resourceIds:
                - resourceIds
                - resourceIds
              resourceGroupName:
                resourceGroupNames:
                - resourceGroupNames
                - resourceGroupNames
                operator: IN
              tagKeys:
                tagKeys:
                - tagKeys
                - tagKeys
                operator: CONTAINS_ANY_OF
              vpc:
                vpcs:
                - vpcs
                - vpcs
                operator: IN
              resourceName:
                resourceNames:
                - resourceNames
                - resourceNames
                operator: IN
              dataClasses:
                dataClasses:
                - PII
                - PII
                operator: CONTAINS_ANY_OF
              accountId:
                accountIds:
                - accountIds
                - accountIds
                operator: IN
              environment:
                environments:
                - PROD
                - PROD
                operator: IN
              tagKeyValues:
                tagKeyValues:
                - value: value
                  key: key
                - value: value
      

# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eon/refs/heads/main/openapi/eon-iam-api-openapi.yml