Revyl · Schema
DeviceSessionDetailResponse
Session viewer detail, with build attribution fixed to its starting build.
CompanyMobileDevelopmentPlatformCloud
Properties
| Name | Type | Description |
|---|---|---|
| action_count | integer | |
| app_id | object | |
| app_name | object | |
| billed_to | string | |
| branch_id | object | |
| branch_name | object | |
| build_id | object | |
| build_version | object | |
| can_cancel | boolean | |
| can_interact | boolean | |
| cloud_agent_conversation | object | |
| created_at | object | |
| device_model | object | |
| duration_seconds | object | |
| ended_at | object | |
| error_message | object | |
| has_test_execution | boolean | |
| has_video | boolean | |
| id | string | |
| interaction_disabled_reason | object | |
| org_id | string | |
| os_version | object | |
| platform | object | |
| report_id | object | |
| screen_height | object | |
| screen_width | object | |
| source | object | |
| source_metadata | object | |
| started_at | object | |
| status | string | |
| step_count | integer | |
| test_execution_id | object | |
| test_id | object | |
| test_name | object | |
| trace_id | object | |
| user_email | object | |
| user_id | object | |
| viewer_kind | string | |
| whep_url | object | |
| workflow_execution_id | object | |
| workflow_name | object | |
| workflow_run_id | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/revyl/main/json-schema/revyl-device-session-detail-response-schema.json",
"title": "DeviceSessionDetailResponse",
"description": "Session viewer detail, with build attribution fixed to its starting build.",
"x-generated": "2026-10-19",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/revyl-openapi.json#/components/schemas/DeviceSessionDetailResponse",
"properties": {
"action_count": {
"default": 0,
"title": "Action Count",
"type": "integer"
},
"app_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "App Id"
},
"app_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "App Name"
},
"billed_to": {
"default": "org",
"pattern": "^(org|partner:[a-z][a-z0-9_]{0,15})$",
"title": "Billed To",
"type": "string"
},
"branch_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch Id"
},
"branch_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Branch Name"
},
"build_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Build Id"
},
"build_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Build Version"
},
"can_cancel": {
"default": false,
"title": "Can Cancel",
"type": "boolean"
},
"can_interact": {
"default": false,
"title": "Can Interact",
"type": "boolean"
},
"cloud_agent_conversation": {
"anyOf": [
{
"$ref": "#/$defs/CloudAgentConversationAttributionSummary"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created At"
},
"device_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Device Model"
},
"duration_seconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Duration Seconds"
},
"ended_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ended At"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"has_test_execution": {
"default": false,
"title": "Has Test Execution",
"type": "boolean"
},
"has_video": {
"default": false,
"title": "Has Video",
"type": "boolean"
},
"id": {
"title": "Id",
"type": "string"
},
"interaction_disabled_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interaction Disabled Reason"
},
"org_id": {
"title": "Org Id",
"type": "string"
},
"os_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Os Version"
},
"platform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Platform"
},
"report_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Report Id"
},
"screen_height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Screen Height"
},
"screen_width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Screen Width"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"source_metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Source Metadata"
},
"started_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Started At"
},
"status": {
"title": "Status",
"type": "string"
},
"step_count": {
"default": 0,
"title": "Step Count",
"type": "integer"
},
"test_execution_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Test Execution Id"
},
"test_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Test Id"
},
"test_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Test Name"
},
"trace_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Trace Id"
},
"user_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Email"
},
"user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "User Id"
},
"viewer_kind": {
"default": "none",
"enum": [
"whep",
"none"
],
"title": "Viewer Kind",
"type": "string"
},
"whep_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Whep Url"
},
"workflow_execution_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workflow Execution Id"
},
"workflow_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workflow Name"
},
"workflow_run_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Workflow Run Id"
}
},
"required": [
"id",
"org_id",
"status"
],
"type": "object",
"$defs": {
"CapyCloudAgentConversationAttributionLaunch": {
"description": "Capy launch facts displayed with an ordinary related-resource attribution.",
"properties": {
"conversation_origin": {
"$ref": "#/$defs/CloudAgentConversationOrigin"
},
"launch_submission_status": {
"$ref": "#/$defs/CloudAgentConversationLaunchSubmissionStatus"
}
},
"required": [
"conversation_origin",
"launch_submission_status"
],
"title": "CapyCloudAgentConversationAttributionLaunch",
"type": "object"
},
"CloudAgentConversationAttributionSummary": {
"properties": {
"cloud_agent_provider_key": {
"$ref": "#/$defs/CloudAgentProviderKey"
},
"conversation_id": {
"format": "uuid",
"title": "Conversation Id",
"type": "string"
},
"launch": {
"anyOf": [
{
"$ref": "#/$defs/CursorCloudAgentConversationAttributionLaunch"
},
{
"$ref": "#/$defs/CapyCloudAgentConversationAttributionLaunch"
},
{
"type": "null"
}
],
"title": "Launch"
},
"provider_conversation_id": {
"anyOf": [
{
"maxLength": 255,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Provider Conversation Id"
},
"provider_conversation_url": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"title": "Provider Conversation Url"
},
"recorded_user": {
"$ref": "#/$defs/CloudAgentConversationRecordedUser"
}
},
"required": [
"conversation_id",
"recorded_user",
"cloud_agent_provider_key"
],
"title": "CloudAgentConversationAttributionSummary",
"type": "object"
},
"CloudAgentConversationLaunchSubmissionStatus": {
"description": "Once-only result of submitting the founding launch to its provider.",
"enum": [
"not_attempted",
"dispatching",
"accepted",
"rejected",
"unconfirmed"
],
"title": "CloudAgentConversationLaunchSubmissionStatus",
"type": "string"
},
"CloudAgentConversationOrigin": {
"description": "Bounded origin of a cloud-agent conversation.",
"enum": [
"revyl_atlas_screen",
"revyl_test_report",
"revyl_test_report_atlas_screen",
"revyl_device_session",
"revyl_device_session_atlas_screen",
"revyl_proof_of_changes",
"external_provider"
],
"title": "CloudAgentConversationOrigin",
"type": "string"
},
"CloudAgentConversationRecordedUser": {
"properties": {
"user_id": {
"format": "uuid",
"title": "User Id",
"type": "string"
}
},
"required": [
"user_id"
],
"title": "CloudAgentConversationRecordedUser",
"type": "object"
},
"CloudAgentProviderKey": {
"description": "Immutable provider identity for one cloud-agent conversation.",
"enum": [
"cursor_cloud",
"capy"
],
"title": "CloudAgentProviderKey",
"type": "string"
},
"CursorCloudAgentConversationAttributionLaunch": {
"description": "Launch facts displayed with an ordinary related-resource attribution.",
"properties": {
"conversation_origin": {
"$ref": "#/$defs/CloudAgentConversationOrigin"
},
"launch_connection_type": {
"$ref": "#/$defs/CursorConnectionType"
},
"launch_submission_status": {
"$ref": "#/$defs/CloudAgentConversationLaunchSubmissionStatus"
}
},
"required": [
"launch_connection_type",
"conversation_origin",
"launch_submission_status"
],
"title": "CursorCloudAgentConversationAttributionLaunch",
"type": "object"
},
"CursorConnectionType": {
"enum": [
"personal",
"organization_default"
],
"title": "CursorConnectionType",
"type": "string"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/revyl-device-session-detail-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.