Bold VideoDocs

Session Management

Resolve an upstream user ID to a BOLD viewer

GET
/api/v1/session-management/viewers/by-external-id/{external_id}

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

external_id*string

Upstream IdP user ID

Header Parameters

X-Bold-Tenant-Slug?string

Optional tenant slug. When provided, it must match the tenant API key's account slug.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://app.boldvideo.io/api/v1/session-management/viewers/by-external-id/string"
{
  "data": {
    "active_session_count": 0,
    "admin_overrides_allowed": true,
    "can_update_device_limit_override": true,
    "can_update_session_management_exemption": true,
    "device_limit_override": 1,
    "effective_device_limit": 1,
    "effective_device_limit_source": "policy",
    "external_id": "string",
    "policy_default_device_limit": 1,
    "session_management_exempt": true,
    "viewer_id": "558349be-1da2-4590-a440-d2d5e85e7b79"
  }
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}

Revoke every active session for a viewer by upstream user ID

POST
/api/v1/session-management/viewers/by-external-id/{external_id}/sessions/revoke-all

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

external_id*string

Upstream IdP user ID

Header Parameters

X-Bold-Tenant-Slug?string

Optional tenant slug. When provided, it must match the tenant API key's account slug.

Request Body

application/json

Optional reason

reason?string|null
Lengthlength <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://app.boldvideo.io/api/v1/session-management/viewers/by-external-id/string/sessions/revoke-all" \  -H "Content-Type: application/json" \  -d '{}'
{
  "ok": true,
  "revoked_count": 0
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}

List sessions for a viewer by upstream user ID

GET
/api/v1/session-management/viewers/by-external-id/{external_id}/sessions

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

external_id*string

Upstream IdP user ID

Header Parameters

X-Bold-Tenant-Slug?string

Optional tenant slug. When provided, it must match the tenant API key's account slug.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://app.boldvideo.io/api/v1/session-management/viewers/by-external-id/string/sessions"
{
  "data": [
    {
      "device_id": "string",
      "device_label": "string",
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "inserted_at": "2019-08-24T14:15:22Z",
      "last_seen_at": "2019-08-24T14:15:22Z",
      "location": "string",
      "platform": "string",
      "revoked_at": "2019-08-24T14:15:22Z",
      "revoked_by": "string",
      "revoked_reason": "string",
      "travel_verdict": "string"
    }
  ],
  "viewer": {
    "active_session_count": 0,
    "admin_overrides_allowed": true,
    "can_update_device_limit_override": true,
    "can_update_session_management_exemption": true,
    "device_limit_override": 1,
    "effective_device_limit": 1,
    "effective_device_limit_source": "policy",
    "external_id": "string",
    "policy_default_device_limit": 1,
    "session_management_exempt": true,
    "viewer_id": "558349be-1da2-4590-a440-d2d5e85e7b79"
  }
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}

Set or clear a viewer's device-limit override by upstream user ID

PUT
/api/v1/session-management/viewers/by-external-id/{external_id}/device-limit

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

external_id*string

Upstream IdP user ID

Header Parameters

X-Bold-Tenant-Slug?string

Optional tenant slug. When provided, it must match the tenant API key's account slug.

Request Body

application/json

Limit value

limit*integer|null

Set a positive integer override, or null to clear it.

Range1 <= value

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://app.boldvideo.io/api/v1/session-management/viewers/by-external-id/string/device-limit" \  -H "Content-Type: application/json" \  -d '{    "limit": 1  }'
{
  "data": {
    "active_session_count": 0,
    "admin_overrides_allowed": true,
    "can_update_device_limit_override": true,
    "can_update_session_management_exemption": true,
    "device_limit_override": 1,
    "effective_device_limit": 1,
    "effective_device_limit_source": "policy",
    "external_id": "string",
    "policy_default_device_limit": 1,
    "session_management_exempt": true,
    "viewer_id": "558349be-1da2-4590-a440-d2d5e85e7b79"
  }
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}

Revoke a viewer session by upstream user ID

POST
/api/v1/session-management/viewers/by-external-id/{external_id}/sessions/{id}/revoke

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

external_id*string

Upstream IdP user ID

id*string

Session UUID

Header Parameters

X-Bold-Tenant-Slug?string

Optional tenant slug. When provided, it must match the tenant API key's account slug.

Request Body

application/json

Optional reason

reason?string|null
Lengthlength <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://app.boldvideo.io/api/v1/session-management/viewers/by-external-id/string/sessions/string/revoke" \  -H "Content-Type: application/json" \  -d '{}'
{
  "ok": true,
  "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}

Set or clear a viewer's session-management exemption by upstream user ID

PUT
/api/v1/session-management/viewers/by-external-id/{external_id}/session-management-exemption

Authorization

api_token
AuthorizationBearer <token>

API token provided by BOLD Admin

In: header

Path Parameters

external_id*string

Upstream IdP user ID

Header Parameters

X-Bold-Tenant-Slug?string

Optional tenant slug. When provided, it must match the tenant API key's account slug.

Request Body

application/json

Exemption value

exempt*boolean

Whether this viewer is exempt from session-management enforcement.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://app.boldvideo.io/api/v1/session-management/viewers/by-external-id/string/session-management-exemption" \  -H "Content-Type: application/json" \  -d '{    "exempt": true  }'
{
  "data": {
    "active_session_count": 0,
    "admin_overrides_allowed": true,
    "can_update_device_limit_override": true,
    "can_update_session_management_exemption": true,
    "device_limit_override": 1,
    "effective_device_limit": 1,
    "effective_device_limit_source": "policy",
    "external_id": "string",
    "policy_default_device_limit": 1,
    "session_management_exempt": true,
    "viewer_id": "558349be-1da2-4590-a440-d2d5e85e7b79"
  }
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "code": "not_found",
  "message": "Video not found",
  "retryable": false,
  "type": "error"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "details": {},
  "error": "string",
  "status": 0,
  "timestamp": "2019-08-24T14:15:22Z"
}