---
title: Ingest
description: 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 .
component: autonomous-identity
version: 2022.11.12
page_id: autonomous-identity:api-guide:chap-ingest-api
canonical_url: https://docs.pingidentity.com/autonomous-identity/2022.11.12/api-guide/chap-ingest-api.html
section_ids:
  ingest-applications: POST /api/ingest/applications
  ingest-entitlements: POST /api/ingest/entitlements
  ingest-identities: POST /api/ingest/identities
  ingest-assignments: POST /api/ingest/assignments
  ingest-datasources: POST /api/ingest/datasources
  ingest-mappings: POST /api/ingest/mappings
---

# 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 [icon: star, set=fa].

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](chap-obtain-api-key.html).

## 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
        }
      ]
    }
  ]
  ```
