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

# blackboard-users

> Blackboard Users - user management, roles, sessions, OAuth, and data sources

**Server path:** `/blackboard-users` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                                                                                    | Description                   |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [`blackboard_users_delete_learn_api_public_datasources_by_datasourceid`](#blackboard_users_delete_learn_api_public_datasources_by_datasourceid)                         | Delete Data Source            |
| [`blackboard_users_delete_learn_api_public_users_by_userid`](#blackboard_users_delete_learn_api_public_users_by_userid)                                                 | Delete User                   |
| [`blackboard_users_delete_learn_api_public_users_by_userid_observers_by_observerid`](#blackboard_users_delete_learn_api_public_users_by_userid_observers_by_observerid) | Delete Observer               |
| [`blackboard_users_get_learn_api_public_courseroles`](#blackboard_users_get_learn_api_public_courseroles)                                                               | Get Course Roles              |
| [`blackboard_users_get_learn_api_public_courseroles_by_roleid`](#blackboard_users_get_learn_api_public_courseroles_by_roleid)                                           | Get Course Role               |
| [`blackboard_users_get_learn_api_public_datasources`](#blackboard_users_get_learn_api_public_datasources)                                                               | Get Data Sources              |
| [`blackboard_users_get_learn_api_public_datasources_by_datasourceid`](#blackboard_users_get_learn_api_public_datasources_by_datasourceid)                               | Get Data Source               |
| [`blackboard_users_get_learn_api_public_institutionroles`](#blackboard_users_get_learn_api_public_institutionroles)                                                     | Get Institution Roles         |
| [`blackboard_users_get_learn_api_public_institutionroles_by_roleid`](#blackboard_users_get_learn_api_public_institutionroles_by_roleid)                                 | Get Institution Role          |
| [`blackboard_users_get_learn_api_public_oauth2_authorizationcode`](#blackboard_users_get_learn_api_public_oauth2_authorizationcode)                                     | Authorization Code            |
| [`blackboard_users_get_learn_api_public_oauth2_tokeninfo`](#blackboard_users_get_learn_api_public_oauth2_tokeninfo)                                                     | Get Token Info                |
| [`blackboard_users_get_learn_api_public_sessions`](#blackboard_users_get_learn_api_public_sessions)                                                                     | Get Active Sessions           |
| [`blackboard_users_get_learn_api_public_systemroles`](#blackboard_users_get_learn_api_public_systemroles)                                                               | Get System Roles              |
| [`blackboard_users_get_learn_api_public_systemroles_by_roleid`](#blackboard_users_get_learn_api_public_systemroles_by_roleid)                                           | Get System Role               |
| [`blackboard_users_get_learn_api_public_users`](#blackboard_users_get_learn_api_public_users)                                                                           | Get Users                     |
| [`blackboard_users_get_learn_api_public_users_by_userid`](#blackboard_users_get_learn_api_public_users_by_userid)                                                       | Get User                      |
| [`blackboard_users_get_learn_api_public_users_by_userid_avatar`](#blackboard_users_get_learn_api_public_users_by_userid_avatar)                                         | Get User Avatar               |
| [`blackboard_users_get_learn_api_public_users_by_userid_observees`](#blackboard_users_get_learn_api_public_users_by_userid_observees)                                   | Get Observees                 |
| [`blackboard_users_get_learn_api_public_users_by_userid_observers`](#blackboard_users_get_learn_api_public_users_by_userid_observers)                                   | Get Observers                 |
| [`blackboard_users_get_learn_api_public_users_by_userid_sessions`](#blackboard_users_get_learn_api_public_users_by_userid_sessions)                                     | Get Current Active User By Id |
| [`blackboard_users_patch_learn_api_public_datasources_by_datasourceid`](#blackboard_users_patch_learn_api_public_datasources_by_datasourceid)                           | Update Data Source            |
| [`blackboard_users_patch_learn_api_public_users_by_userid`](#blackboard_users_patch_learn_api_public_users_by_userid)                                                   | Update User                   |
| [`blackboard_users_post_learn_api_public_datasources`](#blackboard_users_post_learn_api_public_datasources)                                                             | Create Data Source            |
| [`blackboard_users_post_learn_api_public_oauth2_token`](#blackboard_users_post_learn_api_public_oauth2_token)                                                           | Request Token                 |
| [`blackboard_users_post_learn_api_public_users`](#blackboard_users_post_learn_api_public_users)                                                                         | Create User                   |
| [`blackboard_users_put_learn_api_public_users_by_userid_observers_by_observerid`](#blackboard_users_put_learn_api_public_users_by_userid_observers_by_observerid)       | Create Observer               |

***

## blackboard\_users\_delete\_learn\_api\_public\_datasources\_by\_datasourceid

Delete Data Source

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                                                                                                                                                                                                         |
| -------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dataSourceId` | string | Yes      | —       | The data source ID.  This may be the primary ID, or the secondary ID prefixed with the ID type.    \| ID type    \| Example            \|  \|------------\|--------------------\|  \| primary    \| \_123\_1             \|  \| externalId \| externalId:math101 \| |
| `fields`       | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataSourceId": {
        "type": "string",
        "description": "The data source ID.  This may be the primary ID, or the secondary ID prefixed with the ID type.    | ID type    | Example            |  |------------|--------------------|  | primary    | _123_1             |  | externalId | externalId:math101 |"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "dataSourceId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_delete\_learn\_api\_public\_users\_by\_userid

Delete User

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \| |
| `fields`  | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_delete\_learn\_api\_public\_users\_by\_userid\_observers\_by\_observerid

Delete Observer

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------ | ------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`     | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \|                        |
| `observerId` | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \|    **Since**: 3500.5.0 |
| `fields`     | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                                                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "observerId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |    **Since**: 3500.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId",
      "observerId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_courseroles

Get Course Roles

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                                                                      |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                         |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                     |
| `sort`    | string  | No       | —       | Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name.family(desc),created"  **Since**: 3100.0.0 |
| `custom`  | boolean | No       | —       | Search course roles by whether they are a custom or system generated course role.  **Since**: 3300.5.0                                                                                                           |
| `roleId`  | string  | No       | —       | Search course roles using their roleId's.  Any course role with a roleId that contains the given string will be returned.  The search is case insensitive.  **Since**: 3300.5.0                                  |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "sort": {
        "type": "string",
        "description": "Properties to sort by. This is a comma-delimited list of JSON properties, with an optional \"(desc)\" suffix to request a descending sort for that property. e.g. \"name.family(desc),created\"  **Since**: 3100.0.0"
      },
      "custom": {
        "type": "boolean",
        "description": "Search course roles by whether they are a custom or system generated course role.  **Since**: 3300.5.0"
      },
      "roleId": {
        "type": "string",
        "description": "Search course roles using their roleId's.  Any course role with a roleId that contains the given string will be returned.  The search is case insensitive.  **Since**: 3300.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_courseroles\_by\_roleid

Get Course Role

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `roleId`  | string | Yes      | —       | The course role ID.  This may be the primary ID, or the roleId. The suffix ":custom" will be appended to the roleId of a custom course role if that roleId conflicts with the roleId of a system generated course role.  For example, if a custom role roleId is specified as "Student" then the roleId will actually be "Student:custom" since there is already a system generated course role with the roleId of "Student".     \| ID type    \| Examples                                                   \|  \|------------\|------------------------------------------------------------\|  \| primary    \| \_123\_1                                                     \|  \| roleId     \| roleId:Student, roleId:MyCustomRole, roleId:Student:custom \|    **Since**: 3300.5.0 |
| `fields`  | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "roleId": {
        "type": "string",
        "description": "The course role ID.  This may be the primary ID, or the roleId. The suffix \":custom\" will be appended to the roleId of a custom course role if that roleId conflicts with the roleId of a system generated course role.  For example, if a custom role roleId is specified as \"Student\" then the roleId will actually be \"Student:custom\" since there is already a system generated course role with the roleId of \"Student\".     | ID type    | Examples                                                   |  |------------|------------------------------------------------------------|  | primary    | _123_1                                                     |  | roleId     | roleId:Student, roleId:MyCustomRole, roleId:Student:custom |    **Since**: 3300.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "roleId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_datasources

Get Data Sources

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                                                                              |
| ------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `offset`     | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter. |
| `limit`      | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.             |
| `externalId` | string  | No       | —       | The 'batchUid' value to use as search criteria.  Currently only supports 'contains' searches.                            |
| `fields`     | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "externalId": {
        "type": "string",
        "description": "The 'batchUid' value to use as search criteria.  Currently only supports 'contains' searches."
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_datasources\_by\_datasourceid

Get Data Source

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                                                                                                                                                                                                         |
| -------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dataSourceId` | string | Yes      | —       | The data source ID.  This may be the primary ID, or the secondary ID prefixed with the ID type.    \| ID type    \| Example            \|  \|------------\|--------------------\|  \| primary    \| \_123\_1             \|  \| externalId \| externalId:math101 \| |
| `fields`       | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataSourceId": {
        "type": "string",
        "description": "The data source ID.  This may be the primary ID, or the secondary ID prefixed with the ID type.    | ID type    | Example            |  |------------|--------------------|  | primary    | _123_1             |  | externalId | externalId:math101 |"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "dataSourceId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_institutionroles

Get Institution Roles

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                            |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                                                                                                                               |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                                                                                                                           |
| `sort`    | string  | No       | —       | Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "roleId(desc)" Supported fields are:  - roleId - custom  **Since**: 3300.4.0                                                                           |
| `roleId`  | string  | No       | —       | Search for institution roles with roleId properties that contain this value.  **Since**: 3300.4.0                                                                                                                                                                                                                      |
| `custom`  | boolean | No       | —       | Search for institution roles by custom flag.  A value of 'true' indicates that search results should be limited to only custom roles.  A value of 'false' indicates results should be limited to built-in roles.  Not setting this field indicates that all institution roles should be returned.  **Since**: 3300.4.0 |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "sort": {
        "type": "string",
        "description": "Properties to sort by. This is a comma-delimited list of JSON properties, with an optional \"(desc)\" suffix to request a descending sort for that property. e.g. \"roleId(desc)\" Supported fields are:  - roleId - custom  **Since**: 3300.4.0"
      },
      "roleId": {
        "type": "string",
        "description": "Search for institution roles with roleId properties that contain this value.  **Since**: 3300.4.0"
      },
      "custom": {
        "type": "boolean",
        "description": "Search for institution roles by custom flag.  A value of 'true' indicates that search results should be limited to only custom roles.  A value of 'false' indicates results should be limited to built-in roles.  Not setting this field indicates that all institution roles should be returned.  **Since**: 3300.4.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_institutionroles\_by\_roleid

Get Institution Role

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                         |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `roleId`  | string | Yes      | —       | The institution role ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| roleId     \| roleId:STUDENT                        \|    **Since**: 3300.5.0 |
| `fields`  | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "roleId": {
        "type": "string",
        "description": "The institution role ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | roleId     | roleId:STUDENT                        |    **Since**: 3300.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "roleId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_oauth2\_authorizationcode

Authorization Code

**Parameters:**

| Parameter                | Type   | Required | Default | Description                                                                                                                                                                      |
| ------------------------ | ------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `redirect_uri`           | string | No       | —       | the redirectUri to send the end user to once an authorization code response is made in Oauth2 Authorization Code Workflow                                                        |
| `response_type`          | string | No       | —       | Required. The response\_type expected which must to be set to "code"                                                                                                             |
| `client_id`              | string | No       | —       | Required. The client identifier for the registered application.                                                                                                                  |
| `scope`                  | string | No       | —       | the space delimited scope(s) being requested for this authorization. Example value: "read write offline"                                                                         |
| `state`                  | string | No       | —       | Opaque value used by client to maintain state between request and callback. Used to prevent cross-site request forgery.                                                          |
| `code_challenge`         | string | No       | —       | A code challenge to verify credentials along with the granted authorization code. It is used with the PKCE standard.  **Since**: 3700.4.0                                        |
| `code_challenge_method`  | string | No       | —       | This is the method used to verify the code challenge using the PKCE standard. Blackboard only supports s256 as the code challenge method.  **Since**: 3700.4.0                   |
| `one_time_session_token` | string | No       | —       | Token used to retrieve the session that generated this Oauth2 Code request. Used when session cookies are not sent due to privacy settings of the browser.  **Since**: 3900.13.0 |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "redirect_uri": {
        "type": "string",
        "description": "the redirectUri to send the end user to once an authorization code response is made in Oauth2 Authorization Code Workflow"
      },
      "response_type": {
        "type": "string",
        "description": "Required. The response_type expected which must to be set to \"code\""
      },
      "client_id": {
        "type": "string",
        "description": "Required. The client identifier for the registered application."
      },
      "scope": {
        "type": "string",
        "description": "the space delimited scope(s) being requested for this authorization. Example value: \"read write offline\""
      },
      "state": {
        "type": "string",
        "description": "Opaque value used by client to maintain state between request and callback. Used to prevent cross-site request forgery."
      },
      "code_challenge": {
        "type": "string",
        "description": "A code challenge to verify credentials along with the granted authorization code. It is used with the PKCE standard.  **Since**: 3700.4.0"
      },
      "code_challenge_method": {
        "type": "string",
        "description": "This is the method used to verify the code challenge using the PKCE standard. Blackboard only supports s256 as the code challenge method.  **Since**: 3700.4.0"
      },
      "one_time_session_token": {
        "type": "string",
        "description": "Token used to retrieve the session that generated this Oauth2 Code request. Used when session cookies are not sent due to privacy settings of the browser.  **Since**: 3900.13.0"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_oauth2\_tokeninfo

Get Token Info

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                  |
| -------------- | ------ | -------- | ------- | ---------------------------------------------------------------------------- |
| `access_token` | string | Yes      | —       | The application key and secret, encoded using RFC 2617 Basic authentication. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "access_token": {
        "type": "string",
        "description": "The application key and secret, encoded using RFC 2617 Basic authentication."
      }
    },
    "required": [
      "PCID",
      "access_token"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_sessions

Get Active Sessions

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                              |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                 |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                             |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                              |
| `expand`  | string  | No       | —       | A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:\<br>\<ul>\<li>user\</li>\</ul> |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      },
      "expand": {
        "type": "string",
        "description": "A comma-delimited list of fields to expand as part of the response. Expanded fields may cause additional load time. Supported fields are:<br><ul><li>user</li></ul>"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_systemroles

Get System Roles

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                  |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                                                                                                                     |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                                                                                                                 |
| `roleId`  | string  | No       | —       | Search for system roles with roleId  **Since**: 3300.5.0                                                                                                                                                                                                                                                     |
| `custom`  | boolean | No       | —       | Search for system roles by custom flag.  A value of 'true' indicates that search results should be limited to only custom roles.  A value of 'false' indicates results should be limited to built-in roles.  Not setting this field indicates that all system roles should be returned.  **Since**: 3300.5.0 |
| `sort`    | string  | No       | —       | Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "roleId(desc)"  Supported fields are:  \<ul - roleId - custom  **Since**: 3300.5.0                                                           |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "roleId": {
        "type": "string",
        "description": "Search for system roles with roleId  **Since**: 3300.5.0"
      },
      "custom": {
        "type": "boolean",
        "description": "Search for system roles by custom flag.  A value of 'true' indicates that search results should be limited to only custom roles.  A value of 'false' indicates results should be limited to built-in roles.  Not setting this field indicates that all system roles should be returned.  **Since**: 3300.5.0"
      },
      "sort": {
        "type": "string",
        "description": "Properties to sort by. This is a comma-delimited list of JSON properties, with an optional \"(desc)\" suffix to request a descending sort for that property. e.g. \"roleId(desc)\"  Supported fields are:  <ul - roleId - custom  **Since**: 3300.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_systemroles\_by\_roleid

Get System Role

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `roleId`  | string | Yes      | —       | The System Role ID.  This may be the primary ID, or the secondary roleId type. The suffix ":custom" will be appended to the roleId of a custom system role if that roleId conflicts with the roleId of a system generated role.  For example, if a custom role roleId is specified as "Guest" then the roleId will actually be "Guest:custom" since there is already a system generated role with the roleId of "Guest".    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| roleId     \| roleId:column1                        \|    **Since**: 3300.5.0 |
| `fields`  | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "roleId": {
        "type": "string",
        "description": "The System Role ID.  This may be the primary ID, or the secondary roleId type. The suffix \":custom\" will be appended to the roleId of a custom system role if that roleId conflicts with the roleId of a system generated role.  For example, if a custom role roleId is specified as \"Guest\" then the roleId will actually be \"Guest:custom\" since there is already a system generated role with the roleId of \"Guest\".    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | roleId     | roleId:column1                        |    **Since**: 3300.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "roleId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_users

Get Users

**Parameters:**

| Parameter                | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------ | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `offset`                 | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                                                                                                                                                                               |
| `limit`                  | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                                                                                                                                                                           |
| `userName`               | string  | No       | —       | Search for users with userName properties that contain this value.  **Since**: 3000.11.0                                                                                                                                                                                                                                                                               |
| `externalId`             | string  | No       | —       | Search for users with externalId properties that contain this value.  **Since**: 3000.11.0                                                                                                                                                                                                                                                                             |
| `created`                | string  | No       | —       | Search for users with a created date relative to this value.  'createdCompare' may also be sent to control search behavior.  **Since**: 3000.11.0                                                                                                                                                                                                                      |
| `modified`               | string  | No       | —       | Search for users with a modified date relative to this value.  'modifiedCompare' may also be sent to control search behavior.  **Since**: 3700.1.0                                                                                                                                                                                                                     |
| `lastLogin`              | string  | No       | —       | Search for users with a last login date relative to this value.  'lastLoginCompare' may also be sent to control search behavior. A user who has never logged in would have a null last login date.  This is not considered to be greater than, less than, or equal to a valid date. Such users will be filtered out any time this filter is used.  **Since**: 3900.9.0 |
| `createdCompare`         | string  | No       | —       | Used alongside the 'created' search parameter.  Supported values:  - lessThan - greaterOrEqual  Defaults to greaterOrEqual if not specified.  **Since**: 3000.11.0   \| Type      \| Description  \| --------- \| --------- \| \| lessThan \|  \| \| greaterOrEqual \|  \|                                                                                             |
| `modifiedCompare`        | string  | No       | —       | Used alongside the 'modifiedDate' search parameter.  Supported values:  - lessThan - greaterOrEqual Defaults to greaterOrEqual if not specified.   \| Type      \| Description  \| --------- \| --------- \| \| lessThan \|  \| \| greaterOrEqual \|  \|                                                                                                               |
| `lastLoginCompare`       | string  | No       | —       | Used alongside the 'lastLoginDate' search parameter.  Supported values:  - lessThan - greaterOrEqual Defaults to greaterOrEqual if not specified.  **Since**: 3900.9.0   \| Type      \| Description  \| --------- \| --------- \| \| lessThan \|  \| \| greaterOrEqual \|  \|                                                                                         |
| `dataSourceId`           | string  | No       | —       | Search for users with this dataSourceId.  This may optionally be the data source's externalId using the syntax "externalId:math101".  **Since**: 3000.11.0                                                                                                                                                                                                             |
| `name.family`            | string  | No       | —       | Search for users with name.family properties that contain this value.  **Since**: 3000.11.0                                                                                                                                                                                                                                                                            |
| `availability.available` | string  | No       | —       | Search for users with availability.available properties that contain this value.  **Since**: 3100.0.0   \| Type      \| Description  \| --------- \| --------- \| \| Yes \|  \| \| No \|  \| \| Disabled \|   **Since**: 3100.0.0 \|                                                                                                                                   |
| `sort`                   | string  | No       | —       | Properties to sort by. This is a comma-delimited list of JSON properties, with an optional "(desc)" suffix to request a descending sort for that property. e.g. "name.family(desc),created" Supported fields are:  - userName - name.family - externalId - dataSourceId - created  **Since**: 3100.0.0                                                                 |
| `fields`                 | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "userName": {
        "type": "string",
        "description": "Search for users with userName properties that contain this value.  **Since**: 3000.11.0"
      },
      "externalId": {
        "type": "string",
        "description": "Search for users with externalId properties that contain this value.  **Since**: 3000.11.0"
      },
      "created": {
        "type": "string",
        "description": "Search for users with a created date relative to this value.  'createdCompare' may also be sent to control search behavior.  **Since**: 3000.11.0"
      },
      "modified": {
        "type": "string",
        "description": "Search for users with a modified date relative to this value.  'modifiedCompare' may also be sent to control search behavior.  **Since**: 3700.1.0"
      },
      "lastLogin": {
        "type": "string",
        "description": "Search for users with a last login date relative to this value.  'lastLoginCompare' may also be sent to control search behavior. A user who has never logged in would have a null last login date.  This is not considered to be greater than, less than, or equal to a valid date. Such users will be filtered out any time this filter is used.  **Since**: 3900.9.0"
      },
      "createdCompare": {
        "type": "string",
        "description": "Used alongside the 'created' search parameter.  Supported values:  - lessThan - greaterOrEqual  Defaults to greaterOrEqual if not specified.  **Since**: 3000.11.0   | Type      | Description  | --------- | --------- | | lessThan |  | | greaterOrEqual |  |",
        "enum": [
          "lessThan",
          "greaterOrEqual"
        ]
      },
      "modifiedCompare": {
        "type": "string",
        "description": "Used alongside the 'modifiedDate' search parameter.  Supported values:  - lessThan - greaterOrEqual Defaults to greaterOrEqual if not specified.   | Type      | Description  | --------- | --------- | | lessThan |  | | greaterOrEqual |  |",
        "enum": [
          "lessThan",
          "greaterOrEqual"
        ]
      },
      "lastLoginCompare": {
        "type": "string",
        "description": "Used alongside the 'lastLoginDate' search parameter.  Supported values:  - lessThan - greaterOrEqual Defaults to greaterOrEqual if not specified.  **Since**: 3900.9.0   | Type      | Description  | --------- | --------- | | lessThan |  | | greaterOrEqual |  |",
        "enum": [
          "lessThan",
          "greaterOrEqual"
        ]
      },
      "dataSourceId": {
        "type": "string",
        "description": "Search for users with this dataSourceId.  This may optionally be the data source's externalId using the syntax \"externalId:math101\".  **Since**: 3000.11.0"
      },
      "name.family": {
        "type": "string",
        "description": "Search for users with name.family properties that contain this value.  **Since**: 3000.11.0"
      },
      "availability.available": {
        "type": "string",
        "description": "Search for users with availability.available properties that contain this value.  **Since**: 3100.0.0   | Type      | Description  | --------- | --------- | | Yes |  | | No |  | | Disabled |   **Since**: 3100.0.0 |",
        "enum": [
          "Yes",
          "No",
          "Disabled"
        ]
      },
      "sort": {
        "type": "string",
        "description": "Properties to sort by. This is a comma-delimited list of JSON properties, with an optional \"(desc)\" suffix to request a descending sort for that property. e.g. \"name.family(desc),created\" Supported fields are:  - userName - name.family - externalId - dataSourceId - created  **Since**: 3100.0.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_users\_by\_userid

Get User

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \| |
| `fields`  | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_users\_by\_userid\_avatar

Get User Avatar

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \| |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_users\_by\_userid\_observees

Get Observees

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string  | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \| |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                                                                                                                                                                                                                                                                               |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                                                                                                                                                                                                                                                                           |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_users\_by\_userid\_observers

Get Observers

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string  | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \| |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                                                                                                                                                                                                                                                                               |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                                                                                                                                                                                                                                                                           |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_get\_learn\_api\_public\_users\_by\_userid\_sessions

Get Current Active User By Id

**Parameters:**

| Parameter | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string  | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \| |
| `offset`  | integer | No       | —       | The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter.                                                                                                                                                                                                                                                                                                                                               |
| `limit`   | integer | No       | —       | The maximum number of results to be returned. There may be less if the query returned less than the maximum.                                                                                                                                                                                                                                                                                                                                                           |
| `fields`  | string  | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "offset": {
        "type": "integer",
        "description": "The number of rows to skip before beginning to return rows. An offset of 0 is the same as omitting the offset parameter."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of results to be returned. There may be less if the query returned less than the maximum."
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_patch\_learn\_api\_public\_datasources\_by\_datasourceid

Update Data Source

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                                                                                                                                                                                                                                         |
| -------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dataSourceId` | string | Yes      | —       | The data source ID.  This may be the primary ID, or the secondary ID prefixed with the ID type.    \| ID type    \| Example            \|  \|------------\|--------------------\|  \| primary    \| \_123\_1             \|  \| externalId \| externalId:math101 \| |
| `fields`       | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                         |
| `description`  | string | No       | —       | The description of the data source.                                                                                                                                                                                                                                 |
| `externalId`   | string | No       | —       | An externally-defined unique ID for the data source.  Formerly known as 'batchUid'.                                                                                                                                                                                 |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "dataSourceId": {
        "type": "string",
        "description": "The data source ID.  This may be the primary ID, or the secondary ID prefixed with the ID type.    | ID type    | Example            |  |------------|--------------------|  | primary    | _123_1             |  | externalId | externalId:math101 |"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      },
      "description": {
        "type": "string",
        "description": "The description of the data source."
      },
      "externalId": {
        "type": "string",
        "description": "An externally-defined unique ID for the data source.  Formerly known as 'batchUid'."
      }
    },
    "required": [
      "PCID",
      "dataSourceId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_patch\_learn\_api\_public\_users\_by\_userid

Update User

**Parameters:**

| Parameter            | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -------------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`             | string    | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \|                                                                                          |
| `fields`             | string    | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `address`            | object    | No       | —       | The user's mailing address.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `availability`       | object    | No       | —       | Settings controlling availability of the user account.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `avatar`             | object    | No       | —       | The user's avatar metadata  **Since**: 3800.13.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `birthDate`          | string    | No       | —       | The birth date of this user. Only the date portion of this value has significance, since a person's birthdate represents a full day and not a moment in time. Take care to ignore the zeroed time portion when deserializing this value to ensure it's not converted to the previous calendar day if your local time zone has a negative UTC offset.                                                                                                                                                                                                            |
| `contact`            | object    | No       | —       | The user's contact information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `dataSourceId`       | string    | No       | —       | The ID of the data source associated with this user.  This may optionally be the data source's externalId using the syntax "externalId:math101".                                                                                                                                                                                                                                                                                                                                                                                                                |
| `educationLevel`     | string    | No       | —       | The education level of this user.   \| Type      \| Description  \| --------- \| --------- \| \| K8 \| Kindergarten through 8th grade \| \| HighSchool \| Grades 9 through 12. \| \| Freshman \| College or university freshman. \| \| Sophomore \| College or university sophomore. \| \| Junior \| College or university junior. \| \| Senior \| College or university senior. \| \| GraduateSchool \| Graduate school student. \| \| PostGraduateSchool \| Post-graduate school student. \| \| Unknown \| Education Level is not known, or not specified. \| |
| `externalId`         | string    | No       | —       | An optional externally-defined unique ID for the user.  Defaults to the userName.  Formerly known as 'batchUid'.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `gender`             | string    | No       | —       | The gender of this user.   \| Type      \| Description  \| --------- \| --------- \| \| Female \| Female \| \| Male \| Male \| \| Unknown \| Gender is not known, or not specified. \|                                                                                                                                                                                                                                                                                                                                                                          |
| `institutionRoleIds` | string\[] | No       | —       | The primary and secondary institution roles assigned to this user. The primary institution role is the first item in the list, followed by all secondary institution roles sorted alphabetically.  **Since**: 3300.3.0                                                                                                                                                                                                                                                                                                                                          |
| `job`                | object    | No       | —       | The user's job information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `locale`             | object    | No       | —       | The user's localization settings.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `name`               | object    | No       | —       | Properties used to build the user's display name.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `password`           | string    | No       | —       | The user's login password.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `studentId`          | string    | No       | —       | The user's student ID name or number as defined by the school or institution.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `systemRoleIds`      | string\[] | No       | —       | The system roles (the administrative user roles in the UI) for this user.  The first role in this list is the user's primary system role, while the remaining are secondary system roles.                                                                                                                                                                                                                                                                                                                                                                       |
| `userName`           | string    | No       | —       | The userName property, shown in the UI.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      },
      "address": {
        "type": "object",
        "description": "The user's mailing address.",
        "properties": {
          "street1": {
            "type": "string",
            "description": "The street address of the user."
          },
          "street2": {
            "type": "string",
            "description": "An additional field to store the street address of the user."
          },
          "city": {
            "type": "string",
            "description": "The city the user resides in."
          },
          "state": {
            "type": "string",
            "description": "The state or province the user resides in."
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code or postal code the user resides in."
          },
          "country": {
            "type": "string",
            "description": "The country the user resides in."
          }
        }
      },
      "availability": {
        "type": "object",
        "description": "Settings controlling availability of the user account.",
        "properties": {
          "available": {
            "type": "string",
            "description": "Whether the user is available within the system. Unavailable users cannot log in.   | Type      | Description  | --------- | --------- | | Yes |  | | No |  | | Disabled |   **Since**: 3100.0.0 |",
            "enum": [
              "Yes",
              "No",
              "Disabled"
            ]
          }
        }
      },
      "avatar": {
        "type": "object",
        "description": "The user's avatar metadata  **Since**: 3800.13.0",
        "properties": {
          "source": {
            "type": "string",
            "description": "The source of the user's avatar  **Since**: 3800.13.0   | Type      | Description  | --------- | --------- | | Default | The server default avatar | | User | The user set his/her own avatar | | System | A privileged user set the user's avatar to something other than default |",
            "enum": [
              "Default",
              "User",
              "System"
            ]
          },
          "uploadId": {
            "type": "string",
            "description": "The upload id of the avatar image file  **Since**: 3800.13.0"
          }
        }
      },
      "birthDate": {
        "type": "string",
        "description": "The birth date of this user. Only the date portion of this value has significance, since a person's birthdate represents a full day and not a moment in time. Take care to ignore the zeroed time portion when deserializing this value to ensure it's not converted to the previous calendar day if your local time zone has a negative UTC offset."
      },
      "contact": {
        "type": "object",
        "description": "The user's contact information.",
        "properties": {
          "homePhone": {
            "type": "string",
            "description": "The user's home phone number."
          },
          "mobilePhone": {
            "type": "string",
            "description": "The user's mobile phone number."
          },
          "businessPhone": {
            "type": "string",
            "description": "The user's business phone number."
          },
          "businessFax": {
            "type": "string",
            "description": "The user's business fax number."
          },
          "email": {
            "type": "string",
            "description": "The user's email address."
          },
          "institutionEmail": {
            "type": "string",
            "description": "The user's institutional email address.  **Since**: 3900.19.0"
          },
          "webPage": {
            "type": "string",
            "description": "The URL of the user's personal website."
          }
        }
      },
      "dataSourceId": {
        "type": "string",
        "description": "The ID of the data source associated with this user.  This may optionally be the data source's externalId using the syntax \"externalId:math101\"."
      },
      "educationLevel": {
        "type": "string",
        "description": "The education level of this user.   | Type      | Description  | --------- | --------- | | K8 | Kindergarten through 8th grade | | HighSchool | Grades 9 through 12. | | Freshman | College or university freshman. | | Sophomore | College or university sophomore. | | Junior | College or university junior. | | Senior | College or university senior. | | GraduateSchool | Graduate school student. | | PostGraduateSchool | Post-graduate school student. | | Unknown | Education Level is not known, or not specified. |",
        "enum": [
          "K8",
          "HighSchool",
          "Freshman",
          "Sophomore",
          "Junior",
          "Senior",
          "GraduateSchool",
          "PostGraduateSchool",
          "Unknown"
        ]
      },
      "externalId": {
        "type": "string",
        "description": "An optional externally-defined unique ID for the user.  Defaults to the userName.  Formerly known as 'batchUid'."
      },
      "gender": {
        "type": "string",
        "description": "The gender of this user.   | Type      | Description  | --------- | --------- | | Female | Female | | Male | Male | | Unknown | Gender is not known, or not specified. |",
        "enum": [
          "Female",
          "Male",
          "Unknown"
        ]
      },
      "institutionRoleIds": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "The primary and secondary institution roles assigned to this user. The primary institution role is the first item in the list, followed by all secondary institution roles sorted alphabetically.  **Since**: 3300.3.0"
      },
      "job": {
        "type": "object",
        "description": "The user's job information.",
        "properties": {
          "title": {
            "type": "string",
            "description": "The user's job title."
          },
          "department": {
            "type": "string",
            "description": "The department the user belongs to."
          },
          "company": {
            "type": "string",
            "description": "The company the user works for."
          }
        }
      },
      "locale": {
        "type": "object",
        "description": "The user's localization settings.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The locale specified by the user.  This locale will be used anywhere the user is allowed to customize their locale; courses may force a specific locale, overriding the user's locale preference."
          },
          "calendar": {
            "type": "string",
            "description": "The calendar type specified by the user.   | Type      | Description  | --------- | --------- | | Gregorian | Gregorian | | GregorianHijri | Gregorian & Hijri | | Hijri | Hijri | | HijriGregorian | Hijri & Gregorian |",
            "enum": [
              "Gregorian",
              "GregorianHijri",
              "Hijri",
              "HijriGregorian"
            ]
          },
          "firstDayOfWeek": {
            "type": "string",
            "description": "The user's preferred first day of the week.   | Type      | Description  | --------- | --------- | | Sunday | Sunday | | Monday | Monday | | Saturday | Saturday |",
            "enum": [
              "Sunday",
              "Monday",
              "Saturday"
            ]
          }
        }
      },
      "name": {
        "type": "object",
        "description": "Properties used to build the user's display name.",
        "properties": {
          "given": {
            "type": "string",
            "description": "The given (first) name of this user."
          },
          "family": {
            "type": "string",
            "description": "The family (last) name of this user."
          },
          "middle": {
            "type": "string",
            "description": "The middle name of this user."
          },
          "other": {
            "type": "string",
            "description": "The other name (nickname) of this user."
          },
          "suffix": {
            "type": "string",
            "description": "The suffix of this user's name.  Examples: Jr., III, PhD."
          },
          "title": {
            "type": "string",
            "description": "The title of this user.  Examples: Mr., Ms., Dr."
          }
        }
      },
      "password": {
        "type": "string",
        "description": "The user's login password."
      },
      "studentId": {
        "type": "string",
        "description": "The user's student ID name or number as defined by the school or institution."
      },
      "systemRoleIds": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "SystemAdmin",
            "SystemSupport",
            "CourseCreator",
            "CourseSupport",
            "AccountAdmin",
            "Guest",
            "User",
            "Observer",
            "Integration",
            "Portal"
          ]
        },
        "description": "The system roles (the administrative user roles in the UI) for this user.  The first role in this list is the user's primary system role, while the remaining are secondary system roles."
      },
      "userName": {
        "type": "string",
        "description": "The userName property, shown in the UI."
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_post\_learn\_api\_public\_datasources

Create Data Source

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                                                                 |
| ------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| `fields`      | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned. |
| `description` | string | No       | —       | The description of the data source.                                                                         |
| `externalId`  | string | Yes      | —       | An externally-defined unique ID for the data source.  Formerly known as 'batchUid'.                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      },
      "description": {
        "type": "string",
        "description": "The description of the data source."
      },
      "externalId": {
        "type": "string",
        "description": "An externally-defined unique ID for the data source.  Formerly known as 'batchUid'."
      }
    },
    "required": [
      "PCID",
      "externalId"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_post\_learn\_api\_public\_oauth2\_token

Request Token

**Parameters:**

| Parameter       | Type   | Required | Default | Description                                                                                                                                     |
| --------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `grant_type`    | string | No       | —       | The Grant Type. Acceptable values include: 'client\_credentials', 'authorization\_code' (since 3200.7.0), or 'refresh\_token' (since 3200.7.0). |
| `code`          | string | No       | —       | The authorization code granted by an end user for use by an application in Oauth2 Authorization Code Workflow                                   |
| `redirect_uri`  | string | No       | —       | The redirectUri to send the end user to once an access token response is made in Oauth2 Authorization Code Workflow  **Since**: 3200.7.0        |
| `refresh_token` | string | No       | —       | The refresh token granted for use by an application in Oauth2 Refresh Token Workflow  **Since**: 3200.7.0                                       |
| `code_verifier` | string | No       | —       | The code\_verifier to be passed along with authorization code if PKCE standard was used to grant the authorization code.  **Since**: 3700.4.0   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "grant_type": {
        "type": "string",
        "description": "The Grant Type. Acceptable values include: 'client_credentials', 'authorization_code' (since 3200.7.0), or 'refresh_token' (since 3200.7.0).",
        "enum": [
          "client_credentials",
          "authorization_code",
          "refresh_token"
        ]
      },
      "code": {
        "type": "string",
        "description": "The authorization code granted by an end user for use by an application in Oauth2 Authorization Code Workflow"
      },
      "redirect_uri": {
        "type": "string",
        "description": "The redirectUri to send the end user to once an access token response is made in Oauth2 Authorization Code Workflow  **Since**: 3200.7.0"
      },
      "refresh_token": {
        "type": "string",
        "description": "The refresh token granted for use by an application in Oauth2 Refresh Token Workflow  **Since**: 3200.7.0"
      },
      "code_verifier": {
        "type": "string",
        "description": "The code_verifier to be passed along with authorization code if PKCE standard was used to grant the authorization code.  **Since**: 3700.4.0"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_post\_learn\_api\_public\_users

Create User

**Parameters:**

| Parameter            | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| -------------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fields`             | string    | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `address`            | object    | No       | —       | The user's mailing address.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `availability`       | object    | No       | —       | Settings controlling availability of the user account.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `avatar`             | object    | No       | —       | The user's avatar metadata  **Since**: 3800.13.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `birthDate`          | string    | No       | —       | The birth date of this user. Only the date portion of this value has significance, since a person's birthdate represents a full day and not a moment in time. Take care to ignore the zeroed time portion when deserializing this value to ensure it's not converted to the previous calendar day if your local time zone has a negative UTC offset.                                                                                                                                                                                                            |
| `contact`            | object    | No       | —       | The user's contact information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `dataSourceId`       | string    | No       | —       | The ID of the data source associated with this user.  This may optionally be the data source's externalId using the syntax "externalId:math101".                                                                                                                                                                                                                                                                                                                                                                                                                |
| `educationLevel`     | string    | No       | —       | The education level of this user.   \| Type      \| Description  \| --------- \| --------- \| \| K8 \| Kindergarten through 8th grade \| \| HighSchool \| Grades 9 through 12. \| \| Freshman \| College or university freshman. \| \| Sophomore \| College or university sophomore. \| \| Junior \| College or university junior. \| \| Senior \| College or university senior. \| \| GraduateSchool \| Graduate school student. \| \| PostGraduateSchool \| Post-graduate school student. \| \| Unknown \| Education Level is not known, or not specified. \| |
| `externalId`         | string    | No       | —       | An optional externally-defined unique ID for the user.  Defaults to the userName.  Formerly known as 'batchUid'.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `gender`             | string    | No       | —       | The gender of this user.   \| Type      \| Description  \| --------- \| --------- \| \| Female \| Female \| \| Male \| Male \| \| Unknown \| Gender is not known, or not specified. \|                                                                                                                                                                                                                                                                                                                                                                          |
| `institutionRoleIds` | string\[] | No       | —       | The primary and secondary institution roles assigned to this user. The primary institution role is the first item in the list, followed by all secondary institution roles sorted alphabetically.  **Since**: 3300.3.0                                                                                                                                                                                                                                                                                                                                          |
| `job`                | object    | No       | —       | The user's job information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `locale`             | object    | No       | —       | The user's localization settings.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `name`               | object    | Yes      | —       | Properties used to build the user's display name.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `password`           | string    | Yes      | —       | The user's login password.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `studentId`          | string    | No       | —       | The user's student ID name or number as defined by the school or institution.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `systemRoleIds`      | string\[] | No       | —       | The system roles (the administrative user roles in the UI) for this user.  The first role in this list is the user's primary system role, while the remaining are secondary system roles.                                                                                                                                                                                                                                                                                                                                                                       |
| `userName`           | string    | Yes      | —       | The userName property, shown in the UI.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      },
      "address": {
        "type": "object",
        "description": "The user's mailing address.",
        "properties": {
          "street1": {
            "type": "string",
            "description": "The street address of the user."
          },
          "street2": {
            "type": "string",
            "description": "An additional field to store the street address of the user."
          },
          "city": {
            "type": "string",
            "description": "The city the user resides in."
          },
          "state": {
            "type": "string",
            "description": "The state or province the user resides in."
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code or postal code the user resides in."
          },
          "country": {
            "type": "string",
            "description": "The country the user resides in."
          }
        }
      },
      "availability": {
        "type": "object",
        "description": "Settings controlling availability of the user account.",
        "properties": {
          "available": {
            "type": "string",
            "description": "Whether the user is available within the system. Unavailable users cannot log in.   | Type      | Description  | --------- | --------- | | Yes |  | | No |  | | Disabled |   **Since**: 3100.0.0 |",
            "enum": [
              "Yes",
              "No",
              "Disabled"
            ]
          }
        }
      },
      "avatar": {
        "type": "object",
        "description": "The user's avatar metadata  **Since**: 3800.13.0",
        "properties": {
          "source": {
            "type": "string",
            "description": "The source of the user's avatar  **Since**: 3800.13.0   | Type      | Description  | --------- | --------- | | Default | The server default avatar | | User | The user set his/her own avatar | | System | A privileged user set the user's avatar to something other than default |",
            "enum": [
              "Default",
              "User",
              "System"
            ]
          },
          "uploadId": {
            "type": "string",
            "description": "The upload id of the avatar image file  **Since**: 3800.13.0"
          }
        }
      },
      "birthDate": {
        "type": "string",
        "description": "The birth date of this user. Only the date portion of this value has significance, since a person's birthdate represents a full day and not a moment in time. Take care to ignore the zeroed time portion when deserializing this value to ensure it's not converted to the previous calendar day if your local time zone has a negative UTC offset."
      },
      "contact": {
        "type": "object",
        "description": "The user's contact information.",
        "properties": {
          "homePhone": {
            "type": "string",
            "description": "The user's home phone number."
          },
          "mobilePhone": {
            "type": "string",
            "description": "The user's mobile phone number."
          },
          "businessPhone": {
            "type": "string",
            "description": "The user's business phone number."
          },
          "businessFax": {
            "type": "string",
            "description": "The user's business fax number."
          },
          "email": {
            "type": "string",
            "description": "The user's email address."
          },
          "institutionEmail": {
            "type": "string",
            "description": "The user's institutional email address.  **Since**: 3900.19.0"
          },
          "webPage": {
            "type": "string",
            "description": "The URL of the user's personal website."
          }
        }
      },
      "dataSourceId": {
        "type": "string",
        "description": "The ID of the data source associated with this user.  This may optionally be the data source's externalId using the syntax \"externalId:math101\"."
      },
      "educationLevel": {
        "type": "string",
        "description": "The education level of this user.   | Type      | Description  | --------- | --------- | | K8 | Kindergarten through 8th grade | | HighSchool | Grades 9 through 12. | | Freshman | College or university freshman. | | Sophomore | College or university sophomore. | | Junior | College or university junior. | | Senior | College or university senior. | | GraduateSchool | Graduate school student. | | PostGraduateSchool | Post-graduate school student. | | Unknown | Education Level is not known, or not specified. |",
        "enum": [
          "K8",
          "HighSchool",
          "Freshman",
          "Sophomore",
          "Junior",
          "Senior",
          "GraduateSchool",
          "PostGraduateSchool",
          "Unknown"
        ]
      },
      "externalId": {
        "type": "string",
        "description": "An optional externally-defined unique ID for the user.  Defaults to the userName.  Formerly known as 'batchUid'."
      },
      "gender": {
        "type": "string",
        "description": "The gender of this user.   | Type      | Description  | --------- | --------- | | Female | Female | | Male | Male | | Unknown | Gender is not known, or not specified. |",
        "enum": [
          "Female",
          "Male",
          "Unknown"
        ]
      },
      "institutionRoleIds": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "The primary and secondary institution roles assigned to this user. The primary institution role is the first item in the list, followed by all secondary institution roles sorted alphabetically.  **Since**: 3300.3.0"
      },
      "job": {
        "type": "object",
        "description": "The user's job information.",
        "properties": {
          "title": {
            "type": "string",
            "description": "The user's job title."
          },
          "department": {
            "type": "string",
            "description": "The department the user belongs to."
          },
          "company": {
            "type": "string",
            "description": "The company the user works for."
          }
        }
      },
      "locale": {
        "type": "object",
        "description": "The user's localization settings.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The locale specified by the user.  This locale will be used anywhere the user is allowed to customize their locale; courses may force a specific locale, overriding the user's locale preference."
          },
          "calendar": {
            "type": "string",
            "description": "The calendar type specified by the user.   | Type      | Description  | --------- | --------- | | Gregorian | Gregorian | | GregorianHijri | Gregorian & Hijri | | Hijri | Hijri | | HijriGregorian | Hijri & Gregorian |",
            "enum": [
              "Gregorian",
              "GregorianHijri",
              "Hijri",
              "HijriGregorian"
            ]
          },
          "firstDayOfWeek": {
            "type": "string",
            "description": "The user's preferred first day of the week.   | Type      | Description  | --------- | --------- | | Sunday | Sunday | | Monday | Monday | | Saturday | Saturday |",
            "enum": [
              "Sunday",
              "Monday",
              "Saturday"
            ]
          }
        }
      },
      "name": {
        "type": "object",
        "description": "Properties used to build the user's display name.",
        "properties": {
          "given": {
            "type": "string",
            "description": "The given (first) name of this user."
          },
          "family": {
            "type": "string",
            "description": "The family (last) name of this user."
          },
          "middle": {
            "type": "string",
            "description": "The middle name of this user."
          },
          "other": {
            "type": "string",
            "description": "The other name (nickname) of this user."
          },
          "suffix": {
            "type": "string",
            "description": "The suffix of this user's name.  Examples: Jr., III, PhD."
          },
          "title": {
            "type": "string",
            "description": "The title of this user.  Examples: Mr., Ms., Dr."
          }
        },
        "required": [
          "family",
          "given"
        ]
      },
      "password": {
        "type": "string",
        "description": "The user's login password."
      },
      "studentId": {
        "type": "string",
        "description": "The user's student ID name or number as defined by the school or institution."
      },
      "systemRoleIds": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "SystemAdmin",
            "SystemSupport",
            "CourseCreator",
            "CourseSupport",
            "AccountAdmin",
            "Guest",
            "User",
            "Observer",
            "Integration",
            "Portal"
          ]
        },
        "description": "The system roles (the administrative user roles in the UI) for this user.  The first role in this list is the user's primary system role, while the remaining are secondary system roles."
      },
      "userName": {
        "type": "string",
        "description": "The userName property, shown in the UI."
      }
    },
    "required": [
      "PCID",
      "name",
      "password",
      "userName"
    ]
  }
  ```
</Expandable>

***

## blackboard\_users\_put\_learn\_api\_public\_users\_by\_userid\_observers\_by\_observerid

Create Observer

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------ | ------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`     | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \|                        |
| `observerId` | string | Yes      | —       | The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    \| ID type    \| Example                               \|  \|------------\|---------------------------------------\|  \| primary    \| \_123\_1                                \|  \| externalId \| externalId:jsmith                     \|  \| userName   \| userName:jsmith                       \|  \| uuid       \| uuid:915c7567d76d444abf1eed56aad3beb5 \|    **Since**: 3500.5.0 |
| `fields`     | string | No       | —       | A comma-delimited list of fields to include in the response. If not specified, all fields will be returned.                                                                                                                                                                                                                                                                                                                                                                                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "userId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |"
      },
      "observerId": {
        "type": "string",
        "description": "The user ID.  This may be the primary ID, or any of the secondary IDs prefixed with the ID type.    | ID type    | Example                               |  |------------|---------------------------------------|  | primary    | _123_1                                |  | externalId | externalId:jsmith                     |  | userName   | userName:jsmith                       |  | uuid       | uuid:915c7567d76d444abf1eed56aad3beb5 |    **Since**: 3500.5.0"
      },
      "fields": {
        "type": "string",
        "description": "A comma-delimited list of fields to include in the response. If not specified, all fields will be returned."
      }
    },
    "required": [
      "PCID",
      "userId",
      "observerId"
    ]
  }
  ```
</Expandable>
