# SailPoint OpenRouter Connector Documentation > OpenRouter Connector Documentation # Documentation # Connecting SailPoint and OpenRouter To connect SailPoint to the source, perform the following tasks: ## Adding and Configuring the Source in SailPoint To connect to SailPoint, perform the following steps. Once the connection is made, you can configure it to meet your company's needs. 1. Go to **Admin \> Connections \> Sources**. 2. Select **Create New**. 3. Search for a source type and select **Actions**. 4. In the **Actions** dropdown, select the setup method: - **Express Setup** - Quickly create a read-only connection to your target system by providing minimal configurations and authentication. On completion, aggregation is automatically started. > **Note** > > Express Setup supports Credential Providers. For information on supported credential providers and configuration, refer to [Credential Providers](). For more information, contact your SailPoint Customer Service Manager. - **Standard Setup** - Provide detailed basic configuration to create the source. Once the source is created, continue with source setup. ### Express Setup 1. Review the directions and select **Start Express Setup**. 2. Review the pre-populated source name, source owner, and description. To update, select **Edit**. > **Note** > > Source name must be unique. 3. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider. > **Note** > > To add a Credential Provider in SailPoint, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](). 4. Configure the authentication to allow SailPoint to connect to the source. For more information, refer to the **Connection Settings** page. 5. Select **Finish**. After a successful test connection, the system creates your source and prompts you to run an aggregation. - If you want to aggregate now, select **Aggregate**. - To see the latest account aggregation history, go to **Account Management \> Account Aggregation**. - To see the list of aggregated source accounts, go to **Account Management \> Accounts**. - If you want to aggregate later, select **Exit**. This returns you to the **Sources** page. Your new source is listed, but contains no accounts or aggregation history yet. ### Standard Setup Configure more detailed settings relative to Express Setup. 1. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters. 2. In the **Description** field, provide additional details about the source to help distinguish it from similar sources. This field allows a maximum of 2,000 characters. 3. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two or more letters. For more information, refer to [Assigning a Source Owner](). 4. (Optional) Select a governance group to grant its members [source]() or [role]() sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](). 5. If this source represents a primary system containing your organization's personnel records, select the **Authoritative Source** checkbox. For more information, refer to [Creating Identity Profiles](). 6. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Here, continue to configure your connected source. ## Base Configuration Provide the base configuration parameters. Information you entered in the Create New Source dialog is automatically entered into the fields in the Base Configuration page. You can edit this information if necessary. 1. Enter a descriptive **Source Name** for the connection. 2. Enter the **Source Description** that provides details necessary to distinguish it from similar connection sources. 3. In **Source Owner**, begin typing the name of the source owner. 4. (Optional) Select the appropriate **Governance Group for Source Management** from the dropdown list. For more information about governance groups, refer to [Associating Governance Groups with a Source](). 5. Select **Create Manual Work Items** to enable the source to support additional source management features such as creating accounts and access profile management. > **Important** > > Once you enable this feature, it can't be disabled. For more information on manual work items, refer to [Work Items](). For more information on SailPoint features, refer to [SailPoint Identity Services](). 6. Select **Save**. ## Connection Settings Configure a secured, direct connection to the source. 1. Enter the OpenRouter API base endpoint as **Base URL**. For example, `https://openrouter.ai/api/v1`. 2. Enter the management key copied from OpenRouter as **OpenRouter management key**. 3. Select **Save**. > [!NOTE] > > Provide an OpenRouter management key. Standard inference keys cannot aggregate organization data. ## Review and Test Perform a test to confirm the connection to SailPoint. 1. Go to **Review and Test**. 2. Confirm that the entries in each field are correct. If you note any mistakes, return to the section and make corrections. 3. Select **Test Connection**. ## SailPoint Application Onboarding SailPoint application onboarding enables you to easily onboard new applications and create sources following the successful onboarding of a discovery source. To use this feature, continue to **Discovered Applications** in the SailPoint user interface. For more information, refer to [Application Onboarding]() in the SailPoint SaaS documentation. # Dataset Management Dataset Management lets you review the object types a source collects and control how the source aggregates those objects into SailPoint. Use Dataset Management to view and manage resource attributes, datasets and their resources, enable dataset aggregation schedules, perform manual aggregation, and view aggregation history. > [!NOTE] > > Datasets are also available in SailPoint Agentic Fabric. Contact your Customer Success team and refer to [SailPoint Agentic Fabric]() for more information. For more information, refer to [Managing Datasets and Resources]() for datasets, resources, owner correlation, and aggregation. ## Datasets A *dataset* is a named group of one or more related resources that the source aggregates together. When aggregation runs for a dataset, the source collects all resources in that dataset from the managed system in one aggregation job. Activate or deactivate aggregation at the dataset level, not for individual resources. > [!NOTE] > > Each resource belongs to exactly one dataset for that source. The source defines which resources belong to each dataset. You can enable aggregation and review associated resources, but you cannot create or delete datasets or move resources between them. ### Dataset Aggregation Configure aggregation on the **Dataset Aggregations** tab for each dataset. Configure each dataset separately. During aggregation, your owner correlation rules are automatically applied to link machine identities to their human owners. For more information, refer to [Configuring Dataset Aggregations](). ## Resources A resource defines an object type from the managed system. It specifies the kind of object, the attributes the source collects, and how the source identifies and displays each object. Resources form the building blocks of the data model. In the UI, each resource appears under **Dataset Management** \> **Resources** with its schema. A resource does not run aggregation by itself. The dataset that owns the resource collects it during aggregation. For more information, refer to [Managing Resources](). ### Owner Correlation Configure owner correlation on each resource to link aggregated objects to human owners. If you do not configure owner correlation, or if the mapping produces no match, an owner is not assigned. For more information, refer to [Configuring Owner Correlation](). ## Supported Datasets Go to **Dataset Management \> Datasets** on your OpenRouter source to view the datasets the connector aggregates. Select a dataset to review its associated resources and configure aggregation. > [!NOTE] > > Configure aggregation for each dataset separately. For more information, refer to [Dataset Aggregation](). > [!NOTE] > > These resources do not define owner correlation. Each API key is identified by `hash` and displayed by `name`. Each credential provider is identified by `id` and displayed by `name`. When a name is empty, the masked label is used as the display name. | Dataset name | Associated resources | Dataset ID | Aggregation schedule | | --- | --- | --- | --- | | **API Keys** | API Key | `openrouter:api-key` | Every 12 hours (`0 */12 * * *`) | | **Credential Providers** | Credential Provider | `openrouter:credential-provider` | Every 12 hours (`0 */12 * * *`) | For resource schema attributes, refer to [Supported Resources](<#supported-resources>), [API Key Attributes](<#api-key-attributes>), and [Credential Provider Attributes](<#credential-provider-attributes>). ### Dataset Aggregations Dataset aggregation collects resource objects from the managed system and loads them into SailPoint. Repeat the configuration for each dataset on the source. ### Configuring Dataset Aggregation To configure dataset aggregation for a dataset: 1. Go to **Admin \> Connections \> Sources**, and open your source. 2. Go to **Dataset Management \> Datasets**. 3. Select the dataset you want to configure. 4. Select the **Dataset Aggregations** tab. On the **Dataset Aggregations** tab, configure how resource objects from the selected dataset are aggregated into SailPoint. The tab contains **Scheduled Aggregations**, **Manual Aggregation**, and **Latest Aggregation**. #### Scheduled Aggregations Scheduled aggregations run on a schedule to keep the dataset synchronized with the managed system. 1. On the **Dataset Aggregations** tab, select **Enable Schedule** to turn on scheduled aggregations. When scheduled aggregations are enabled, SailPoint aggregates all resource objects in the dataset on the configured schedule. #### Manual Aggregation Manual aggregation runs once and collects all resource objects in the dataset. 1. On the **Dataset Aggregations** tab, select **Start Aggregation**. SailPoint starts the aggregation immediately. When the run completes, results appear in the **Latest Aggregation** section. #### Viewing Aggregation Results After an aggregation completes, review its status in the **Latest Aggregation** section on the **Dataset Aggregations** tab. The **Latest Aggregation** section shows: - **Start Time** - when the aggregation started - **Resource Objects Scanned** - the number of resource objects the aggregation processed - **Status** - whether the aggregation succeeded or failed Select **Details** to view additional information about the most recent run. To view prior runs, select **Aggregation History**. ## Supported Resources For more information, refer to [Managing Resources](). > [!NOTE] > > When you enable dataset aggregation for a selected dataset, all resources in that dataset are collected at once. Activate or deactivate aggregation at the dataset level, not for individual resources. Under **Dataset Management** \> **Resources**, the OpenRouter source lists each object type that is aggregated. Select a resource to review its schema on the **Schema** tab. | Resource name | Resource type | Resource ID | Identity attribute | Display attribute | | --- | --- | --- | --- | --- | | **API Key** | `std:credential` | `openrouter:api-key` | `hash` | `name` | | **Credential Provider** | `std:credential` | `openrouter:credential-provider` | `id` | `name` | For the complete resource schemas, refer to [API Key Attributes](<#api-key-attributes>) and [Credential Provider Attributes](<#credential-provider-attributes>). ### Owner Correlation These resources do not define owner correlation. For more information, refer to [Owner Correlation](). ## API Key Attributes Use the following schema attributes for the **API Key** resource in the **API Keys** dataset. An OpenRouter API key is a credential that an application uses to call OpenRouter. > [!NOTE] > > The raw API key secret is not available from the list response and is not stored. | Attribute Name | Description | | --- | --- | | hash | Hash of the API key. Resource ID. The raw API key secret is not available from the list response and is not stored. | | name | Name of the API key. Display attribute. When the name is empty, the label is shown instead. | | label | Masked label for the API key. | | creator\_user\_id | User identifier of the member who created the key. | | workspace\_id | Workspace that owns the key. | | disabled | Whether the key is disabled. | | expires\_at | Date and time when the key expires. | | created\_at | Date and time when the key was created. | | updated\_at | Date and time when the key was last updated. | | last\_used\_at | Date and time when the key was last used. | | limit | Spend limit configured on the key. | | limit\_remaining | Remaining spend on the key. | ## Credential Provider Attributes Use the following schema attributes for the **Credential Provider** resource in the **Credential Providers** dataset. A credential provider is a bring-your-own-key (BYOK) credential that OpenRouter uses to call an upstream provider, such as OpenAI or Anthropic. > [!NOTE] > > The raw provider key is write-only. It is not returned by the list response and is not stored. | Attribute Name | Description | | --- | --- | | id | Unique identifier of the credential provider. Resource ID. The raw provider key is write-only. It is not returned by the list response and is not stored. | | name | Name of the credential provider. Display attribute. When the name is empty, the label is shown instead. | | label | Masked label for the provider credential. | | provider | Upstream provider this credential authenticates, such as openai or anthropic. | | workspace\_id | Workspace that owns the credential. | | disabled | Whether the credential is disabled. | | created\_at | Date and time when the credential was created. | | is\_byok\_only | Whether requests for this provider run only on your own keys. | | is\_fallback | Whether OpenRouter uses this credential only after its shared endpoints have been tried. | | is\_required | Whether requests for the models this credential applies to must use this key. | | declared\_region | Data region declared for the upstream provider account. | | declared\_zdr | Whether the upstream provider account is declared to have zero data retention. | | sort\_order | Priority order of the credential among the credentials for that provider. | # Integrating SailPoint with OpenRouter OpenRouter is a platform for calling language models through one API. An OpenRouter organization is the company account where members, workspaces, API keys, and provider credentials are managed. People who belong to that organization are members. Those members are the accounts this connector aggregates. This document covers how to configure a new direct connection between SailPoint and OpenRouter for Quick Compliance. For a reference to the terminology specific to SailPoint products, refer to [Source and Connector Definitions](). > [!NOTE] > > To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes]() page. ## Supported Features The OpenRouter connector supports the following: ### Account Management - Aggregate Users (organization members) ### Entitlement Management - Aggregate Workspaces > [!NOTE] > > The organization role (`org:admin` or `org:member`) is collected on the account. There is no separate role catalog to aggregate. ### Non-Human Identity Discovery - Aggregate API Keys - Aggregate Credential Providers > [!NOTE] > > API keys and credential providers are aggregated as non-human identity resources through Dataset Management. They stay out of user account aggregation. These resources do not define owner correlation. The list responses do not include secret values, and the connector does not store them. > [!NOTE] > > This connector is read-only. It supports test connection, account aggregation, entitlement aggregation, and dataset aggregation for Quick Compliance. Provisioning, de-provisioning, and write operations are not supported. > [!IMPORTANT] > > Quick Compliance connectors have the following manual aggregation limits within a 24-hour period: > > - **Organization Admins**: Limited to 3 manual account or entitlement aggregations per day per source. This limit is cumulative across all admins in the organization. > - **Regular Users**: Limited to 1 manual account or entitlement aggregation per day per source. > > These limits ensure that individual compliance statuses are kept up to date while maintaining continuous compliance monitoring. If you need to run additional aggregations beyond these limits, contact SailPoint Support. ## Prerequisites Before you configure the OpenRouter connector, ensure the following requirements are met: 1. Sign in to [OpenRouter]() as an organization administrator. A management key for an organization can only be created by an organization admin. A personal account that does not belong to an organization cannot be aggregated. 2. Open the **Management API Keys** page. 3. Select **Create New Key**. 4. Enter a name and choose an expiration. The expiration is fixed when the key is created. Set a new key before this one expires. 5. Copy the key when it is shown. OpenRouter does not show it again. 6. Record the following values for connector configuration: - **Base URL** - **OpenRouter management key** For more information, refer to the [OpenRouter Management API Keys]() documentation. > [!NOTE] > > The linked document is not maintained by SailPoint and is subject to change without notice. ## Required Permissions The management key must be allowed to call the organization, workspace, API key, and credential provider list operations. With a valid management key, the connector can: - List organization members, including email, name, and organization role - List workspaces and the members of each workspace - List API keys in each workspace, including disabled and expired keys - List credential providers in each workspace # Schema Reference The application schema is used to configure the objects returned from a connector. > [!NOTE] > > - The **Account Schema** tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as **Entitlement** or **Multi-Valued**. Refer to [Managing Source Account Schemas]() for more information. > - The schema attributes that are not present by [default](<#default-account-schema>) must be defined as strings if not specified. The OpenRouter connector uses the following default correlation and object configurations. ## Default Account Schema Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location. The set of account attributes each source stores and how they're organized is known as the account's *schema*. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to [Managing Source Account Schemas]() for more information. ### Default Account ID SailPoint requires that certain attributes remain in your configuration. These attributes are referred to as *account IDs*. > [!CAUTION] > > Changing the attribute marked as the account ID after aggregating accounts can result in duplicate accounts being created. To avoid this, either reset the accounts on this source before editing the account ID attribute or edit the account ID attribute before aggregating accounts. > > To resolve issues caused by changing account IDs, reconfigure them to their default values. The following table lists the default account IDs for this connector: | Account ID | Schema Object Type | | --- | --- | | id | Account | ### Default Account Attributes The OpenRouter connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified. | Attribute Name | Description | | --- | --- | | id | Unique identifier of the member. | | email | Email address of the member. | | firstName | First name of the member. | | lastName | Last name of the member. | | role | Entitlement. Organization role returned for the member. | | workspace | Workspaces the member can access. A member can have more than one workspace. | ## Default Entitlement Attributes Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to [Managing Entitlements]() for more information. > [!CAUTION] > > Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations. | Attribute Name | Description | | --- | --- | | id | Unique identifier of the workspace. | | name | Name of the workspace. | | slug | URL-friendly identifier of the workspace. | | description | Description of the workspace, when OpenRouter returns one. | | created\_by | User identifier of the person who created the workspace. | | created\_at | Date and time when the workspace was created. |