Valid
Launch was successfuly received by Reference Tool.
0 Errors below.
0 Warnings below.
JWT was decoded correctly with the kid (Key ID) and public key provided by the Platform.
Missing OAuth2 URL on Tool (required for acccess token) or this launch did not include Proctoring Services claims.
{
"status": 500,
"error": "Internal Server Error",
"exception": "#<ActiveRecord::PendingMigrationError:\"\\n\\nMigrations are pending. To resolve this issue, run:\\n\\n bin/rails db:migrate\\n\\nYou have 2 pending migrations:\\n\\ndb/migrate/20260122100001_add_monitoring_window_id_to_legacy_reviews.rb\\ndb/migrate/20260129133746_remove_legacy_review_system.rb\\n\\n\\n\">",
"traces": {
"Application Trace": [
{
"exception_object_id": 9870220,
"id": 26,
"trace": "app/middleware/do_not_cache_public_files.rb:8:in `call'"
}
],
"Framework Trace": [
{
"exception_object_id": 9870220,
"id": 0,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:743:in `check_pending_migrations'"
},
{
"exception_object_id": 9870220,
"id": 1,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:660:in `block (2 levels) in call'"
},
{
"exception_object_id": 9870220,
"id": 2,
"trace": "activesupport (8.0.2.1) lib/active_support/file_update_checker.rb:85:in `execute'"
},
{
"exception_object_id": 9870220,
"id": 3,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:665:in `block in call'"
},
{
"exception_object_id": 9870220,
"id": 4,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:657:in `synchronize'"
},
{
"exception_object_id": 9870220,
"id": 5,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:657:in `call'"
},
{
"exception_object_id": 9870220,
"id": 6,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'"
},
{
"exception_object_id": 9870220,
"id": 7,
"trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:100:in `run_callbacks'"
},
{
"exception_object_id": 9870220,
"id": 8,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'"
},
{
"exception_object_id": 9870220,
"id": 9,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
},
{
"exception_object_id": 9870220,
"id": 10,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'"
},
{
"exception_object_id": 9870220,
"id": 11,
"trace": "sentry-rails (5.26.0) lib/sentry/rails/rescued_exception_interceptor.rb:11:in `call'"
},
{
"exception_object_id": 9870220,
"id": 12,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'"
},
{
"exception_object_id": 9870220,
"id": 13,
"trace": "sentry-ruby (5.26.0) lib/sentry/rack/capture_exceptions.rb:15:in `call'"
},
{
"exception_object_id": 9870220,
"id": 14,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'"
},
{
"exception_object_id": 9870220,
"id": 15,
"trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:41:in `call_app'"
},
{
"exception_object_id": 9870220,
"id": 16,
"trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:29:in `call'"
},
{
"exception_object_id": 9870220,
"id": 17,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'"
},
{
"exception_object_id": 9870220,
"id": 18,
"trace": "rack-timeout (0.7.0) lib/rack/timeout/core.rb:116:in `call'"
},
{
"exception_object_id": 9870220,
"id": 19,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/request_id.rb:34:in `call'"
},
{
"exception_object_id": 9870220,
"id": 20,
"trace": "rack (3.2.3) lib/rack/runtime.rb:24:in `call'"
},
{
"exception_object_id": 9870220,
"id": 21,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'"
},
{
"exception_object_id": 9870220,
"id": 22,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'"
},
{
"exception_object_id": 9870220,
"id": 23,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:60:in `call'"
},
{
"exception_object_id": 9870220,
"id": 24,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
},
{
"exception_object_id": 9870220,
"id": 25,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/static.rb:27:in `call'"
},
{
"exception_object_id": 9870220,
"id": 27,
"trace": "rack (3.2.3) lib/rack/sendfile.rb:131:in `call'"
},
{
"exception_object_id": 9870220,
"id": 28,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/host_authorization.rb:143:in `call'"
},
{
"exception_object_id": 9870220,
"id": 29,
"trace": "rack-cors (3.0.0) lib/rack/cors.rb:102:in `call'"
},
{
"exception_object_id": 9870220,
"id": 30,
"trace": "vite_ruby (3.9.1) lib/vite_ruby/dev_server_proxy.rb:22:in `perform_request'"
},
{
"exception_object_id": 9870220,
"id": 31,
"trace": "rack-proxy (0.7.7) lib/rack/proxy.rb:87:in `call'"
},
{
"exception_object_id": 9870220,
"id": 32,
"trace": "railties (8.0.2.1) lib/rails/engine.rb:535:in `call'"
},
{
"exception_object_id": 9870220,
"id": 33,
"trace": "puma (6.6.0) lib/puma/configuration.rb:279:in `call'"
},
{
"exception_object_id": 9870220,
"id": 34,
"trace": "puma (6.6.0) lib/puma/request.rb:99:in `block in handle_request'"
},
{
"exception_object_id": 9870220,
"id": 35,
"trace": "puma (6.6.0) lib/puma/thread_pool.rb:390:in `with_force_shutdown'"
},
{
"exception_object_id": 9870220,
"id": 36,
"trace": "puma (6.6.0) lib/puma/request.rb:98:in `handle_request'"
},
{
"exception_object_id": 9870220,
"id": 37,
"trace": "puma (6.6.0) lib/puma/server.rb:472:in `process_client'"
},
{
"exception_object_id": 9870220,
"id": 38,
"trace": "puma (6.6.0) lib/puma/server.rb:254:in `block in run'"
},
{
"exception_object_id": 9870220,
"id": 39,
"trace": "puma (6.6.0) lib/puma/thread_pool.rb:167:in `block in spawn_thread'"
}
],
"Full Trace": [
{
"exception_object_id": 9870220,
"id": 0,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:743:in `check_pending_migrations'"
},
{
"exception_object_id": 9870220,
"id": 1,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:660:in `block (2 levels) in call'"
},
{
"exception_object_id": 9870220,
"id": 2,
"trace": "activesupport (8.0.2.1) lib/active_support/file_update_checker.rb:85:in `execute'"
},
{
"exception_object_id": 9870220,
"id": 3,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:665:in `block in call'"
},
{
"exception_object_id": 9870220,
"id": 4,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:657:in `synchronize'"
},
{
"exception_object_id": 9870220,
"id": 5,
"trace": "activerecord (8.0.2.1) lib/active_record/migration.rb:657:in `call'"
},
{
"exception_object_id": 9870220,
"id": 6,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'"
},
{
"exception_object_id": 9870220,
"id": 7,
"trace": "activesupport (8.0.2.1) lib/active_support/callbacks.rb:100:in `run_callbacks'"
},
{
"exception_object_id": 9870220,
"id": 8,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'"
},
{
"exception_object_id": 9870220,
"id": 9,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
},
{
"exception_object_id": 9870220,
"id": 10,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'"
},
{
"exception_object_id": 9870220,
"id": 11,
"trace": "sentry-rails (5.26.0) lib/sentry/rails/rescued_exception_interceptor.rb:11:in `call'"
},
{
"exception_object_id": 9870220,
"id": 12,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'"
},
{
"exception_object_id": 9870220,
"id": 13,
"trace": "sentry-ruby (5.26.0) lib/sentry/rack/capture_exceptions.rb:15:in `call'"
},
{
"exception_object_id": 9870220,
"id": 14,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'"
},
{
"exception_object_id": 9870220,
"id": 15,
"trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:41:in `call_app'"
},
{
"exception_object_id": 9870220,
"id": 16,
"trace": "railties (8.0.2.1) lib/rails/rack/logger.rb:29:in `call'"
},
{
"exception_object_id": 9870220,
"id": 17,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'"
},
{
"exception_object_id": 9870220,
"id": 18,
"trace": "rack-timeout (0.7.0) lib/rack/timeout/core.rb:116:in `call'"
},
{
"exception_object_id": 9870220,
"id": 19,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/request_id.rb:34:in `call'"
},
{
"exception_object_id": 9870220,
"id": 20,
"trace": "rack (3.2.3) lib/rack/runtime.rb:24:in `call'"
},
{
"exception_object_id": 9870220,
"id": 21,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'"
},
{
"exception_object_id": 9870220,
"id": 22,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'"
},
{
"exception_object_id": 9870220,
"id": 23,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/server_timing.rb:60:in `call'"
},
{
"exception_object_id": 9870220,
"id": 24,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'"
},
{
"exception_object_id": 9870220,
"id": 25,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/static.rb:27:in `call'"
},
{
"exception_object_id": 9870220,
"id": 26,
"trace": "app/middleware/do_not_cache_public_files.rb:8:in `call'"
},
{
"exception_object_id": 9870220,
"id": 27,
"trace": "rack (3.2.3) lib/rack/sendfile.rb:131:in `call'"
},
{
"exception_object_id": 9870220,
"id": 28,
"trace": "actionpack (8.0.2.1) lib/action_dispatch/middleware/host_authorization.rb:143:in `call'"
},
{
"exception_object_id": 9870220,
"id": 29,
"trace": "rack-cors (3.0.0) lib/rack/cors.rb:102:in `call'"
},
{
"exception_object_id": 9870220,
"id": 30,
"trace": "vite_ruby (3.9.1) lib/vite_ruby/dev_server_proxy.rb:22:in `perform_request'"
},
{
"exception_object_id": 9870220,
"id": 31,
"trace": "rack-proxy (0.7.7) lib/rack/proxy.rb:87:in `call'"
},
{
"exception_object_id": 9870220,
"id": 32,
"trace": "railties (8.0.2.1) lib/rails/engine.rb:535:in `call'"
},
{
"exception_object_id": 9870220,
"id": 33,
"trace": "puma (6.6.0) lib/puma/configuration.rb:279:in `call'"
},
{
"exception_object_id": 9870220,
"id": 34,
"trace": "puma (6.6.0) lib/puma/request.rb:99:in `block in handle_request'"
},
{
"exception_object_id": 9870220,
"id": 35,
"trace": "puma (6.6.0) lib/puma/thread_pool.rb:390:in `with_force_shutdown'"
},
{
"exception_object_id": 9870220,
"id": 36,
"trace": "puma (6.6.0) lib/puma/request.rb:98:in `handle_request'"
},
{
"exception_object_id": 9870220,
"id": 37,
"trace": "puma (6.6.0) lib/puma/server.rb:472:in `process_client'"
},
{
"exception_object_id": 9870220,
"id": 38,
"trace": "puma (6.6.0) lib/puma/server.rb:254:in `block in run'"
},
{
"exception_object_id": 9870220,
"id": 39,
"trace": "puma (6.6.0) lib/puma/thread_pool.rb:167:in `block in spawn_thread'"
}
]
}
}
"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImtnSlZyMkRQX0ZyZmVMeTFRWFhtWEgzaXVZSkQ3ajlDdmtGbWFhNVJYQUkiLCJ0eXAiOiJKV1QifQ.eyJ0b29sX2lkIjo0ODk2LCJzdGF0ZV9ub25jZSI6IjYxZGViYzEwNTYwNmQzNDI5OTdmIiwicGFyYW1zIjp7ImNsaWVudF9pZCI6InBlLXRvb2wtdGVzdC0xIiwibG9naW5faGludCI6IjE3IiwibHRpX2RlcGxveW1lbnRfaWQiOiIxIiwibHRpX21lc3NhZ2VfaGludCI6IntcInJlc291cmNlX2xpbmtfaWRcIjpcInZpZGVvLWNsaXAtMVwifSIsInRhcmdldF9saW5rX3VyaSI6Imh0dHBzOi8vbHRpLXJpLmltc2dsb2JhbC5vcmcvbHRpL3Rvb2xzLzQ4OTYvbGF1bmNoZXMiLCJjb250cm9sbGVyIjoibHRpL2xvZ2luX2luaXRpYXRpb25zIiwiYWN0aW9uIjoiaW5kZXgiLCJ0b29sX2lkIjoiNDg5NiJ9LCJpc3MiOiJQRSBUZXN0IFRvb2wgMSIsInN1YiI6InBlLXRvb2wtdGVzdC0xIiwiYXVkIjoiaHR0cHM6Ly8yZWEwLTE0OS00MC0xMTctMTAwLm5ncm9rLWZyZWUuYXBwL2x0aS90b2tlbiIsImlhdCI6MTcxOTQ5MDcwMiwiZXhwIjoxNzE5NDkxMDAyLCJqdGkiOiI1ZDUwMzRkZDBiODY5ZmI0ZDU2NSJ9.NQ6pfAd5lb-MF3XNQd5nxr3QWFXknlgFVE3bQWbhi03gm7FyljnXVYKPb-zjh1muPLEljjs8mChqpAuK43LNIzTp1OtM8kQPlkYSYQLoyfsCfDFQb8ZtqWc3FL5uNQpW-Yy5prmIK5ZjvTwfq1VjNJJXhY_kwCTjJfGhIFosAPPtca_2hXYerXSyPBiZogCwCUquUiREKGdiOjsbGDDzyxe9dcOpp_0CHfisXIwl6-sOPyaoI_BzNTcvUBiLw2-c1BYyLcXy8Q5Ln4QNP7DanYf5OGPMwi5BIlIn6_3Eg2CXdAiHLgDRgYjlPgXM8Gn2jS810r0SlRuIVH2oq1IRag"
{
"kid": "88be63634b4e21773731e25f5d45c64a078fdd8cc3467a3c6bc872235b5eb8d7",
"typ": "JWT",
"alg": "RS256"
}
{
"iss": "https://pe.test",
"sub": "17",
"aud": "pe-tool-test-1",
"exp": 1719491308,
"iat": 1719490708,
"nonce": "YcnGMQNt7mUNf5etNleAYA"
}
{
}
{
"https://purl.imsglobal.org/spec/lti/claim/message_type": "LtiResourceLinkRequest",
"https://purl.imsglobal.org/spec/lti/claim/version": "1.3.0",
"https://purl.imsglobal.org/spec/lti/claim/deployment_id": "1",
"https://purl.imsglobal.org/spec/lti/claim/target_link_uri": "https://lti-ri.imsglobal.org/lti/tools/4896/launches",
"https://purl.imsglobal.org/spec/lti/claim/resource_link": {
"id": "video-clip-1"
},
"https://purl.imsglobal.org/spec/lti/claim/roles": [
"http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"
]
}