User

Get data of a user

get
Authorizations
Path parameters
user_idinteger · int64Required

The ID of the user.

Responses
200
The user object.
application/json
get
GET /api/public/v1/users/{user_id} HTTP/1.1
Host: tw.instructuremedia.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "user": {
    "id": 1,
    "full_name": "text",
    "display_name": "text",
    "email": "text",
    "role_names": [
      "text"
    ]
  }
}

Get a list of media the user has access to.

get
Authorizations
Path parameters
user_idinteger · int64Required

The ID of the user.

Query parameters
pageintegerOptional

The page to retrieve. Default: 1.

Default: 1
per_pageinteger · max: 50Optional

The number of results per page. Default: 20, Max: 50.

Default: 20
Responses
200
The requested media list extended with permission of the user on the media.
application/json
Responseall of
get
GET /api/public/v1/users/{user_id}/media HTTP/1.1
Host: tw.instructuremedia.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "media": [
    {
      "id": 1,
      "title": "text",
      "description": "text",
      "duration": 1,
      "created_at": "2025-06-27T08:44:06.810Z",
      "thumbnail_url": "text",
      "transcoding_status": "text",
      "owner": {
        "id": 1,
        "full_name": "text",
        "display_name": "text",
        "email": "text"
      },
      "size": 1,
      "source": "text",
      "embed_id": "text",
      "lti_launch_id": "text",
      "permission": "text"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "total_count": 1
  }
}
get
Authorizations
Query parameters
rolestring · enumOptional

A role to filter the users by.

Possible values:
emailstringOptional

Email address of the user.

pageintegerOptional

The page to retrieve. Default: 1.

Default: 1
per_pageinteger · max: 50Optional

The number of results per page. Default: 20, Max: 50.

Default: 20
Responses
200
The list of user objects.
application/json
Responseall of
get
GET /api/public/v1/users/search HTTP/1.1
Host: tw.instructuremedia.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "users": [
    {
      "id": 1,
      "full_name": "text",
      "display_name": "text",
      "email": "text",
      "role_names": [
        "text"
      ]
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "total_count": 1
  }
}

Add/Remove roles from users

put
Authorizations
Body
Responses
200
Role updates are successfully applied, the updated list of user objects
application/json
put
PUT /api/public/v1/users/roles HTTP/1.1
Host: tw.instructuremedia.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "actions": [
    {
      "user_id": 1,
      "action": "add",
      "role": "Admin"
    }
  ]
}
{
  "users": [
    {
      "id": 1,
      "full_name": "text",
      "display_name": "text",
      "email": "text",
      "role_names": [
        "text"
      ]
    }
  ]
}

Last updated

Was this helpful?