Autonomous Identity 2022.11.8

Ingest

The following endpoints support the ingestion of base entities, such as applications, entitlements, identities, assignments, data sources, and mappings. New APIs introduced in this release are marked with .

To access these endpoints, you need a valid API key in the X-API-KEY header for authorization. To obtain an API key, see Generate an API key.

POST /api/ingest/applications

POST /api/ingest/applications

Create, update, upsert, or delete application entities.

Endpoint

/api/ingest/applications

Authorization

<API Key-value>
Body Parameters
Parameter Type Description

action

string

Action to perform: create, update, upsert, delete (required)

apps

array

Array of application objects (properties below) (required)

Base Application Object Properties:
Parameter Type Description

app_id

string

Application ID (required)

app_name

string

Application Name

app_owner_id

string

Application owner user ID

Example Request

curl -k -X POST \
https://autoid-ui.forgerock.com/api/ingest/applications \
-H 'X-API-KEY: <api key value>' \
-H 'Content-Type: application/json' \
-d '{
  "action": "create",
  "apps": [
    {
      "app_id": "app1",
      "app_name": "Test App",
      "app_owner_id": "bob.rodgers"
    }
  ]
}'

Example Response

{
  "message": "ok"
}

POST /api/ingest/entitlements

POST /api/ingest/entitlements

Create, update, upsert, or delete entitlement entities.

Endpoint

/api/ingest/entitlements

Authorization

<API Key-value>

Body


Body Parameters
Parameter Type Description

action

string

Action to perform: create, update, upsert, delete (required)

entitlements

array

Array of entitlements objects (properties below) (required)

Base Entitlements Object Properties
Parameter Type Description

ent_id

string

Entitlement ID (required)

ent_name

string

Entitlement Name

ent_owner_id

string

Entitlement owner user ID

app_id

string

Application ID

Example Request

curl -k -X POST \
https://autoid-ui.forgerock.com/api/ingest/entitlements \
-H 'X-API-KEY: <api key value>' \
-H 'Content-Type: application/json' \
-d '{
  "action": "upsert",
  "entitlements": [
    {
      "ent_id": "ent1",
      "ent_name": "Test Ent",
      "ent_owner_id": "bob.rodgers",
      "app_id": "app1"
    }
  ]
}'

Example Response

{
  "message": "ok"
}

POST /api/ingest/identities

POST /api/ingest/identities

Create, update, upsert, or delete identity entities.

Endpoint

/api/ingest/identities

Authorization

<API Key-value>
Body Parameters
Parameter Type Description

action

string

Action to perform: create, update, upsert, delete (required)

entitlements

array

Array of identities objects (properties below) (required)

Base Entitlements Object Properties
Parameter Type Description

usr_id

string

User ID (required)

usr_name

string

User name

usr_manager_id

string

User’s manager ID

Example Request

curl -k -X POST \
https://autoid-ui.forgerock.com/api/ingest/identities \
-H 'X-API-KEY: <api key value>' \
-H 'Content-Type: application/json' \
-d '{
  "action": "upsert",
  "identities": [
    {
      "usr_id": "john.doe",
      "usr_name": "John Doe",
      "usr_manager_id": "bob.rodgers"
    },
    {
      "usr_id": "jane.smith",
      "usr_name": "Jane Smith",
      "usr_manager_id": "bob.rodgers"
    }
  ]
}'

Example Response

{
  "message": "ok"
}

POST /api/ingest/assignments

POST /api/ingest/assignments

Create, update, upsert, or delete assignment entities.

Endpoint

/api/ingest/assignments

Authorization

<API Key-value>
Body Parameters
Parameter Type Description

action

string

Action to perform: create, update, upsert, delete (required)

entitlements

array

Array of assignment objects (properties below) (required)

Base Entitlements Object Properties
Parameter Type Description

ent_id

string

Entitlementd ID (required)

usr_id

string

User ID (required)

Example Request

curl -k -X POST \
https://autoid-ui.forgerock.com/api/ingest/assignments \
-H 'X-API-KEY: <api key value>' \
-H 'Content-Type: application/json' \
-d '{
  "action": "upsert",
  "assignments": [
    {
      "usr_id": "john.doe",
      "ent_id": "ent1"
    },
    {
      "usr_id": "jane.smith",
      "ent_id": "ent1"
    }
  ]
}'

Example Response

{
  "message": "ok"
}

POST /api/ingest/datasources

POST /api/ingest/datasources

Get data sources. Optional filtering can be applied as a JSON request body outlined below:

Endpoint

/api/ingest/datasources

Authorization

<API Key-value>
Body Parameters
Parameter Type Description

datasourceId

string

Data source ID

name

string

Data source name

isActive

boolean

Data source activated

connectionTypes

string array

List of connection types to filter: jdbc, csv, generic

entityTypes

string array

List of entity types

Example Request

curl -k -X GET \
https://autoid-ui.forgerock.com/api/ingest/datasources \
-H 'X-API-KEY: <api key value>' \
-H 'Content-Type: application/json' \
-d '{
  "connectionTypes": ["csv"],
  "isActive": true
}'

Example Response

[
  {
    "datasource_id": "fdbfb998-7b3e-4ddc-9e4a-a4c46cace49e",
    "name": "Test data",
    "sync_type": "full",
    "icon": "apps",
    "isActive": true,
    "entityTypes": {
      "/autoid/system/datasources/fdbfb998-7b3e-4ddc-9e4a-a4c46cace49e/applications": {
        "uri": {
          "file": "file:/data/input/applications.csv"
        }
      },
      "/autoid/system/datasources/fdbfb998-7b3e-4ddc-9e4a-a4c46cace49e/assignments": {
        "uri": {
          "file": "file:/data/input/assignments.csv"
        }
      },
      "/autoid/system/datasources/fdbfb998-7b3e-4ddc-9e4a-a4c46cace49e/entitlements": {
        "uri": {
          "file": "file:/data/input/entitlements.csv"
        }
      },
      "/autoid/system/datasources/fdbfb998-7b3e-4ddc-9e4a-a4c46cace49e/identities": {
        "uri": {
          "file": "file:/data/input/identities.csv"
        }
      }
    },
    "connectionSettings": {
      "csv": {}
    }
  }
]

POST /api/ingest/mappings

POST /api/ingest/mappings

Get mappings. Optional filtering can be applied as a JSON request body outlined below:

Endpoint

/api/ingest/mappings

Authorization

<API Key-value>
Body Parameters
Parameter Type Description

mappingId

string

Mapping ID

sourceEntity

string

Mapping source entity

targetEntity

string

Mapping target entity

sourceProperties

string array

List of source properties to filter on

targetProperties

string array

List of target properties to filter on

Example Request

curl -k -X GET \
https://autoid-ui.forgerock.com/api/ingest/mappings \
-H 'X-API-KEY: <api key value>' \
-H 'Content-Type: application/json' \
-d '{
  "targetProperties": ["app_id", "app_name"]
}'

Example Response

[
  {
    "mapping_id": "fb6896e5-8d0a-4bd7-b10d-5608c9a953a1",
    "source_entity": "/autoid/system/datasources/0474f92c-d530-43cc-a012-29fb6c8b3b8b/applications",
    "target_entity": "/autoid/base/applications",
    "properties": [
      {
        "source": "APP_ID",
        "target": "app_id",
        "apply": true
      },
      {
        "source": "APP_NAME",
        "target": "app_name",
        "apply": true
      },
      {
        "source": "APP_OWNER_ID",
        "target": "app_owner_id",
        "apply": true
      }
    ]
  }
]