# canvas\_logs

## Tables in canvas\_logs namespace

### web\_logs <a href="#dap_schemas.canvas_logs.web_logs" id="dap_schemas.canvas_logs.web_logs"></a>

Stores the Canvas web application server access/request logs.

Logs include all interactions made with your instance of Canvas, therefore some interactions are done by users that are not present in the `users` table (originated from another institution). Note: Logs older than the retention limit of 30 days are no longer available via DAP API.

**Properties:**

* **id** (UUID) - <mark style="color:purple;">**`primary key`**</mark> The unique identifier for a logged web request.
* **timestamp** (datetime) - Timestamp when the request was made in UTC.
* **user\_id** ([canvas.users](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.users) | None) - The unique ID of the user that made the request.
* **real\_user\_id** ([canvas.users](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.users) | None) - If the request was processed by one user masquerading as another, then this column contains the real user ID of the user.
* **course\_id** ([canvas.courses](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.courses) | None) - Course that owned the request.
* **quiz\_id** ([canvas.quizzes](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.quizzes) | None) - Identifies the quiz if the request is for a quiz.
* **discussion\_id** ([canvas.discussion\_topics](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.discussion_topics) | None) - Identifies the discussion if the request is for a discussion.
* **conversation\_id** ([canvas.conversations](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.conversations) | None) - Identifies the conversation if the request is for a conversation.
* **assignment\_id** ([canvas.assignments](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.assignments) | None) - Identifies the assignment if the request is for an assignment.
* **url** (str) - The path and the query string components of the requested URL.
* **http\_method** ([HTTPMethod](#dap_schemas.canvas_logs.httpmethod)) - HTTP method/verb (GET, POST, PUT, etc.) that was sent with the request.
* **http\_status** ([HTTPStatus](#dap_schemas.canvas_logs.httpstatus)) - HTTP status code of the request (e.g. 200 OK).
* **http\_version** ([HTTPVersion](#dap_schemas.canvas_logs.httpversion)) - HTTP protocol version (e.g. HTTP/2.0).
* **remote\_ip** (IPv4Address | IPv6Address) - IP (IPv4 or IPv6) address that was recorded for the request.
* **interaction\_micros** (int32) - Total time required to service the request in microseconds.
* **web\_application\_controller** ([Controller](#dap_schemas.canvas_logs.controller) | str | None) - The controller that the Canvas web application used to service this request.
* **web\_application\_action** ([Action](#dap_schemas.canvas_logs.action) | str | None) - The action in the Canvas web application used to service this request.
* **web\_application\_context\_type** ([ContextType](#dap_schemas.canvas_logs.contexttype) | None) - Containing object type that the Canvas web application used to service this request.
* **web\_application\_context\_id** (int64 | None) - Containing object ID that the Canvas web application used to service this request.
* **session\_id** (UUID | None) - ID of the user's session where this request was made.
* **developer\_key\_id** ([canvas.developer\_keys](https://developerdocs.instructure.com/services/dap/dataset/dataset-canvas#dap_schemas.canvas.developer_keys) | None) - ID of the developer who accessed this resource if the request was made by a developer.
* **participated** (bool) - Shows whether the HTTP request is considered a participation for the user.
* **user\_agent** (None | Literal\[`'__dap_oversized_truncated__'`] | Annotated\[str, MaxLength(255)]) - The user agent string sent by the HTTP client.

## Types in canvas\_logs namespace

### Action <a href="#dap_schemas.canvas_logs.action" id="dap_schemas.canvas_logs.action"></a>

Web application actions.

**Members:**

* **unspecified** = `'__dap_unspecified__'`

### ContextType <a href="#dap_schemas.canvas_logs.contexttype" id="dap_schemas.canvas_logs.contexttype"></a>

Web application context types.

**Members:**

* **account** = `'Account'`
* **assessment\_question** = `'AssessmentQuestion'`
* **assignment** = `'Assignment'`
* **content\_migration** = `'ContentMigration'`
* **course** = `'Course'`
* **course\_section** = `'CourseSection'`
* **group** = `'Group'`
* **quiz\_submission** = `'Quizzes::QuizSubmission'`
* **student\_enrollment** = `'StudentEnrollment'`
* **user** = `'User'`
* **user\_profile** = `'UserProfile'`

### Controller <a href="#dap_schemas.canvas_logs.controller" id="dap_schemas.canvas_logs.controller"></a>

Web application controllers.

**Members:**

* **unspecified** = `'__dap_unspecified__'`

### HTTPMethod <a href="#dap_schemas.canvas_logs.httpmethod" id="dap_schemas.canvas_logs.httpmethod"></a>

HTTP methods used in the Canvas API.

**Members:**

* **CONNECT** = `'CONNECT'`
* **DELETE** = `'DELETE'`
* **GET** = `'GET'`
* **HEAD** = `'HEAD'`
* **OPTIONS** = `'OPTIONS'`
* **PATCH** = `'PATCH'`
* **POST** = `'POST'`
* **PUT** = `'PUT'`
* **TRACE** = `'TRACE'`
* **SEARCH** = `'SEARCH'`
* **PROPFIND** = `'PROPFIND'`
* **LOCK** = `'LOCK'`
* **REPORT** = `'REPORT'`
* **PURGE** = `'PURGE'`
* **MKCOL** = `'MKCOL'`
* **PROPPATCH** = `'PROPPATCH'`
* **CHECKOUT** = `'CHECKOUT'`
* **UNLOCK** = `'UNLOCK'`
* **MERGE** = `'MERGE'`
* **NOTIFY** = `'NOTIFY'`
* **MOVE** = `'MOVE'`
* **COPY** = `'COPY'`
* **UNSUBSCRIBE** = `'UNSUBSCRIBE'`
* **MKACTIVITY** = `'MKACTIVITY'`
* **SUBSCRIBE** = `'SUBSCRIBE'`
* **ACL** = `'ACL'`

### HTTPStatus <a href="#dap_schemas.canvas_logs.httpstatus" id="dap_schemas.canvas_logs.httpstatus"></a>

**Members:**

* **CONTINUE** = `100`
* **SWITCHING\_PROTOCOLS** = `101`
* **PROCESSING** = `102`
* **EARLY\_HINTS** = `103`
* **OK** = `200`
* **CREATED** = `201`
* **ACCEPTED** = `202`
* **NON\_AUTHORITATIVE\_INFORMATION** = `203`
* **NO\_CONTENT** = `204`
* **RESET\_CONTENT** = `205`
* **PARTIAL\_CONTENT** = `206`
* **MULTI\_STATUS** = `207`
* **ALREADY\_REPORTED** = `208`
* **IM\_USED** = `226`
* **MULTIPLE\_CHOICES** = `300`
* **MOVED\_PERMANENTLY** = `301`
* **FOUND** = `302`
* **SEE\_OTHER** = `303`
* **NOT\_MODIFIED** = `304`
* **USE\_PROXY** = `305`
* **TEMPORARY\_REDIRECT** = `307`
* **PERMANENT\_REDIRECT** = `308`
* **BAD\_REQUEST** = `400`
* **UNAUTHORIZED** = `401`
* **PAYMENT\_REQUIRED** = `402`
* **FORBIDDEN** = `403`
* **NOT\_FOUND** = `404`
* **METHOD\_NOT\_ALLOWED** = `405`
* **NOT\_ACCEPTABLE** = `406`
* **PROXY\_AUTHENTICATION\_REQUIRED** = `407`
* **REQUEST\_TIMEOUT** = `408`
* **CONFLICT** = `409`
* **GONE** = `410`
* **LENGTH\_REQUIRED** = `411`
* **PRECONDITION\_FAILED** = `412`
* **REQUEST\_ENTITY\_TOO\_LARGE** = `413`
* **REQUEST\_URI\_TOO\_LONG** = `414`
* **UNSUPPORTED\_MEDIA\_TYPE** = `415`
* **REQUESTED\_RANGE\_NOT\_SATISFIABLE** = `416`
* **EXPECTATION\_FAILED** = `417`
* **IM\_A\_TEAPOT** = `418`
* **MISDIRECTED\_REQUEST** = `421`
* **UNPROCESSABLE\_ENTITY** = `422`
* **LOCKED** = `423`
* **FAILED\_DEPENDENCY** = `424`
* **TOO\_EARLY** = `425`
* **UPGRADE\_REQUIRED** = `426`
* **PRECONDITION\_REQUIRED** = `428`
* **TOO\_MANY\_REQUESTS** = `429`
* **REQUEST\_HEADER\_FIELDS\_TOO\_LARGE** = `431`
* **UNAVAILABLE\_FOR\_LEGAL\_REASONS** = `451`
* **INTERNAL\_SERVER\_ERROR** = `500`
* **NOT\_IMPLEMENTED** = `501`
* **BAD\_GATEWAY** = `502`
* **SERVICE\_UNAVAILABLE** = `503`
* **GATEWAY\_TIMEOUT** = `504`
* **HTTP\_VERSION\_NOT\_SUPPORTED** = `505`
* **VARIANT\_ALSO\_NEGOTIATES** = `506`
* **INSUFFICIENT\_STORAGE** = `507`
* **LOOP\_DETECTED** = `508`
* **NOT\_EXTENDED** = `510`
* **NETWORK\_AUTHENTICATION\_REQUIRED** = `511`

### HTTPVersion <a href="#dap_schemas.canvas_logs.httpversion" id="dap_schemas.canvas_logs.httpversion"></a>

HTTP protocol version.

**Members:**

* **http09** = `'0.9'`
* **http10** = `'1.0'`
* **http11** = `'1.1'`
* **http20** = `'2.0'`
