> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Platform Logs

> Returns a paginated list of platform logs — the audit trail of operations on StackOne itself, such as creating an account or deleting an integration, as opposed to requests proxied to a provider. Filter `resource` for everything that happened to a kind of thing (`account`), `resource_id` for everything that happened to one of them, and `action` for a kind of operation (`create`). `event_type` carries the pair as one value (`account_create`) and remains filterable. A few operations are not tied to a resource — the AI and playground routes — and their `event_type` is the bare action (`check`, `playground_build`) with `resource` unset. Requires access to every account in the project: a member restricted to a subset of accounts is refused, because the trail cannot be meaningfully filtered to their accounts and its rows can reveal activity on accounts they cannot read.



## OpenAPI

````yaml post /logs/platform
openapi: 3.1.0
info:
  title: StackOne
  description: The documentation for the StackOne API
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.stackone.com
security: []
tags:
  - name: Accounts
    description: View and manage linked accounts.
  - name: Actions
    description: Retrieve Actions metadata and definitions.
  - name: AI
    description: AI-powered features.
  - name: Auth Configs
    description: View and manage connector auth configurations for the project.
  - name: Connect Sessions
    description: >-
      Generate connection session tokens or auth URLs to allow your customers to
      connect their accounts.
  - name: Connector Profiles
    description: View and manage connector profiles for the project.
  - name: Connectors
    description: Retrieve metadata for connectors.
  - name: Logs
    description: API request logs and analytics.
  - name: MCP
    description: Model Context Protocol endpoint.
  - name: Proxy
    description: Routing API requests through StackOne directly to the underlying provider.
  - name: Request Logs
    description: API requests and response logs.
  - name: Webhooks
    description: Configure and manage webhooks.
paths:
  /logs/platform:
    post:
      tags:
        - Logs
      summary: List Platform Logs
      description: >-
        Returns a paginated list of platform logs — the audit trail of
        operations on StackOne itself, such as creating an account or deleting
        an integration, as opposed to requests proxied to a provider. Filter
        `resource` for everything that happened to a kind of thing (`account`),
        `resource_id` for everything that happened to one of them, and `action`
        for a kind of operation (`create`). `event_type` carries the pair as one
        value (`account_create`) and remains filterable. A few operations are
        not tied to a resource — the AI and playground routes — and their
        `event_type` is the bare action (`check`, `playground_build`) with
        `resource` unset. Requires access to every account in the project: a
        member restricted to a subset of accounts is refused, because the trail
        cannot be meaningfully filtered to their accounts and its rows can
        reveal activity on accounts they cannot read.
      operationId: stackone_list_platform_logs
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformLogsPostDto'
      responses:
        '200':
          description: The list of platform logs was retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformLogsPaginated'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
        '403':
          description: >-
            The caller is restricted to a subset of the project's accounts.
            Reading platform logs requires access to all of them.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Resource not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
        '408':
          description: The request has timed out.
          headers:
            Retry-After:
              description: A time in seconds after which the request can be retried.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestTimedOutResponse'
        '409':
          description: Conflict with current state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
        '422':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
        '500':
          description: Server error while executing the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
        '501':
          description: This functionality is not implemented.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotImplementedResponse'
        '502':
          description: Bad gateway error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayResponse'
      security:
        - basic: []
components:
  schemas:
    PlatformLogsPostDto:
      type: object
      properties:
        page:
          type: number
          description: The page number of the results to return
          minimum: 1
          example: 1
          nullable: true
        page_size:
          type: number
          description: The number of results per page
          minimum: 1
          maximum: 250
          example: 25
          nullable: true
        filters:
          description: The filters to apply to the results
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PlatformLogsQueryDto'
    PlatformLogsPaginated:
      type: object
      properties:
        page:
          type: number
          description: The page number returned
          example: 1
        page_size:
          type: number
          description: The number of results per page
          example: 25
        total:
          type: number
          description: Total number of logs matching the filters
          example: 100
        data:
          description: The list of platform logs
          type: array
          items:
            $ref: '#/components/schemas/PlatformLog'
      required:
        - page
        - page_size
        - total
        - data
    BadRequestResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 400
        message:
          type: string
          description: Error message
          example: Bad Request
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
        data:
          description: Error details
          nullable: true
          allOf:
            - $ref: '#/components/schemas/UnifiedError'
        provider_errors:
          description: List of provider-specific errors
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/ProviderError'
      required:
        - statusCode
        - message
        - timestamp
    UnauthorizedResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 401
        message:
          type: string
          description: Error message
          example: Unauthorized
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    ForbiddenResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 403
        message:
          type: string
          description: Error message
          example: Forbidden resource
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    NotFoundResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 404
        message:
          type: string
          description: Error message
          example: Not Found
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    RequestTimedOutResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 408
        message:
          type: string
          description: Error message
          example: Request timed out
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    ConflictResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 409
        message:
          type: string
          description: Error message
          example: Conflict
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    UnprocessableEntityResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 422
        message:
          type: string
          description: Error message
          example: Unprocessable Entity
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    TooManyRequestsResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 429
        message:
          type: string
          description: Error message
          example: Too many requests
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    InternalServerErrorResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 500
        message:
          type: string
          description: Error message
          example: Internal server error
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    NotImplementedResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 501
        message:
          type: string
          description: Error message
          example: Not Implemented
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    BadGatewayResponse:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 502
        message:
          type: string
          description: Error message
          example: Bad Gateway
        timestamp:
          type: string
          description: Timestamp when the error occurred
          example: '2023-05-30T00:00:00.000Z'
          format: date-time
      required:
        - statusCode
        - message
        - timestamp
    PlatformLogsQueryDto:
      type: object
      properties:
        event_type:
          description: >-
            Filter by event types. Each is `<resource>_<action>`, so pass the
            set for a resource to see everything that happened to it.
          example:
            - account_create
            - account_delete
          nullable: true
          type: array
          items:
            type: string
        event_id:
          description: Filter by event IDs
          nullable: true
          type: array
          items:
            type: string
        action:
          description: Filter by the verb, independent of the resource it acted on
          example:
            - create
            - delete
          nullable: true
          type: array
          items:
            type: string
        resource:
          description: Filter by what was acted on, independent of the verb
          example:
            - account
            - webhook
          nullable: true
          type: array
          items:
            type: string
        resource_id:
          description: >-
            Filter by the id of the thing acted on — everything that happened to
            one account, one webhook
          example:
            - '45355976281015164504'
          nullable: true
          type: array
          items:
            type: string
        status_code:
          description: >-
            Filter by HTTP status, where the event came from a request. Each
            value must be a whole number; a non-numeric one is rejected rather
            than matching nothing.
          example:
            - '200'
            - '404'
          nullable: true
          type: array
          items:
            type: string
        user_id:
          description: Filter by the user the operation is attributed to
          nullable: true
          type: array
          items:
            type: string
        user_email:
          description: >-
            Filter by the actor's email. Recorded when the request carried a
            dashboard user session, whose identity the IDP authenticated; absent
            for api keys and for signed internal calls, which carry a user id
            alone. On an event with no resolved user at all — a failed sign-in,
            which has neither a user id nor an organization — it is the only
            thing identifying who acted.
          example:
            - person@example.com
          nullable: true
          type: array
          items:
            type: string
        source_type:
          description: Filter by source type
          nullable: true
          type: array
          items:
            type: string
        source_id:
          description: Filter by source ID
          nullable: true
          type: array
          items:
            type: string
        auth_type:
          description: Filter by the credential type the caller authenticated with
          nullable: true
          type: array
          items:
            type: string
        auth_id:
          description: Filter by the identifier of the credential used
          nullable: true
          type: array
          items:
            type: string
        session_id:
          description: Filter by session ID
          nullable: true
          type: array
          items:
            type: string
        agent_id:
          description: Filter by agent ID
          nullable: true
          type: array
          items:
            type: string
        transport_type:
          description: Filter by transport type
          nullable: true
          type: array
          items:
            type: string
        ip_address:
          description: Filter by the IP the operation came from
          nullable: true
          type: array
          items:
            type: string
        success:
          type: boolean
          description: Filter by success status
          example: true
          nullable: true
        is_read:
          type: boolean
          description: >-
            Filter by whether the operation only read state. `false` returns the
            changes — creates, updates, deletes and anything with a side effect.
          example: false
          nullable: true
        start_time:
          type: string
          description: The start of the time range to filter by (ISO 8601 timestamp)
          example: '2025-01-01T00:00:00.000Z'
          nullable: true
        end_time:
          type: string
          description: The end of the time range to filter by (ISO 8601 timestamp)
          example: '2025-01-31T23:59:59.999Z'
          nullable: true
        order_by:
          type: string
          description: The field to order the results by
          enum:
            - start_time
            - end_time
            - event_time
            - duration_ms
            - null
          x-speakeasy-unknown-values: allow
          nullable: true
        order_direction:
          type: string
          description: The direction to order the results by
          enum:
            - asc
            - desc
            - null
          x-speakeasy-unknown-values: allow
          nullable: true
    PlatformLog:
      type: object
      properties:
        log_id:
          type: string
          description: The unique log identifier
          example: adbf752f-6457-4ddd-89b3-98ae2252b83b
        log_type:
          type: string
          description: The type of log
          enum:
            - platform
          example: platform
          x-speakeasy-unknown-values: allow
        event_time:
          type: string
          description: The event ISO8601 date string
          example: '2021-01-01T00:00:00Z'
          format: date-time
          nullable: true
        start_time:
          type: string
          description: The request start time ISO8601 date string
          example: '2021-01-01T00:00:00Z'
          format: date-time
          nullable: true
        end_time:
          type: string
          description: The request end time ISO8601 date string
          example: '2021-01-01T00:00:00Z'
          format: date-time
          nullable: true
        duration_ms:
          type: number
          description: The duration in milliseconds
          example: 356
          nullable: true
        project_id:
          type: string
          description: The project ID
          example: dev-project-68574
          nullable: true
        success:
          type: boolean
          description: The success flag
          example: true
          nullable: true
        status_code:
          type: number
          description: The HTTP status, where the event came from a request
          example: 200
          nullable: true
        source_type:
          type: string
          description: The source type
          example: DASHBOARD
          nullable: true
        source_id:
          type: string
          description: The source ID
          example: '1234567890'
          nullable: true
        auth_type:
          type: string
          description: The authentication type
          example: API_KEY
          nullable: true
        auth_id:
          type: string
          description: The authentication ID
          example: auth-123
          nullable: true
        user_agent:
          type: string
          description: The user agent
          example: Mozilla/5.0
          nullable: true
        ip_address:
          type: string
          description: The IP address
          example: 192.168.1.1
          nullable: true
        session_id:
          type: string
          description: The session ID
          example: session-123
          nullable: true
        agent_id:
          type: string
          description: The agent ID
          example: agent-123
          nullable: true
        transport_type:
          type: string
          description: The transport type
          example: HTTP
          nullable: true
        stream_type:
          type: string
          description: The stream type
          example: HTTP
          nullable: true
        event_id:
          type: string
          description: The unique identifier for this event
          example: adbf752f-6457-4ddd-89b3-98ae2252b83b
        event_type:
          type: string
          description: What happened, as `<resource>_<action>`
          example: account_create
        service:
          type: string
          description: The service that emitted the event
          example: unified-api
        action:
          type: string
          description: The verb, without its resource prefix
          example: create
          nullable: true
        resource:
          type: string
          description: What was acted on, without the verb
          example: account
          nullable: true
        resource_id:
          type: string
          description: The id of the thing acted on — an account id, a webhook id
          example: '45355976281015164504'
          nullable: true
        user_id:
          type: string
          description: >-
            The user the operation is attributed to. Always an identity the
            credential actually authenticated — a dashboard user session, or the
            signature-covered user id on internal calls. Absent for api keys and
            minted session tokens, which carry no dashboard-user identity.
          nullable: true
        user_email:
          type: string
          description: >-
            The actor's email, as authenticated by the IDP for a dashboard user
            session. Absent for api keys and for signed internal calls, which
            carry a user id alone. On an event with no resolved user at all — a
            failed sign-in, which has neither a user id nor an organization — it
            is the only thing identifying who acted.
          example: person@example.com
          nullable: true
        is_read:
          type: boolean
          description: >-
            Whether the operation only read state. `false` covers everything
            that changed something or had a side effect.
          example: false
          nullable: true
        details:
          type: object
          description: >-
            Everything about the event with no column of its own — the HTTP
            method, path and originating request id, plus whatever describes the
            thing acted on: for an account event, its id, owner, connector key
            and connector version. Its shape varies by the service that emitted
            the event and by the event type, so treat it as display detail
            rather than a contract. Not filterable; use the columns for that.
          additionalProperties: true
          nullable: true
      required:
        - log_id
        - log_type
        - event_id
        - event_type
        - service
    UnifiedError:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
          example: 400
          nullable: true
        message:
          type: string
          description: Error message
          example: Bad Request
          nullable: true
        headers:
          type: object
          description: Response headers
          example:
            content-type: application/json
            x-request-id: 5678c28b211dace4e0a0f9171e6b88c5
          nullable: true
    ProviderError:
      type: object
      properties:
        status:
          type: number
          description: HTTP status code of the provider error
          example: 400
          nullable: true
        url:
          type: string
          description: URL that caused the error
          example: https://api.provider.com/v1/resource
          nullable: true
        raw:
          type: object
          description: Raw error response from the provider
          example:
            message: Invalid input parameters
          nullable: true
        headers:
          type: object
          description: Response headers
          example:
            content-type: application/json
            x-request-id: 5678c28b211dace4e0a0f9171e6b88c5
          nullable: true
  securitySchemes:
    basic:
      type: http
      scheme: basic

````