From 5f698c67972e05c0bb2a42d6616cb88066b65b6f Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 23 Sep 2026 12:15:23 -0400 Subject: [PATCH] Hide the Backend API logs endpoints from the published reference The /logs family (list, get, schemas) went public in the Backend API reference on 2026-09-22 before rate limiting and the API's stability posture were settled. This removes the Logs tag, the three /logs paths, and their schemas from every published BAPI version so the reference and generated SDKs stop advertising them while that work lands. The FAPI and Platform API changes from the same publish are kept. The endpoints themselves stay live; only the docs visibility changes. Co-Authored-By: Claude Fable 5.1 --- bapi/2021-02-05.yml | 637 -------------------------------------------- bapi/2024-10-01.yml | 637 -------------------------------------------- bapi/2025-04-10.yml | 637 -------------------------------------------- bapi/2025-11-10.yml | 637 -------------------------------------------- bapi/2026-05-12.yml | 637 -------------------------------------------- 5 files changed, 3185 deletions(-) diff --git a/bapi/2021-02-05.yml b/bapi/2021-02-05.yml index 3df6488..681fce2 100644 --- a/bapi/2021-02-05.yml +++ b/bapi/2021-02-05.yml @@ -160,10 +160,6 @@ tags: description: Manage organization domains. - name: Accountless Applications description: Create and complete accountless applications. Note that this is an experimental feature and subject to change or be removed without notice. - - name: Logs - description: |- - Logs provide a record of events that occur within your application. - Use these endpoints to retrieve log entries for compliance and debugging purposes. externalDocs: url: https://clerk.com/docs paths: @@ -9459,287 +9455,6 @@ paths: $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' - /logs: - get: - operationId: ListLogs - x-speakeasy-group: logs - x-speakeasy-name-override: list - tags: - - Logs - summary: List all logs - description: |- - Returns a list of logs for the authenticated instance. - Results are paginated using cursor-based pagination. - - The response includes a `next_page_status` field in the cursor object: - - `"true"` — more results are available; continue paginating using `starting_after`. - - `"unknown"` — the server scanned a portion of the time range and may not have reached the boundary yet. Continue paginating with the returned cursor to retrieve additional results. - - `"false"` — no more results exist within the requested range. - - Callers should always paginate until `next_page_status` is `"false"` (or cursors are absent) to ensure complete results. - parameters: - - name: limit - in: query - description: |- - Applies a limit to the number of results returned. - Can be used for paginating the results together with `starting_after` or `ending_before`. - required: false - schema: - type: integer - default: 10 - minimum: 1 - maximum: 500 - - name: starting_after - in: query - description: A cursor for pagination. Provide the starting_after cursor from a previous response to fetch the next page. - required: false - schema: - type: string - - name: ending_before - in: query - description: A cursor for pagination. Provide the ending_before cursor from a previous response to fetch the previous page. - required: false - schema: - type: string - - name: subject - in: query - description: Filter logs by subject. - required: false - schema: - type: string - - name: actor - in: query - description: Filter logs by actor - required: false - schema: - type: string - - name: trace_id - in: query - description: Filter logs by trace ID (32 hex characters). - required: false - schema: - type: string - pattern: ^[0-9a-f]{32}$ - example: 1234567890abcdef1234567890abcdef - - name: type - in: query - description: |- - Filter logs by event type (e.g., `sign_in.completed`). A trailing - `*` matches an event-type family by prefix (e.g. `sign_in.*` - matches `sign_in.created`, `sign_in.completed`, ...); the wildcard - is only allowed as the last character. - required: false - schema: - type: string - - name: client_id - in: query - description: Filter logs by client ID. - required: false - schema: - type: string - - name: impersonator_user_id - in: query - description: Filter logs by impersonator user ID. - required: false - schema: - type: string - - name: ip_address - in: query - description: Filter logs by the client IP address recorded on the event. - required: false - schema: - type: string - - name: payload_filter - in: query - style: deepObject - explode: true - description: |- - Exact-match filters on event payload fields, keyed by the field's - dot-path: `payload_filter[user_id]=user_123` or - `payload_filter[captcha_attempt_payload.provider]=turnstile`. - - Requires `type`. Fields are validated against the payload schema of - that event type (discoverable via `GET /logs/schemas`); for a - trailing-`*` type the valid fields are those common to every - matching event type. An unknown field returns a 422 listing the - allowed fields. - - One value per field — repeating a field is a 422. Values must parse - as the field's type (a non-numeric value against an integer field - is a 422) and match exactly; an event whose payload lacks the field - never matches. At most 10 filters per request, paths at most 4 - segments deep, values at most 256 characters. - - Payload filters join the same `filter_match` group as the string - filters above. - required: false - schema: - type: object - additionalProperties: - type: string - - name: payload_fields - in: query - description: |- - Comma-separated payload field dot-paths to include per returned - log: `payload_fields=user_id,strategy`. Requires `type`, and the - fields are validated against that event type's payload schema the - same way as `payload_filter` (with the same caps). - - Each returned log gains a `payload` object containing only the - requested fields, keyed by their dot-paths, with fields absent - from an event's payload omitted. Without this parameter, list - responses carry no `payload` key. - - Not allowed together with `filter_match=any`: the fields are - validated against `type`'s schema, and with `any` the type filter - no longer constrains every returned row. - required: false - schema: - type: string - - name: filter_match - in: query - description: |- - Controls how `subject`, `type`, `actor`, `trace_id`, `client_id`, - `impersonator_user_id`, `ip_address`, and `payload_filter` entries - are combined: `all` (default) requires every supplied filter to - match; `any` returns events that match at least one of the - supplied filters. `event_time_after`, `event_time_before`, and - `end_user_facing_only` are always ANDed with the (possibly OR-ed) - string filter group. - required: false - schema: - type: string - enum: - - all - - any - default: all - - name: event_time_after - in: query - description: |- - Sets a lower time boundary for the query (Unix timestamp in milliseconds). - Only events on or after this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705315800000 - - name: event_time_before - in: query - description: |- - Sets an upper time boundary for the query (Unix timestamp in milliseconds). - Only events on or before this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705319400000 - - name: end_user_facing_only - in: query - description: |- - When set to true, only returns events that are marked as end-user facing. - When set to false or omitted, returns all events. - required: false - schema: - type: boolean - responses: - '200': - $ref: '#/components/responses/Log.List' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/schemas: - get: - operationId: GetLogSchema - x-speakeasy-group: logs - x-speakeasy-name-override: getSchema - tags: - - Logs - summary: Retrieve the payload schema of a log event type - description: |- - Returns the payload schema of a log event type: which fields its - payload carries, addressed by the dot-paths that the `payload_filter` - and `payload_fields` parameters of the list endpoint accept. - - `type` accepts a concrete event type (`sign_in.completed`), a - trailing-`*` wildcard (`sign_in.*`), or a bare family name (`sign_in`, - normalized to `sign_in.*` when no concrete type matches — the - response's `event_type` - echoes the normalized form). For wildcard lookups the fields are the - intersection across every matching event type, and `matched_event_types` - lists what the intersection was computed over; per-type metadata - (description, severity, docs_group) is present only for concrete types. - - Served from the event-type registry; the response is static per - release, not per instance. - parameters: - - name: type - in: query - required: true - description: |- - The event type to describe: concrete (`sign_in.completed`), - trailing-`*` wildcard (`sign_in.*`), or bare family name - (`sign_in`). Unknown types return a 422. A bare `*` is not - accepted. - schema: - type: string - example: sign_in.* - responses: - '200': - $ref: '#/components/responses/Log.Schema' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/{event_time_and_id}: - get: - operationId: GetLog - x-speakeasy-group: logs - x-speakeasy-name-override: get - tags: - - Logs - summary: Retrieve a single log - description: |- - Returns a single log entry by its composite key ({event_time_ms}:{event_id}). - Unlike the list endpoint, this returns the full payload for the event. - parameters: - - name: event_time_and_id - in: path - required: true - description: |- - Composite identifier in the format `{event_time_ms}:{event_id}`, where - `event_time_ms` is the event timestamp as a Unix timestamp in milliseconds - and `event_id` is the UUID of the event. - schema: - type: string - example: 1776207110588:019d8e31-a1bc-7e07-9347-0fd20b25c475 - responses: - '200': - $ref: '#/components/responses/Log.Read' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '404': - $ref: '#/components/responses/ResourceNotFound' /admin_portal_link_tokens: post: operationId: createAdminPortalLinkToken @@ -17808,308 +17523,6 @@ components: description: Mappings from source role keys to destination role keys for role reassignment additionalProperties: type: string - LogApplicationContext: - type: object - description: Application context information. - properties: - id: - type: string - nullable: true - description: The application ID. - name: - type: string - nullable: true - description: The application name. - LogDomainContext: - type: object - description: Domain context information. - properties: - id: - type: string - nullable: true - description: The domain ID. - name: - type: string - nullable: true - description: The domain name. - LogEnvironmentContext: - type: object - description: Environment context for the log event. - properties: - type: - type: string - nullable: true - description: The environment type (e.g., "development", "production"). - application: - $ref: '#/components/schemas/LogApplicationContext' - domain: - $ref: '#/components/schemas/LogDomainContext' - primary_domain: - $ref: '#/components/schemas/LogDomainContext' - LogBrowserContext: - type: object - description: Browser information. - properties: - name: - type: string - nullable: true - description: The browser name. - version: - type: string - nullable: true - description: The browser version. - LogLocationContext: - type: object - description: Geographic location information. - properties: - city: - type: string - nullable: true - description: The city name. - country: - type: string - nullable: true - description: The country, as recorded for the event. - country_code: - type: string - description: |- - The ISO 3166-1 alpha-2 code of `country`. Omitted when the - country cannot be resolved to a known code. - example: US - LogDeviceContext: - type: object - description: Device information for the log event. - properties: - ip_address: - type: string - nullable: true - description: The IP address of the client. - user_agent: - type: string - nullable: true - description: The user agent string of the client. - browser: - $ref: '#/components/schemas/LogBrowserContext' - device_type: - type: string - nullable: true - description: The type of device (e.g., "desktop", "mobile", "tablet"). - is_mobile: - type: boolean - nullable: true - description: Whether the device is a mobile device. - location: - $ref: '#/components/schemas/LogLocationContext' - clerk_js_version: - type: string - nullable: true - description: The version of Clerk.js used by the client. - is_native: - type: boolean - nullable: true - description: Whether the client is a native application. - LogContext: - type: object - description: Context information about the environment and device where the event occurred. - properties: - environment: - $ref: '#/components/schemas/LogEnvironmentContext' - device: - $ref: '#/components/schemas/LogDeviceContext' - nullable: true - Log: - type: object - description: A log entry representing a recorded event. - properties: - object: - type: string - description: String representing the object's type. Always "log". - example: log - id: - type: string - format: uuid - description: Unique identifier for the log event. - event_time: - type: integer - format: int64 - description: The timestamp when the event occurred (Unix timestamp in milliseconds). - actor: - type: string - description: The actor that performed the action (e.g., user ID). - actor_type: - type: string - description: |- - The kind of principal the `actor` identifies, classified when the - event was recorded: `user` (an end user of your application), - `dashboard_user` (a member of your Clerk Dashboard workspace), - `instance_key`, `api_key`, `integration`, or `clerk_system`. - example: dashboard_user - impersonator: - type: object - nullable: true - description: The impersonator that performed the action. - properties: - user_id: - type: string - nullable: true - description: The user ID of the impersonator. - subject: - type: string - description: The subject of the event (e.g., user ID, resource ID). - type: - type: string - description: The type of the log event. - client_id: - type: string - nullable: true - description: The client ID of the request. Set on FAPI requests, unset on BAPI requests. - source: - type: string - nullable: true - description: The source service that generated the event. - session_id: - type: string - nullable: true - description: The ID of the session the event occurred in, if any. - trace_id: - type: string - description: Trace ID for distributed tracing (32 hex characters). - span_id: - type: string - description: Span ID for distributed tracing (16 hex characters). - parent_span_id: - type: string - nullable: true - description: Parent span ID for hierarchical tracing. - event_context: - $ref: '#/components/schemas/LogContext' - payload: - type: object - additionalProperties: true - description: |- - Present only when the request selected payload fields via - `payload_fields`. Partial by construction: contains just the - requested fields, keyed by their dot-paths, with fields absent - from this event's payload omitted (an empty object when the - event carries none of them). Use the single-event endpoint for - the full payload. - required: - - object - - id - - event_time - - actor - - subject - - type - - source - - trace_id - - span_id - - event_context - LogSchemaField: - type: object - description: One payload field, addressed by dot-path. - properties: - path: - type: string - description: |- - The field's dot-path (nested fields use dots, e.g. - `captcha_attempt_payload.provider`) — the exact string - `payload_filter` and `payload_fields` accept. - example: user_id - type: - type: string - enum: - - string - - boolean - - integer - - number - description: The field's data type. - optional: - type: boolean - description: |- - Whether the field is optional in the payload. Note that even - non-optional fields can be absent from a stored event when they - held their zero value at record time. - enum: - type: array - items: - type: string - description: |- - The accepted values, present for enum-backed fields (which have - type `string`). - required: - - path - - type - - optional - LogSchema: - type: object - description: |- - The payload schema of a log event type: the fields its payload - carries, addressed by the dot-paths that `payload_filter` and - `payload_fields` accept. Field entries use JSON Schema vocabulary - (`type` is the data type, `enum` the accepted values); the event - type identifier lives in `event_type`. - properties: - object: - type: string - description: String representing the object's type. Always "log_schema". - example: log_schema - event_type: - type: string - description: |- - The event type this schema describes: a concrete type - (`sign_in.completed`) or a trailing-`*` wildcard (`sign_in.*`). - A bare family name in the request (`sign_in`) is normalized to - its wildcard form here. - example: sign_in.completed - description: - type: string - description: |- - Human-readable description of the event type. Present only for - concrete types. - example: Sign in was completed - severity: - type: string - description: |- - Severity of the event type (e.g. `info`, `success`, - `warning_external`). Present only for concrete types. - example: success - docs_group: - type: string - description: |- - The documentation group the event type belongs to. Present only - for concrete types. - example: Sign-in events - matched_event_types: - type: array - items: - type: string - description: |- - The concrete event types a wildcard expanded to. Present only - for wildcard lookups, whose `fields` are the intersection across - these types. - fields: - type: array - items: - $ref: '#/components/schemas/LogSchemaField' - required: - - object - - event_type - - fields - LogWithPayload: - description: |- - A log entry with the full event payload. Returned by the - single-event endpoint. List responses use Log, whose payload is - absent unless specific fields were requested via `payload_fields`. - allOf: - - $ref: '#/components/schemas/Log' - - type: object - properties: - payload: - type: object - additionalProperties: true - description: Additional event-specific data. - required: - - payload responses: WellKnown.JWKS: description: Get the JSON Web Key Set @@ -18860,56 +18273,6 @@ components: application/json: schema: $ref: '#/components/schemas/RoleSet' - Log.List: - description: A list of log entries with cursor-based pagination. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Log' - cursor: - type: object - description: Cursor information for pagination. - properties: - starting_after: - type: string - nullable: true - description: Cursor to fetch the next page of results. - ending_before: - type: string - nullable: true - description: Cursor to fetch the previous page of results. - has_next_page: - type: boolean - description: 'Deprecated: use next_page_status instead. If true, more results may be fetched using the starting_after cursor. True when next_page_status is "true", or when it is "unknown" and the page returned data.' - next_page_status: - type: string - enum: - - 'true' - - 'false' - - unknown - description: Pagination status. "true" means more results exist, "false" means no more results, "unknown" means the query was time-windowed and more results may exist beyond the window. - retention_limit_reached: - type: boolean - description: When true, next_page_status is "false" because event_time_after was clamped to the plan's retention floor. Extending event_time_after further back will not yield additional results. - required: - - data - Log.Schema: - description: The payload schema of a log event type. - content: - application/json: - schema: - $ref: '#/components/schemas/LogSchema' - Log.Read: - description: A single log entry with full payload. - content: - application/json: - schema: - $ref: '#/components/schemas/LogWithPayload' parameters: Paginated: name: paginated diff --git a/bapi/2024-10-01.yml b/bapi/2024-10-01.yml index 21c24f3..f4511fa 100644 --- a/bapi/2024-10-01.yml +++ b/bapi/2024-10-01.yml @@ -160,10 +160,6 @@ tags: description: Manage organization domains. - name: Accountless Applications description: Create and complete accountless applications. Note that this is an experimental feature and subject to change or be removed without notice. - - name: Logs - description: |- - Logs provide a record of events that occur within your application. - Use these endpoints to retrieve log entries for compliance and debugging purposes. externalDocs: url: https://clerk.com/docs paths: @@ -9732,287 +9728,6 @@ paths: $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' - /logs: - get: - operationId: ListLogs - x-speakeasy-group: logs - x-speakeasy-name-override: list - tags: - - Logs - summary: List all logs - description: |- - Returns a list of logs for the authenticated instance. - Results are paginated using cursor-based pagination. - - The response includes a `next_page_status` field in the cursor object: - - `"true"` — more results are available; continue paginating using `starting_after`. - - `"unknown"` — the server scanned a portion of the time range and may not have reached the boundary yet. Continue paginating with the returned cursor to retrieve additional results. - - `"false"` — no more results exist within the requested range. - - Callers should always paginate until `next_page_status` is `"false"` (or cursors are absent) to ensure complete results. - parameters: - - name: limit - in: query - description: |- - Applies a limit to the number of results returned. - Can be used for paginating the results together with `starting_after` or `ending_before`. - required: false - schema: - type: integer - default: 10 - minimum: 1 - maximum: 500 - - name: starting_after - in: query - description: A cursor for pagination. Provide the starting_after cursor from a previous response to fetch the next page. - required: false - schema: - type: string - - name: ending_before - in: query - description: A cursor for pagination. Provide the ending_before cursor from a previous response to fetch the previous page. - required: false - schema: - type: string - - name: subject - in: query - description: Filter logs by subject. - required: false - schema: - type: string - - name: actor - in: query - description: Filter logs by actor - required: false - schema: - type: string - - name: trace_id - in: query - description: Filter logs by trace ID (32 hex characters). - required: false - schema: - type: string - pattern: ^[0-9a-f]{32}$ - example: 1234567890abcdef1234567890abcdef - - name: type - in: query - description: |- - Filter logs by event type (e.g., `sign_in.completed`). A trailing - `*` matches an event-type family by prefix (e.g. `sign_in.*` - matches `sign_in.created`, `sign_in.completed`, ...); the wildcard - is only allowed as the last character. - required: false - schema: - type: string - - name: client_id - in: query - description: Filter logs by client ID. - required: false - schema: - type: string - - name: impersonator_user_id - in: query - description: Filter logs by impersonator user ID. - required: false - schema: - type: string - - name: ip_address - in: query - description: Filter logs by the client IP address recorded on the event. - required: false - schema: - type: string - - name: payload_filter - in: query - style: deepObject - explode: true - description: |- - Exact-match filters on event payload fields, keyed by the field's - dot-path: `payload_filter[user_id]=user_123` or - `payload_filter[captcha_attempt_payload.provider]=turnstile`. - - Requires `type`. Fields are validated against the payload schema of - that event type (discoverable via `GET /logs/schemas`); for a - trailing-`*` type the valid fields are those common to every - matching event type. An unknown field returns a 422 listing the - allowed fields. - - One value per field — repeating a field is a 422. Values must parse - as the field's type (a non-numeric value against an integer field - is a 422) and match exactly; an event whose payload lacks the field - never matches. At most 10 filters per request, paths at most 4 - segments deep, values at most 256 characters. - - Payload filters join the same `filter_match` group as the string - filters above. - required: false - schema: - type: object - additionalProperties: - type: string - - name: payload_fields - in: query - description: |- - Comma-separated payload field dot-paths to include per returned - log: `payload_fields=user_id,strategy`. Requires `type`, and the - fields are validated against that event type's payload schema the - same way as `payload_filter` (with the same caps). - - Each returned log gains a `payload` object containing only the - requested fields, keyed by their dot-paths, with fields absent - from an event's payload omitted. Without this parameter, list - responses carry no `payload` key. - - Not allowed together with `filter_match=any`: the fields are - validated against `type`'s schema, and with `any` the type filter - no longer constrains every returned row. - required: false - schema: - type: string - - name: filter_match - in: query - description: |- - Controls how `subject`, `type`, `actor`, `trace_id`, `client_id`, - `impersonator_user_id`, `ip_address`, and `payload_filter` entries - are combined: `all` (default) requires every supplied filter to - match; `any` returns events that match at least one of the - supplied filters. `event_time_after`, `event_time_before`, and - `end_user_facing_only` are always ANDed with the (possibly OR-ed) - string filter group. - required: false - schema: - type: string - enum: - - all - - any - default: all - - name: event_time_after - in: query - description: |- - Sets a lower time boundary for the query (Unix timestamp in milliseconds). - Only events on or after this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705315800000 - - name: event_time_before - in: query - description: |- - Sets an upper time boundary for the query (Unix timestamp in milliseconds). - Only events on or before this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705319400000 - - name: end_user_facing_only - in: query - description: |- - When set to true, only returns events that are marked as end-user facing. - When set to false or omitted, returns all events. - required: false - schema: - type: boolean - responses: - '200': - $ref: '#/components/responses/Log.List' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/schemas: - get: - operationId: GetLogSchema - x-speakeasy-group: logs - x-speakeasy-name-override: getSchema - tags: - - Logs - summary: Retrieve the payload schema of a log event type - description: |- - Returns the payload schema of a log event type: which fields its - payload carries, addressed by the dot-paths that the `payload_filter` - and `payload_fields` parameters of the list endpoint accept. - - `type` accepts a concrete event type (`sign_in.completed`), a - trailing-`*` wildcard (`sign_in.*`), or a bare family name (`sign_in`, - normalized to `sign_in.*` when no concrete type matches — the - response's `event_type` - echoes the normalized form). For wildcard lookups the fields are the - intersection across every matching event type, and `matched_event_types` - lists what the intersection was computed over; per-type metadata - (description, severity, docs_group) is present only for concrete types. - - Served from the event-type registry; the response is static per - release, not per instance. - parameters: - - name: type - in: query - required: true - description: |- - The event type to describe: concrete (`sign_in.completed`), - trailing-`*` wildcard (`sign_in.*`), or bare family name - (`sign_in`). Unknown types return a 422. A bare `*` is not - accepted. - schema: - type: string - example: sign_in.* - responses: - '200': - $ref: '#/components/responses/Log.Schema' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/{event_time_and_id}: - get: - operationId: GetLog - x-speakeasy-group: logs - x-speakeasy-name-override: get - tags: - - Logs - summary: Retrieve a single log - description: |- - Returns a single log entry by its composite key ({event_time_ms}:{event_id}). - Unlike the list endpoint, this returns the full payload for the event. - parameters: - - name: event_time_and_id - in: path - required: true - description: |- - Composite identifier in the format `{event_time_ms}:{event_id}`, where - `event_time_ms` is the event timestamp as a Unix timestamp in milliseconds - and `event_id` is the UUID of the event. - schema: - type: string - example: 1776207110588:019d8e31-a1bc-7e07-9347-0fd20b25c475 - responses: - '200': - $ref: '#/components/responses/Log.Read' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '404': - $ref: '#/components/responses/ResourceNotFound' /admin_portal_link_tokens: post: operationId: createAdminPortalLinkToken @@ -18141,308 +17856,6 @@ components: description: Mappings from source role keys to destination role keys for role reassignment additionalProperties: type: string - LogApplicationContext: - type: object - description: Application context information. - properties: - id: - type: string - nullable: true - description: The application ID. - name: - type: string - nullable: true - description: The application name. - LogDomainContext: - type: object - description: Domain context information. - properties: - id: - type: string - nullable: true - description: The domain ID. - name: - type: string - nullable: true - description: The domain name. - LogEnvironmentContext: - type: object - description: Environment context for the log event. - properties: - type: - type: string - nullable: true - description: The environment type (e.g., "development", "production"). - application: - $ref: '#/components/schemas/LogApplicationContext' - domain: - $ref: '#/components/schemas/LogDomainContext' - primary_domain: - $ref: '#/components/schemas/LogDomainContext' - LogBrowserContext: - type: object - description: Browser information. - properties: - name: - type: string - nullable: true - description: The browser name. - version: - type: string - nullable: true - description: The browser version. - LogLocationContext: - type: object - description: Geographic location information. - properties: - city: - type: string - nullable: true - description: The city name. - country: - type: string - nullable: true - description: The country, as recorded for the event. - country_code: - type: string - description: |- - The ISO 3166-1 alpha-2 code of `country`. Omitted when the - country cannot be resolved to a known code. - example: US - LogDeviceContext: - type: object - description: Device information for the log event. - properties: - ip_address: - type: string - nullable: true - description: The IP address of the client. - user_agent: - type: string - nullable: true - description: The user agent string of the client. - browser: - $ref: '#/components/schemas/LogBrowserContext' - device_type: - type: string - nullable: true - description: The type of device (e.g., "desktop", "mobile", "tablet"). - is_mobile: - type: boolean - nullable: true - description: Whether the device is a mobile device. - location: - $ref: '#/components/schemas/LogLocationContext' - clerk_js_version: - type: string - nullable: true - description: The version of Clerk.js used by the client. - is_native: - type: boolean - nullable: true - description: Whether the client is a native application. - LogContext: - type: object - description: Context information about the environment and device where the event occurred. - properties: - environment: - $ref: '#/components/schemas/LogEnvironmentContext' - device: - $ref: '#/components/schemas/LogDeviceContext' - nullable: true - Log: - type: object - description: A log entry representing a recorded event. - properties: - object: - type: string - description: String representing the object's type. Always "log". - example: log - id: - type: string - format: uuid - description: Unique identifier for the log event. - event_time: - type: integer - format: int64 - description: The timestamp when the event occurred (Unix timestamp in milliseconds). - actor: - type: string - description: The actor that performed the action (e.g., user ID). - actor_type: - type: string - description: |- - The kind of principal the `actor` identifies, classified when the - event was recorded: `user` (an end user of your application), - `dashboard_user` (a member of your Clerk Dashboard workspace), - `instance_key`, `api_key`, `integration`, or `clerk_system`. - example: dashboard_user - impersonator: - type: object - nullable: true - description: The impersonator that performed the action. - properties: - user_id: - type: string - nullable: true - description: The user ID of the impersonator. - subject: - type: string - description: The subject of the event (e.g., user ID, resource ID). - type: - type: string - description: The type of the log event. - client_id: - type: string - nullable: true - description: The client ID of the request. Set on FAPI requests, unset on BAPI requests. - source: - type: string - nullable: true - description: The source service that generated the event. - session_id: - type: string - nullable: true - description: The ID of the session the event occurred in, if any. - trace_id: - type: string - description: Trace ID for distributed tracing (32 hex characters). - span_id: - type: string - description: Span ID for distributed tracing (16 hex characters). - parent_span_id: - type: string - nullable: true - description: Parent span ID for hierarchical tracing. - event_context: - $ref: '#/components/schemas/LogContext' - payload: - type: object - additionalProperties: true - description: |- - Present only when the request selected payload fields via - `payload_fields`. Partial by construction: contains just the - requested fields, keyed by their dot-paths, with fields absent - from this event's payload omitted (an empty object when the - event carries none of them). Use the single-event endpoint for - the full payload. - required: - - object - - id - - event_time - - actor - - subject - - type - - source - - trace_id - - span_id - - event_context - LogSchemaField: - type: object - description: One payload field, addressed by dot-path. - properties: - path: - type: string - description: |- - The field's dot-path (nested fields use dots, e.g. - `captcha_attempt_payload.provider`) — the exact string - `payload_filter` and `payload_fields` accept. - example: user_id - type: - type: string - enum: - - string - - boolean - - integer - - number - description: The field's data type. - optional: - type: boolean - description: |- - Whether the field is optional in the payload. Note that even - non-optional fields can be absent from a stored event when they - held their zero value at record time. - enum: - type: array - items: - type: string - description: |- - The accepted values, present for enum-backed fields (which have - type `string`). - required: - - path - - type - - optional - LogSchema: - type: object - description: |- - The payload schema of a log event type: the fields its payload - carries, addressed by the dot-paths that `payload_filter` and - `payload_fields` accept. Field entries use JSON Schema vocabulary - (`type` is the data type, `enum` the accepted values); the event - type identifier lives in `event_type`. - properties: - object: - type: string - description: String representing the object's type. Always "log_schema". - example: log_schema - event_type: - type: string - description: |- - The event type this schema describes: a concrete type - (`sign_in.completed`) or a trailing-`*` wildcard (`sign_in.*`). - A bare family name in the request (`sign_in`) is normalized to - its wildcard form here. - example: sign_in.completed - description: - type: string - description: |- - Human-readable description of the event type. Present only for - concrete types. - example: Sign in was completed - severity: - type: string - description: |- - Severity of the event type (e.g. `info`, `success`, - `warning_external`). Present only for concrete types. - example: success - docs_group: - type: string - description: |- - The documentation group the event type belongs to. Present only - for concrete types. - example: Sign-in events - matched_event_types: - type: array - items: - type: string - description: |- - The concrete event types a wildcard expanded to. Present only - for wildcard lookups, whose `fields` are the intersection across - these types. - fields: - type: array - items: - $ref: '#/components/schemas/LogSchemaField' - required: - - object - - event_type - - fields - LogWithPayload: - description: |- - A log entry with the full event payload. Returned by the - single-event endpoint. List responses use Log, whose payload is - absent unless specific fields were requested via `payload_fields`. - allOf: - - $ref: '#/components/schemas/Log' - - type: object - properties: - payload: - type: object - additionalProperties: true - description: Additional event-specific data. - required: - - payload responses: WellKnown.JWKS: description: Get the JSON Web Key Set @@ -19205,56 +18618,6 @@ components: application/json: schema: $ref: '#/components/schemas/RoleSet' - Log.List: - description: A list of log entries with cursor-based pagination. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Log' - cursor: - type: object - description: Cursor information for pagination. - properties: - starting_after: - type: string - nullable: true - description: Cursor to fetch the next page of results. - ending_before: - type: string - nullable: true - description: Cursor to fetch the previous page of results. - has_next_page: - type: boolean - description: 'Deprecated: use next_page_status instead. If true, more results may be fetched using the starting_after cursor. True when next_page_status is "true", or when it is "unknown" and the page returned data.' - next_page_status: - type: string - enum: - - 'true' - - 'false' - - unknown - description: Pagination status. "true" means more results exist, "false" means no more results, "unknown" means the query was time-windowed and more results may exist beyond the window. - retention_limit_reached: - type: boolean - description: When true, next_page_status is "false" because event_time_after was clamped to the plan's retention floor. Extending event_time_after further back will not yield additional results. - required: - - data - Log.Schema: - description: The payload schema of a log event type. - content: - application/json: - schema: - $ref: '#/components/schemas/LogSchema' - Log.Read: - description: A single log entry with full payload. - content: - application/json: - schema: - $ref: '#/components/schemas/LogWithPayload' parameters: Paginated: name: paginated diff --git a/bapi/2025-04-10.yml b/bapi/2025-04-10.yml index ac6951f..422d461 100644 --- a/bapi/2025-04-10.yml +++ b/bapi/2025-04-10.yml @@ -162,10 +162,6 @@ tags: description: Manage organization domains. - name: Accountless Applications description: Create and complete accountless applications. Note that this is an experimental feature and subject to change or be removed without notice. - - name: Logs - description: |- - Logs provide a record of events that occur within your application. - Use these endpoints to retrieve log entries for compliance and debugging purposes. externalDocs: url: https://clerk.com/docs paths: @@ -9724,287 +9720,6 @@ paths: $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' - /logs: - get: - operationId: ListLogs - x-speakeasy-group: logs - x-speakeasy-name-override: list - tags: - - Logs - summary: List all logs - description: |- - Returns a list of logs for the authenticated instance. - Results are paginated using cursor-based pagination. - - The response includes a `next_page_status` field in the cursor object: - - `"true"` — more results are available; continue paginating using `starting_after`. - - `"unknown"` — the server scanned a portion of the time range and may not have reached the boundary yet. Continue paginating with the returned cursor to retrieve additional results. - - `"false"` — no more results exist within the requested range. - - Callers should always paginate until `next_page_status` is `"false"` (or cursors are absent) to ensure complete results. - parameters: - - name: limit - in: query - description: |- - Applies a limit to the number of results returned. - Can be used for paginating the results together with `starting_after` or `ending_before`. - required: false - schema: - type: integer - default: 10 - minimum: 1 - maximum: 500 - - name: starting_after - in: query - description: A cursor for pagination. Provide the starting_after cursor from a previous response to fetch the next page. - required: false - schema: - type: string - - name: ending_before - in: query - description: A cursor for pagination. Provide the ending_before cursor from a previous response to fetch the previous page. - required: false - schema: - type: string - - name: subject - in: query - description: Filter logs by subject. - required: false - schema: - type: string - - name: actor - in: query - description: Filter logs by actor - required: false - schema: - type: string - - name: trace_id - in: query - description: Filter logs by trace ID (32 hex characters). - required: false - schema: - type: string - pattern: ^[0-9a-f]{32}$ - example: 1234567890abcdef1234567890abcdef - - name: type - in: query - description: |- - Filter logs by event type (e.g., `sign_in.completed`). A trailing - `*` matches an event-type family by prefix (e.g. `sign_in.*` - matches `sign_in.created`, `sign_in.completed`, ...); the wildcard - is only allowed as the last character. - required: false - schema: - type: string - - name: client_id - in: query - description: Filter logs by client ID. - required: false - schema: - type: string - - name: impersonator_user_id - in: query - description: Filter logs by impersonator user ID. - required: false - schema: - type: string - - name: ip_address - in: query - description: Filter logs by the client IP address recorded on the event. - required: false - schema: - type: string - - name: payload_filter - in: query - style: deepObject - explode: true - description: |- - Exact-match filters on event payload fields, keyed by the field's - dot-path: `payload_filter[user_id]=user_123` or - `payload_filter[captcha_attempt_payload.provider]=turnstile`. - - Requires `type`. Fields are validated against the payload schema of - that event type (discoverable via `GET /logs/schemas`); for a - trailing-`*` type the valid fields are those common to every - matching event type. An unknown field returns a 422 listing the - allowed fields. - - One value per field — repeating a field is a 422. Values must parse - as the field's type (a non-numeric value against an integer field - is a 422) and match exactly; an event whose payload lacks the field - never matches. At most 10 filters per request, paths at most 4 - segments deep, values at most 256 characters. - - Payload filters join the same `filter_match` group as the string - filters above. - required: false - schema: - type: object - additionalProperties: - type: string - - name: payload_fields - in: query - description: |- - Comma-separated payload field dot-paths to include per returned - log: `payload_fields=user_id,strategy`. Requires `type`, and the - fields are validated against that event type's payload schema the - same way as `payload_filter` (with the same caps). - - Each returned log gains a `payload` object containing only the - requested fields, keyed by their dot-paths, with fields absent - from an event's payload omitted. Without this parameter, list - responses carry no `payload` key. - - Not allowed together with `filter_match=any`: the fields are - validated against `type`'s schema, and with `any` the type filter - no longer constrains every returned row. - required: false - schema: - type: string - - name: filter_match - in: query - description: |- - Controls how `subject`, `type`, `actor`, `trace_id`, `client_id`, - `impersonator_user_id`, `ip_address`, and `payload_filter` entries - are combined: `all` (default) requires every supplied filter to - match; `any` returns events that match at least one of the - supplied filters. `event_time_after`, `event_time_before`, and - `end_user_facing_only` are always ANDed with the (possibly OR-ed) - string filter group. - required: false - schema: - type: string - enum: - - all - - any - default: all - - name: event_time_after - in: query - description: |- - Sets a lower time boundary for the query (Unix timestamp in milliseconds). - Only events on or after this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705315800000 - - name: event_time_before - in: query - description: |- - Sets an upper time boundary for the query (Unix timestamp in milliseconds). - Only events on or before this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705319400000 - - name: end_user_facing_only - in: query - description: |- - When set to true, only returns events that are marked as end-user facing. - When set to false or omitted, returns all events. - required: false - schema: - type: boolean - responses: - '200': - $ref: '#/components/responses/Log.List' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/schemas: - get: - operationId: GetLogSchema - x-speakeasy-group: logs - x-speakeasy-name-override: getSchema - tags: - - Logs - summary: Retrieve the payload schema of a log event type - description: |- - Returns the payload schema of a log event type: which fields its - payload carries, addressed by the dot-paths that the `payload_filter` - and `payload_fields` parameters of the list endpoint accept. - - `type` accepts a concrete event type (`sign_in.completed`), a - trailing-`*` wildcard (`sign_in.*`), or a bare family name (`sign_in`, - normalized to `sign_in.*` when no concrete type matches — the - response's `event_type` - echoes the normalized form). For wildcard lookups the fields are the - intersection across every matching event type, and `matched_event_types` - lists what the intersection was computed over; per-type metadata - (description, severity, docs_group) is present only for concrete types. - - Served from the event-type registry; the response is static per - release, not per instance. - parameters: - - name: type - in: query - required: true - description: |- - The event type to describe: concrete (`sign_in.completed`), - trailing-`*` wildcard (`sign_in.*`), or bare family name - (`sign_in`). Unknown types return a 422. A bare `*` is not - accepted. - schema: - type: string - example: sign_in.* - responses: - '200': - $ref: '#/components/responses/Log.Schema' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/{event_time_and_id}: - get: - operationId: GetLog - x-speakeasy-group: logs - x-speakeasy-name-override: get - tags: - - Logs - summary: Retrieve a single log - description: |- - Returns a single log entry by its composite key ({event_time_ms}:{event_id}). - Unlike the list endpoint, this returns the full payload for the event. - parameters: - - name: event_time_and_id - in: path - required: true - description: |- - Composite identifier in the format `{event_time_ms}:{event_id}`, where - `event_time_ms` is the event timestamp as a Unix timestamp in milliseconds - and `event_id` is the UUID of the event. - schema: - type: string - example: 1776207110588:019d8e31-a1bc-7e07-9347-0fd20b25c475 - responses: - '200': - $ref: '#/components/responses/Log.Read' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '404': - $ref: '#/components/responses/ResourceNotFound' /admin_portal_link_tokens: post: operationId: createAdminPortalLinkToken @@ -18146,308 +17861,6 @@ components: description: Mappings from source role keys to destination role keys for role reassignment additionalProperties: type: string - LogApplicationContext: - type: object - description: Application context information. - properties: - id: - type: string - nullable: true - description: The application ID. - name: - type: string - nullable: true - description: The application name. - LogDomainContext: - type: object - description: Domain context information. - properties: - id: - type: string - nullable: true - description: The domain ID. - name: - type: string - nullable: true - description: The domain name. - LogEnvironmentContext: - type: object - description: Environment context for the log event. - properties: - type: - type: string - nullable: true - description: The environment type (e.g., "development", "production"). - application: - $ref: '#/components/schemas/LogApplicationContext' - domain: - $ref: '#/components/schemas/LogDomainContext' - primary_domain: - $ref: '#/components/schemas/LogDomainContext' - LogBrowserContext: - type: object - description: Browser information. - properties: - name: - type: string - nullable: true - description: The browser name. - version: - type: string - nullable: true - description: The browser version. - LogLocationContext: - type: object - description: Geographic location information. - properties: - city: - type: string - nullable: true - description: The city name. - country: - type: string - nullable: true - description: The country, as recorded for the event. - country_code: - type: string - description: |- - The ISO 3166-1 alpha-2 code of `country`. Omitted when the - country cannot be resolved to a known code. - example: US - LogDeviceContext: - type: object - description: Device information for the log event. - properties: - ip_address: - type: string - nullable: true - description: The IP address of the client. - user_agent: - type: string - nullable: true - description: The user agent string of the client. - browser: - $ref: '#/components/schemas/LogBrowserContext' - device_type: - type: string - nullable: true - description: The type of device (e.g., "desktop", "mobile", "tablet"). - is_mobile: - type: boolean - nullable: true - description: Whether the device is a mobile device. - location: - $ref: '#/components/schemas/LogLocationContext' - clerk_js_version: - type: string - nullable: true - description: The version of Clerk.js used by the client. - is_native: - type: boolean - nullable: true - description: Whether the client is a native application. - LogContext: - type: object - description: Context information about the environment and device where the event occurred. - properties: - environment: - $ref: '#/components/schemas/LogEnvironmentContext' - device: - $ref: '#/components/schemas/LogDeviceContext' - nullable: true - Log: - type: object - description: A log entry representing a recorded event. - properties: - object: - type: string - description: String representing the object's type. Always "log". - example: log - id: - type: string - format: uuid - description: Unique identifier for the log event. - event_time: - type: integer - format: int64 - description: The timestamp when the event occurred (Unix timestamp in milliseconds). - actor: - type: string - description: The actor that performed the action (e.g., user ID). - actor_type: - type: string - description: |- - The kind of principal the `actor` identifies, classified when the - event was recorded: `user` (an end user of your application), - `dashboard_user` (a member of your Clerk Dashboard workspace), - `instance_key`, `api_key`, `integration`, or `clerk_system`. - example: dashboard_user - impersonator: - type: object - nullable: true - description: The impersonator that performed the action. - properties: - user_id: - type: string - nullable: true - description: The user ID of the impersonator. - subject: - type: string - description: The subject of the event (e.g., user ID, resource ID). - type: - type: string - description: The type of the log event. - client_id: - type: string - nullable: true - description: The client ID of the request. Set on FAPI requests, unset on BAPI requests. - source: - type: string - nullable: true - description: The source service that generated the event. - session_id: - type: string - nullable: true - description: The ID of the session the event occurred in, if any. - trace_id: - type: string - description: Trace ID for distributed tracing (32 hex characters). - span_id: - type: string - description: Span ID for distributed tracing (16 hex characters). - parent_span_id: - type: string - nullable: true - description: Parent span ID for hierarchical tracing. - event_context: - $ref: '#/components/schemas/LogContext' - payload: - type: object - additionalProperties: true - description: |- - Present only when the request selected payload fields via - `payload_fields`. Partial by construction: contains just the - requested fields, keyed by their dot-paths, with fields absent - from this event's payload omitted (an empty object when the - event carries none of them). Use the single-event endpoint for - the full payload. - required: - - object - - id - - event_time - - actor - - subject - - type - - source - - trace_id - - span_id - - event_context - LogSchemaField: - type: object - description: One payload field, addressed by dot-path. - properties: - path: - type: string - description: |- - The field's dot-path (nested fields use dots, e.g. - `captcha_attempt_payload.provider`) — the exact string - `payload_filter` and `payload_fields` accept. - example: user_id - type: - type: string - enum: - - string - - boolean - - integer - - number - description: The field's data type. - optional: - type: boolean - description: |- - Whether the field is optional in the payload. Note that even - non-optional fields can be absent from a stored event when they - held their zero value at record time. - enum: - type: array - items: - type: string - description: |- - The accepted values, present for enum-backed fields (which have - type `string`). - required: - - path - - type - - optional - LogSchema: - type: object - description: |- - The payload schema of a log event type: the fields its payload - carries, addressed by the dot-paths that `payload_filter` and - `payload_fields` accept. Field entries use JSON Schema vocabulary - (`type` is the data type, `enum` the accepted values); the event - type identifier lives in `event_type`. - properties: - object: - type: string - description: String representing the object's type. Always "log_schema". - example: log_schema - event_type: - type: string - description: |- - The event type this schema describes: a concrete type - (`sign_in.completed`) or a trailing-`*` wildcard (`sign_in.*`). - A bare family name in the request (`sign_in`) is normalized to - its wildcard form here. - example: sign_in.completed - description: - type: string - description: |- - Human-readable description of the event type. Present only for - concrete types. - example: Sign in was completed - severity: - type: string - description: |- - Severity of the event type (e.g. `info`, `success`, - `warning_external`). Present only for concrete types. - example: success - docs_group: - type: string - description: |- - The documentation group the event type belongs to. Present only - for concrete types. - example: Sign-in events - matched_event_types: - type: array - items: - type: string - description: |- - The concrete event types a wildcard expanded to. Present only - for wildcard lookups, whose `fields` are the intersection across - these types. - fields: - type: array - items: - $ref: '#/components/schemas/LogSchemaField' - required: - - object - - event_type - - fields - LogWithPayload: - description: |- - A log entry with the full event payload. Returned by the - single-event endpoint. List responses use Log, whose payload is - absent unless specific fields were requested via `payload_fields`. - allOf: - - $ref: '#/components/schemas/Log' - - type: object - properties: - payload: - type: object - additionalProperties: true - description: Additional event-specific data. - required: - - payload responses: WellKnown.JWKS: description: Get the JSON Web Key Set @@ -19210,56 +18623,6 @@ components: application/json: schema: $ref: '#/components/schemas/RoleSet' - Log.List: - description: A list of log entries with cursor-based pagination. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Log' - cursor: - type: object - description: Cursor information for pagination. - properties: - starting_after: - type: string - nullable: true - description: Cursor to fetch the next page of results. - ending_before: - type: string - nullable: true - description: Cursor to fetch the previous page of results. - has_next_page: - type: boolean - description: 'Deprecated: use next_page_status instead. If true, more results may be fetched using the starting_after cursor. True when next_page_status is "true", or when it is "unknown" and the page returned data.' - next_page_status: - type: string - enum: - - 'true' - - 'false' - - unknown - description: Pagination status. "true" means more results exist, "false" means no more results, "unknown" means the query was time-windowed and more results may exist beyond the window. - retention_limit_reached: - type: boolean - description: When true, next_page_status is "false" because event_time_after was clamped to the plan's retention floor. Extending event_time_after further back will not yield additional results. - required: - - data - Log.Schema: - description: The payload schema of a log event type. - content: - application/json: - schema: - $ref: '#/components/schemas/LogSchema' - Log.Read: - description: A single log entry with full payload. - content: - application/json: - schema: - $ref: '#/components/schemas/LogWithPayload' parameters: Paginated: name: paginated diff --git a/bapi/2025-11-10.yml b/bapi/2025-11-10.yml index f2d84d6..40a321c 100644 --- a/bapi/2025-11-10.yml +++ b/bapi/2025-11-10.yml @@ -168,10 +168,6 @@ tags: description: Manage organization domains. - name: Accountless Applications description: Create and complete accountless applications. Note that this is an experimental feature and subject to change or be removed without notice. - - name: Logs - description: |- - Logs provide a record of events that occur within your application. - Use these endpoints to retrieve log entries for compliance and debugging purposes. externalDocs: url: https://clerk.com/docs paths: @@ -10087,287 +10083,6 @@ paths: $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' - /logs: - get: - operationId: ListLogs - x-speakeasy-group: logs - x-speakeasy-name-override: list - tags: - - Logs - summary: List all logs - description: |- - Returns a list of logs for the authenticated instance. - Results are paginated using cursor-based pagination. - - The response includes a `next_page_status` field in the cursor object: - - `"true"` — more results are available; continue paginating using `starting_after`. - - `"unknown"` — the server scanned a portion of the time range and may not have reached the boundary yet. Continue paginating with the returned cursor to retrieve additional results. - - `"false"` — no more results exist within the requested range. - - Callers should always paginate until `next_page_status` is `"false"` (or cursors are absent) to ensure complete results. - parameters: - - name: limit - in: query - description: |- - Applies a limit to the number of results returned. - Can be used for paginating the results together with `starting_after` or `ending_before`. - required: false - schema: - type: integer - default: 10 - minimum: 1 - maximum: 500 - - name: starting_after - in: query - description: A cursor for pagination. Provide the starting_after cursor from a previous response to fetch the next page. - required: false - schema: - type: string - - name: ending_before - in: query - description: A cursor for pagination. Provide the ending_before cursor from a previous response to fetch the previous page. - required: false - schema: - type: string - - name: subject - in: query - description: Filter logs by subject. - required: false - schema: - type: string - - name: actor - in: query - description: Filter logs by actor - required: false - schema: - type: string - - name: trace_id - in: query - description: Filter logs by trace ID (32 hex characters). - required: false - schema: - type: string - pattern: ^[0-9a-f]{32}$ - example: 1234567890abcdef1234567890abcdef - - name: type - in: query - description: |- - Filter logs by event type (e.g., `sign_in.completed`). A trailing - `*` matches an event-type family by prefix (e.g. `sign_in.*` - matches `sign_in.created`, `sign_in.completed`, ...); the wildcard - is only allowed as the last character. - required: false - schema: - type: string - - name: client_id - in: query - description: Filter logs by client ID. - required: false - schema: - type: string - - name: impersonator_user_id - in: query - description: Filter logs by impersonator user ID. - required: false - schema: - type: string - - name: ip_address - in: query - description: Filter logs by the client IP address recorded on the event. - required: false - schema: - type: string - - name: payload_filter - in: query - style: deepObject - explode: true - description: |- - Exact-match filters on event payload fields, keyed by the field's - dot-path: `payload_filter[user_id]=user_123` or - `payload_filter[captcha_attempt_payload.provider]=turnstile`. - - Requires `type`. Fields are validated against the payload schema of - that event type (discoverable via `GET /logs/schemas`); for a - trailing-`*` type the valid fields are those common to every - matching event type. An unknown field returns a 422 listing the - allowed fields. - - One value per field — repeating a field is a 422. Values must parse - as the field's type (a non-numeric value against an integer field - is a 422) and match exactly; an event whose payload lacks the field - never matches. At most 10 filters per request, paths at most 4 - segments deep, values at most 256 characters. - - Payload filters join the same `filter_match` group as the string - filters above. - required: false - schema: - type: object - additionalProperties: - type: string - - name: payload_fields - in: query - description: |- - Comma-separated payload field dot-paths to include per returned - log: `payload_fields=user_id,strategy`. Requires `type`, and the - fields are validated against that event type's payload schema the - same way as `payload_filter` (with the same caps). - - Each returned log gains a `payload` object containing only the - requested fields, keyed by their dot-paths, with fields absent - from an event's payload omitted. Without this parameter, list - responses carry no `payload` key. - - Not allowed together with `filter_match=any`: the fields are - validated against `type`'s schema, and with `any` the type filter - no longer constrains every returned row. - required: false - schema: - type: string - - name: filter_match - in: query - description: |- - Controls how `subject`, `type`, `actor`, `trace_id`, `client_id`, - `impersonator_user_id`, `ip_address`, and `payload_filter` entries - are combined: `all` (default) requires every supplied filter to - match; `any` returns events that match at least one of the - supplied filters. `event_time_after`, `event_time_before`, and - `end_user_facing_only` are always ANDed with the (possibly OR-ed) - string filter group. - required: false - schema: - type: string - enum: - - all - - any - default: all - - name: event_time_after - in: query - description: |- - Sets a lower time boundary for the query (Unix timestamp in milliseconds). - Only events on or after this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705315800000 - - name: event_time_before - in: query - description: |- - Sets an upper time boundary for the query (Unix timestamp in milliseconds). - Only events on or before this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705319400000 - - name: end_user_facing_only - in: query - description: |- - When set to true, only returns events that are marked as end-user facing. - When set to false or omitted, returns all events. - required: false - schema: - type: boolean - responses: - '200': - $ref: '#/components/responses/Log.List' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/schemas: - get: - operationId: GetLogSchema - x-speakeasy-group: logs - x-speakeasy-name-override: getSchema - tags: - - Logs - summary: Retrieve the payload schema of a log event type - description: |- - Returns the payload schema of a log event type: which fields its - payload carries, addressed by the dot-paths that the `payload_filter` - and `payload_fields` parameters of the list endpoint accept. - - `type` accepts a concrete event type (`sign_in.completed`), a - trailing-`*` wildcard (`sign_in.*`), or a bare family name (`sign_in`, - normalized to `sign_in.*` when no concrete type matches — the - response's `event_type` - echoes the normalized form). For wildcard lookups the fields are the - intersection across every matching event type, and `matched_event_types` - lists what the intersection was computed over; per-type metadata - (description, severity, docs_group) is present only for concrete types. - - Served from the event-type registry; the response is static per - release, not per instance. - parameters: - - name: type - in: query - required: true - description: |- - The event type to describe: concrete (`sign_in.completed`), - trailing-`*` wildcard (`sign_in.*`), or bare family name - (`sign_in`). Unknown types return a 422. A bare `*` is not - accepted. - schema: - type: string - example: sign_in.* - responses: - '200': - $ref: '#/components/responses/Log.Schema' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/{event_time_and_id}: - get: - operationId: GetLog - x-speakeasy-group: logs - x-speakeasy-name-override: get - tags: - - Logs - summary: Retrieve a single log - description: |- - Returns a single log entry by its composite key ({event_time_ms}:{event_id}). - Unlike the list endpoint, this returns the full payload for the event. - parameters: - - name: event_time_and_id - in: path - required: true - description: |- - Composite identifier in the format `{event_time_ms}:{event_id}`, where - `event_time_ms` is the event timestamp as a Unix timestamp in milliseconds - and `event_id` is the UUID of the event. - schema: - type: string - example: 1776207110588:019d8e31-a1bc-7e07-9347-0fd20b25c475 - responses: - '200': - $ref: '#/components/responses/Log.Read' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '404': - $ref: '#/components/responses/ResourceNotFound' /scim_directories: get: operationId: ListSCIMDirectories @@ -19746,308 +19461,6 @@ components: description: Mappings from source role keys to destination role keys for role reassignment additionalProperties: type: string - LogApplicationContext: - type: object - description: Application context information. - properties: - id: - type: string - nullable: true - description: The application ID. - name: - type: string - nullable: true - description: The application name. - LogDomainContext: - type: object - description: Domain context information. - properties: - id: - type: string - nullable: true - description: The domain ID. - name: - type: string - nullable: true - description: The domain name. - LogEnvironmentContext: - type: object - description: Environment context for the log event. - properties: - type: - type: string - nullable: true - description: The environment type (e.g., "development", "production"). - application: - $ref: '#/components/schemas/LogApplicationContext' - domain: - $ref: '#/components/schemas/LogDomainContext' - primary_domain: - $ref: '#/components/schemas/LogDomainContext' - LogBrowserContext: - type: object - description: Browser information. - properties: - name: - type: string - nullable: true - description: The browser name. - version: - type: string - nullable: true - description: The browser version. - LogLocationContext: - type: object - description: Geographic location information. - properties: - city: - type: string - nullable: true - description: The city name. - country: - type: string - nullable: true - description: The country, as recorded for the event. - country_code: - type: string - description: |- - The ISO 3166-1 alpha-2 code of `country`. Omitted when the - country cannot be resolved to a known code. - example: US - LogDeviceContext: - type: object - description: Device information for the log event. - properties: - ip_address: - type: string - nullable: true - description: The IP address of the client. - user_agent: - type: string - nullable: true - description: The user agent string of the client. - browser: - $ref: '#/components/schemas/LogBrowserContext' - device_type: - type: string - nullable: true - description: The type of device (e.g., "desktop", "mobile", "tablet"). - is_mobile: - type: boolean - nullable: true - description: Whether the device is a mobile device. - location: - $ref: '#/components/schemas/LogLocationContext' - clerk_js_version: - type: string - nullable: true - description: The version of Clerk.js used by the client. - is_native: - type: boolean - nullable: true - description: Whether the client is a native application. - LogContext: - type: object - description: Context information about the environment and device where the event occurred. - properties: - environment: - $ref: '#/components/schemas/LogEnvironmentContext' - device: - $ref: '#/components/schemas/LogDeviceContext' - nullable: true - Log: - type: object - description: A log entry representing a recorded event. - properties: - object: - type: string - description: String representing the object's type. Always "log". - example: log - id: - type: string - format: uuid - description: Unique identifier for the log event. - event_time: - type: integer - format: int64 - description: The timestamp when the event occurred (Unix timestamp in milliseconds). - actor: - type: string - description: The actor that performed the action (e.g., user ID). - actor_type: - type: string - description: |- - The kind of principal the `actor` identifies, classified when the - event was recorded: `user` (an end user of your application), - `dashboard_user` (a member of your Clerk Dashboard workspace), - `instance_key`, `api_key`, `integration`, or `clerk_system`. - example: dashboard_user - impersonator: - type: object - nullable: true - description: The impersonator that performed the action. - properties: - user_id: - type: string - nullable: true - description: The user ID of the impersonator. - subject: - type: string - description: The subject of the event (e.g., user ID, resource ID). - type: - type: string - description: The type of the log event. - client_id: - type: string - nullable: true - description: The client ID of the request. Set on FAPI requests, unset on BAPI requests. - source: - type: string - nullable: true - description: The source service that generated the event. - session_id: - type: string - nullable: true - description: The ID of the session the event occurred in, if any. - trace_id: - type: string - description: Trace ID for distributed tracing (32 hex characters). - span_id: - type: string - description: Span ID for distributed tracing (16 hex characters). - parent_span_id: - type: string - nullable: true - description: Parent span ID for hierarchical tracing. - event_context: - $ref: '#/components/schemas/LogContext' - payload: - type: object - additionalProperties: true - description: |- - Present only when the request selected payload fields via - `payload_fields`. Partial by construction: contains just the - requested fields, keyed by their dot-paths, with fields absent - from this event's payload omitted (an empty object when the - event carries none of them). Use the single-event endpoint for - the full payload. - required: - - object - - id - - event_time - - actor - - subject - - type - - source - - trace_id - - span_id - - event_context - LogSchemaField: - type: object - description: One payload field, addressed by dot-path. - properties: - path: - type: string - description: |- - The field's dot-path (nested fields use dots, e.g. - `captcha_attempt_payload.provider`) — the exact string - `payload_filter` and `payload_fields` accept. - example: user_id - type: - type: string - enum: - - string - - boolean - - integer - - number - description: The field's data type. - optional: - type: boolean - description: |- - Whether the field is optional in the payload. Note that even - non-optional fields can be absent from a stored event when they - held their zero value at record time. - enum: - type: array - items: - type: string - description: |- - The accepted values, present for enum-backed fields (which have - type `string`). - required: - - path - - type - - optional - LogSchema: - type: object - description: |- - The payload schema of a log event type: the fields its payload - carries, addressed by the dot-paths that `payload_filter` and - `payload_fields` accept. Field entries use JSON Schema vocabulary - (`type` is the data type, `enum` the accepted values); the event - type identifier lives in `event_type`. - properties: - object: - type: string - description: String representing the object's type. Always "log_schema". - example: log_schema - event_type: - type: string - description: |- - The event type this schema describes: a concrete type - (`sign_in.completed`) or a trailing-`*` wildcard (`sign_in.*`). - A bare family name in the request (`sign_in`) is normalized to - its wildcard form here. - example: sign_in.completed - description: - type: string - description: |- - Human-readable description of the event type. Present only for - concrete types. - example: Sign in was completed - severity: - type: string - description: |- - Severity of the event type (e.g. `info`, `success`, - `warning_external`). Present only for concrete types. - example: success - docs_group: - type: string - description: |- - The documentation group the event type belongs to. Present only - for concrete types. - example: Sign-in events - matched_event_types: - type: array - items: - type: string - description: |- - The concrete event types a wildcard expanded to. Present only - for wildcard lookups, whose `fields` are the intersection across - these types. - fields: - type: array - items: - $ref: '#/components/schemas/LogSchemaField' - required: - - object - - event_type - - fields - LogWithPayload: - description: |- - A log entry with the full event payload. Returned by the - single-event endpoint. List responses use Log, whose payload is - absent unless specific fields were requested via `payload_fields`. - allOf: - - $ref: '#/components/schemas/Log' - - type: object - properties: - payload: - type: object - additionalProperties: true - description: Additional event-specific data. - required: - - payload SCIMDirectory: type: object description: A directory configuration for provisioning users via SCIM protocol. @@ -21034,56 +20447,6 @@ components: application/json: schema: $ref: '#/components/schemas/RoleSet' - Log.List: - description: A list of log entries with cursor-based pagination. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Log' - cursor: - type: object - description: Cursor information for pagination. - properties: - starting_after: - type: string - nullable: true - description: Cursor to fetch the next page of results. - ending_before: - type: string - nullable: true - description: Cursor to fetch the previous page of results. - has_next_page: - type: boolean - description: 'Deprecated: use next_page_status instead. If true, more results may be fetched using the starting_after cursor. True when next_page_status is "true", or when it is "unknown" and the page returned data.' - next_page_status: - type: string - enum: - - 'true' - - 'false' - - unknown - description: Pagination status. "true" means more results exist, "false" means no more results, "unknown" means the query was time-windowed and more results may exist beyond the window. - retention_limit_reached: - type: boolean - description: When true, next_page_status is "false" because event_time_after was clamped to the plan's retention floor. Extending event_time_after further back will not yield additional results. - required: - - data - Log.Schema: - description: The payload schema of a log event type. - content: - application/json: - schema: - $ref: '#/components/schemas/LogSchema' - Log.Read: - description: A single log entry with full payload. - content: - application/json: - schema: - $ref: '#/components/schemas/LogWithPayload' SCIMDirectory.List: description: A list of directories content: diff --git a/bapi/2026-05-12.yml b/bapi/2026-05-12.yml index c2aecf5..570c49e 100644 --- a/bapi/2026-05-12.yml +++ b/bapi/2026-05-12.yml @@ -168,10 +168,6 @@ tags: description: Manage organization domains. - name: Accountless Applications description: Create and complete accountless applications. Note that this is an experimental feature and subject to change or be removed without notice. - - name: Logs - description: |- - Logs provide a record of events that occur within your application. - Use these endpoints to retrieve log entries for compliance and debugging purposes. externalDocs: url: https://clerk.com/docs paths: @@ -10094,287 +10090,6 @@ paths: $ref: '#/components/responses/ResourceNotFound' '422': $ref: '#/components/responses/UnprocessableEntity' - /logs: - get: - operationId: ListLogs - x-speakeasy-group: logs - x-speakeasy-name-override: list - tags: - - Logs - summary: List all logs - description: |- - Returns a list of logs for the authenticated instance. - Results are paginated using cursor-based pagination. - - The response includes a `next_page_status` field in the cursor object: - - `"true"` — more results are available; continue paginating using `starting_after`. - - `"unknown"` — the server scanned a portion of the time range and may not have reached the boundary yet. Continue paginating with the returned cursor to retrieve additional results. - - `"false"` — no more results exist within the requested range. - - Callers should always paginate until `next_page_status` is `"false"` (or cursors are absent) to ensure complete results. - parameters: - - name: limit - in: query - description: |- - Applies a limit to the number of results returned. - Can be used for paginating the results together with `starting_after` or `ending_before`. - required: false - schema: - type: integer - default: 10 - minimum: 1 - maximum: 500 - - name: starting_after - in: query - description: A cursor for pagination. Provide the starting_after cursor from a previous response to fetch the next page. - required: false - schema: - type: string - - name: ending_before - in: query - description: A cursor for pagination. Provide the ending_before cursor from a previous response to fetch the previous page. - required: false - schema: - type: string - - name: subject - in: query - description: Filter logs by subject. - required: false - schema: - type: string - - name: actor - in: query - description: Filter logs by actor - required: false - schema: - type: string - - name: trace_id - in: query - description: Filter logs by trace ID (32 hex characters). - required: false - schema: - type: string - pattern: ^[0-9a-f]{32}$ - example: 1234567890abcdef1234567890abcdef - - name: type - in: query - description: |- - Filter logs by event type (e.g., `sign_in.completed`). A trailing - `*` matches an event-type family by prefix (e.g. `sign_in.*` - matches `sign_in.created`, `sign_in.completed`, ...); the wildcard - is only allowed as the last character. - required: false - schema: - type: string - - name: client_id - in: query - description: Filter logs by client ID. - required: false - schema: - type: string - - name: impersonator_user_id - in: query - description: Filter logs by impersonator user ID. - required: false - schema: - type: string - - name: ip_address - in: query - description: Filter logs by the client IP address recorded on the event. - required: false - schema: - type: string - - name: payload_filter - in: query - style: deepObject - explode: true - description: |- - Exact-match filters on event payload fields, keyed by the field's - dot-path: `payload_filter[user_id]=user_123` or - `payload_filter[captcha_attempt_payload.provider]=turnstile`. - - Requires `type`. Fields are validated against the payload schema of - that event type (discoverable via `GET /logs/schemas`); for a - trailing-`*` type the valid fields are those common to every - matching event type. An unknown field returns a 422 listing the - allowed fields. - - One value per field — repeating a field is a 422. Values must parse - as the field's type (a non-numeric value against an integer field - is a 422) and match exactly; an event whose payload lacks the field - never matches. At most 10 filters per request, paths at most 4 - segments deep, values at most 256 characters. - - Payload filters join the same `filter_match` group as the string - filters above. - required: false - schema: - type: object - additionalProperties: - type: string - - name: payload_fields - in: query - description: |- - Comma-separated payload field dot-paths to include per returned - log: `payload_fields=user_id,strategy`. Requires `type`, and the - fields are validated against that event type's payload schema the - same way as `payload_filter` (with the same caps). - - Each returned log gains a `payload` object containing only the - requested fields, keyed by their dot-paths, with fields absent - from an event's payload omitted. Without this parameter, list - responses carry no `payload` key. - - Not allowed together with `filter_match=any`: the fields are - validated against `type`'s schema, and with `any` the type filter - no longer constrains every returned row. - required: false - schema: - type: string - - name: filter_match - in: query - description: |- - Controls how `subject`, `type`, `actor`, `trace_id`, `client_id`, - `impersonator_user_id`, `ip_address`, and `payload_filter` entries - are combined: `all` (default) requires every supplied filter to - match; `any` returns events that match at least one of the - supplied filters. `event_time_after`, `event_time_before`, and - `end_user_facing_only` are always ANDed with the (possibly OR-ed) - string filter group. - required: false - schema: - type: string - enum: - - all - - any - default: all - - name: event_time_after - in: query - description: |- - Sets a lower time boundary for the query (Unix timestamp in milliseconds). - Only events on or after this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705315800000 - - name: event_time_before - in: query - description: |- - Sets an upper time boundary for the query (Unix timestamp in milliseconds). - Only events on or before this timestamp are eligible to be returned. - - This parameter constrains the search range but does not guarantee that - every matching event within the range is returned in a single response. - The server may use an internal time window smaller than the requested range - to keep query latency predictable. When this happens, `next_page_status` - will be `"unknown"` and a continuation cursor is provided so the caller - can paginate through the full range. - required: false - schema: - type: integer - format: int64 - example: 1705319400000 - - name: end_user_facing_only - in: query - description: |- - When set to true, only returns events that are marked as end-user facing. - When set to false or omitted, returns all events. - required: false - schema: - type: boolean - responses: - '200': - $ref: '#/components/responses/Log.List' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/schemas: - get: - operationId: GetLogSchema - x-speakeasy-group: logs - x-speakeasy-name-override: getSchema - tags: - - Logs - summary: Retrieve the payload schema of a log event type - description: |- - Returns the payload schema of a log event type: which fields its - payload carries, addressed by the dot-paths that the `payload_filter` - and `payload_fields` parameters of the list endpoint accept. - - `type` accepts a concrete event type (`sign_in.completed`), a - trailing-`*` wildcard (`sign_in.*`), or a bare family name (`sign_in`, - normalized to `sign_in.*` when no concrete type matches — the - response's `event_type` - echoes the normalized form). For wildcard lookups the fields are the - intersection across every matching event type, and `matched_event_types` - lists what the intersection was computed over; per-type metadata - (description, severity, docs_group) is present only for concrete types. - - Served from the event-type registry; the response is static per - release, not per instance. - parameters: - - name: type - in: query - required: true - description: |- - The event type to describe: concrete (`sign_in.completed`), - trailing-`*` wildcard (`sign_in.*`), or bare family name - (`sign_in`). Unknown types return a 422. A bare `*` is not - accepted. - schema: - type: string - example: sign_in.* - responses: - '200': - $ref: '#/components/responses/Log.Schema' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '422': - $ref: '#/components/responses/UnprocessableEntity' - /logs/{event_time_and_id}: - get: - operationId: GetLog - x-speakeasy-group: logs - x-speakeasy-name-override: get - tags: - - Logs - summary: Retrieve a single log - description: |- - Returns a single log entry by its composite key ({event_time_ms}:{event_id}). - Unlike the list endpoint, this returns the full payload for the event. - parameters: - - name: event_time_and_id - in: path - required: true - description: |- - Composite identifier in the format `{event_time_ms}:{event_id}`, where - `event_time_ms` is the event timestamp as a Unix timestamp in milliseconds - and `event_id` is the UUID of the event. - schema: - type: string - example: 1776207110588:019d8e31-a1bc-7e07-9347-0fd20b25c475 - responses: - '200': - $ref: '#/components/responses/Log.Read' - '401': - $ref: '#/components/responses/AuthenticationInvalid' - '403': - $ref: '#/components/responses/AuthorizationInvalid' - '404': - $ref: '#/components/responses/ResourceNotFound' /scim_directories: get: operationId: ListSCIMDirectories @@ -20220,308 +19935,6 @@ components: description: Mappings from source role keys to destination role keys for role reassignment additionalProperties: type: string - LogApplicationContext: - type: object - description: Application context information. - properties: - id: - type: string - nullable: true - description: The application ID. - name: - type: string - nullable: true - description: The application name. - LogDomainContext: - type: object - description: Domain context information. - properties: - id: - type: string - nullable: true - description: The domain ID. - name: - type: string - nullable: true - description: The domain name. - LogEnvironmentContext: - type: object - description: Environment context for the log event. - properties: - type: - type: string - nullable: true - description: The environment type (e.g., "development", "production"). - application: - $ref: '#/components/schemas/LogApplicationContext' - domain: - $ref: '#/components/schemas/LogDomainContext' - primary_domain: - $ref: '#/components/schemas/LogDomainContext' - LogBrowserContext: - type: object - description: Browser information. - properties: - name: - type: string - nullable: true - description: The browser name. - version: - type: string - nullable: true - description: The browser version. - LogLocationContext: - type: object - description: Geographic location information. - properties: - city: - type: string - nullable: true - description: The city name. - country: - type: string - nullable: true - description: The country, as recorded for the event. - country_code: - type: string - description: |- - The ISO 3166-1 alpha-2 code of `country`. Omitted when the - country cannot be resolved to a known code. - example: US - LogDeviceContext: - type: object - description: Device information for the log event. - properties: - ip_address: - type: string - nullable: true - description: The IP address of the client. - user_agent: - type: string - nullable: true - description: The user agent string of the client. - browser: - $ref: '#/components/schemas/LogBrowserContext' - device_type: - type: string - nullable: true - description: The type of device (e.g., "desktop", "mobile", "tablet"). - is_mobile: - type: boolean - nullable: true - description: Whether the device is a mobile device. - location: - $ref: '#/components/schemas/LogLocationContext' - clerk_js_version: - type: string - nullable: true - description: The version of Clerk.js used by the client. - is_native: - type: boolean - nullable: true - description: Whether the client is a native application. - LogContext: - type: object - description: Context information about the environment and device where the event occurred. - properties: - environment: - $ref: '#/components/schemas/LogEnvironmentContext' - device: - $ref: '#/components/schemas/LogDeviceContext' - nullable: true - Log: - type: object - description: A log entry representing a recorded event. - properties: - object: - type: string - description: String representing the object's type. Always "log". - example: log - id: - type: string - format: uuid - description: Unique identifier for the log event. - event_time: - type: integer - format: int64 - description: The timestamp when the event occurred (Unix timestamp in milliseconds). - actor: - type: string - description: The actor that performed the action (e.g., user ID). - actor_type: - type: string - description: |- - The kind of principal the `actor` identifies, classified when the - event was recorded: `user` (an end user of your application), - `dashboard_user` (a member of your Clerk Dashboard workspace), - `instance_key`, `api_key`, `integration`, or `clerk_system`. - example: dashboard_user - impersonator: - type: object - nullable: true - description: The impersonator that performed the action. - properties: - user_id: - type: string - nullable: true - description: The user ID of the impersonator. - subject: - type: string - description: The subject of the event (e.g., user ID, resource ID). - type: - type: string - description: The type of the log event. - client_id: - type: string - nullable: true - description: The client ID of the request. Set on FAPI requests, unset on BAPI requests. - source: - type: string - nullable: true - description: The source service that generated the event. - session_id: - type: string - nullable: true - description: The ID of the session the event occurred in, if any. - trace_id: - type: string - description: Trace ID for distributed tracing (32 hex characters). - span_id: - type: string - description: Span ID for distributed tracing (16 hex characters). - parent_span_id: - type: string - nullable: true - description: Parent span ID for hierarchical tracing. - event_context: - $ref: '#/components/schemas/LogContext' - payload: - type: object - additionalProperties: true - description: |- - Present only when the request selected payload fields via - `payload_fields`. Partial by construction: contains just the - requested fields, keyed by their dot-paths, with fields absent - from this event's payload omitted (an empty object when the - event carries none of them). Use the single-event endpoint for - the full payload. - required: - - object - - id - - event_time - - actor - - subject - - type - - source - - trace_id - - span_id - - event_context - LogSchemaField: - type: object - description: One payload field, addressed by dot-path. - properties: - path: - type: string - description: |- - The field's dot-path (nested fields use dots, e.g. - `captcha_attempt_payload.provider`) — the exact string - `payload_filter` and `payload_fields` accept. - example: user_id - type: - type: string - enum: - - string - - boolean - - integer - - number - description: The field's data type. - optional: - type: boolean - description: |- - Whether the field is optional in the payload. Note that even - non-optional fields can be absent from a stored event when they - held their zero value at record time. - enum: - type: array - items: - type: string - description: |- - The accepted values, present for enum-backed fields (which have - type `string`). - required: - - path - - type - - optional - LogSchema: - type: object - description: |- - The payload schema of a log event type: the fields its payload - carries, addressed by the dot-paths that `payload_filter` and - `payload_fields` accept. Field entries use JSON Schema vocabulary - (`type` is the data type, `enum` the accepted values); the event - type identifier lives in `event_type`. - properties: - object: - type: string - description: String representing the object's type. Always "log_schema". - example: log_schema - event_type: - type: string - description: |- - The event type this schema describes: a concrete type - (`sign_in.completed`) or a trailing-`*` wildcard (`sign_in.*`). - A bare family name in the request (`sign_in`) is normalized to - its wildcard form here. - example: sign_in.completed - description: - type: string - description: |- - Human-readable description of the event type. Present only for - concrete types. - example: Sign in was completed - severity: - type: string - description: |- - Severity of the event type (e.g. `info`, `success`, - `warning_external`). Present only for concrete types. - example: success - docs_group: - type: string - description: |- - The documentation group the event type belongs to. Present only - for concrete types. - example: Sign-in events - matched_event_types: - type: array - items: - type: string - description: |- - The concrete event types a wildcard expanded to. Present only - for wildcard lookups, whose `fields` are the intersection across - these types. - fields: - type: array - items: - $ref: '#/components/schemas/LogSchemaField' - required: - - object - - event_type - - fields - LogWithPayload: - description: |- - A log entry with the full event payload. Returned by the - single-event endpoint. List responses use Log, whose payload is - absent unless specific fields were requested via `payload_fields`. - allOf: - - $ref: '#/components/schemas/Log' - - type: object - properties: - payload: - type: object - additionalProperties: true - description: Additional event-specific data. - required: - - payload SCIMDirectory: type: object description: A directory configuration for provisioning users via SCIM protocol. @@ -21650,56 +21063,6 @@ components: application/json: schema: $ref: '#/components/schemas/RoleSet' - Log.List: - description: A list of log entries with cursor-based pagination. - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/Log' - cursor: - type: object - description: Cursor information for pagination. - properties: - starting_after: - type: string - nullable: true - description: Cursor to fetch the next page of results. - ending_before: - type: string - nullable: true - description: Cursor to fetch the previous page of results. - has_next_page: - type: boolean - description: 'Deprecated: use next_page_status instead. If true, more results may be fetched using the starting_after cursor. True when next_page_status is "true", or when it is "unknown" and the page returned data.' - next_page_status: - type: string - enum: - - 'true' - - 'false' - - unknown - description: Pagination status. "true" means more results exist, "false" means no more results, "unknown" means the query was time-windowed and more results may exist beyond the window. - retention_limit_reached: - type: boolean - description: When true, next_page_status is "false" because event_time_after was clamped to the plan's retention floor. Extending event_time_after further back will not yield additional results. - required: - - data - Log.Schema: - description: The payload schema of a log event type. - content: - application/json: - schema: - $ref: '#/components/schemas/LogSchema' - Log.Read: - description: A single log entry with full payload. - content: - application/json: - schema: - $ref: '#/components/schemas/LogWithPayload' SCIMDirectory.List: description: A list of directories content: