Render · AsyncAPI Specification

Render Logs Subscription API

Version 1.0

Render exposes a documented public WebSocket surface for real-time log streaming. A client opens a WebSocket connection to wss://api.render.com/v1/logs/subscribe with an API key Bearer token and query filters (ownerId and one or more resource IDs, plus optional level, text, host, statusCode, method, task, type, and path filters). The server performs the HTTP-to-WebSocket upgrade (HTTP 101) and then pushes log messages to the client in real time as they are generated. All subscribed resources must be in the same region and belong to the same owner. This AsyncAPI document models that server-push WebSocket stream. Historical log retrieval is a separate REST endpoint (GET /logs), modeled in the OpenAPI document.

View Spec View on GitHub Cloud HostingPaaSDeploymentWeb ServicesDatabasesDevOpsAsyncAPIWebhooksEvents

Channels

/logs/subscribe
subscribe receiveLogMessage
Receive real-time log messages pushed by Render over the WebSocket.
Real-time log subscription. After the WebSocket upgrade, the server sends log messages matching the subscription filters as they are generated.

Messages

LogMessage
Log Message
A single log line streamed in real time as it is generated.

Servers

wss
production api.render.com/v1
Render Public API WebSocket log subscription endpoint. Full path wss://api.render.com/v1/logs/subscribe. Authenticated with an API key Bearer token.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Render Logs Subscription API
  version: '1.0'
  description: >-
    Render exposes a documented public WebSocket surface for real-time log
    streaming. A client opens a WebSocket connection to
    wss://api.render.com/v1/logs/subscribe with an API key Bearer token and
    query filters (ownerId and one or more resource IDs, plus optional level,
    text, host, statusCode, method, task, type, and path filters). The server
    performs the HTTP-to-WebSocket upgrade (HTTP 101) and then pushes log
    messages to the client in real time as they are generated. All subscribed
    resources must be in the same region and belong to the same owner. This
    AsyncAPI document models that server-push WebSocket stream. Historical log
    retrieval is a separate REST endpoint (GET /logs), modeled in the OpenAPI
    document.
  contact:
    name: Render
    url: https://render.com
servers:
  production:
    url: api.render.com/v1
    protocol: wss
    description: >-
      Render Public API WebSocket log subscription endpoint. Full path
      wss://api.render.com/v1/logs/subscribe. Authenticated with an API key
      Bearer token.
    security:
      - bearerAuth: []
defaultContentType: application/json
channels:
  /logs/subscribe:
    description: >-
      Real-time log subscription. After the WebSocket upgrade, the server sends
      log messages matching the subscription filters as they are generated.
    bindings:
      ws:
        method: GET
        query:
          type: object
          required:
            - ownerId
            - resource
          properties:
            ownerId:
              type: string
              description: The workspace (owner) ID that scopes the subscription.
            resource:
              type: array
              items:
                type: string
              description: One or more resource IDs (services, cron jobs, jobs, Postgres, Key Value, or workflows) to stream logs from.
            level:
              type: array
              items:
                type: string
              description: Optional log level filter.
            text:
              type: array
              items:
                type: string
              description: Optional substring filter on log text.
    subscribe:
      operationId: receiveLogMessage
      summary: Receive real-time log messages pushed by Render over the WebSocket.
      message:
        $ref: '#/components/messages/LogMessage'
components:
  messages:
    LogMessage:
      name: logMessage
      title: Log Message
      summary: A single log line streamed in real time as it is generated.
      contentType: application/json
      payload:
        type: object
        properties:
          id:
            type: string
            description: Unique identifier for the log entry.
          timestamp:
            type: string
            format: date-time
            description: When the log line was generated.
          message:
            type: string
            description: The log text.
          level:
            type: string
            description: Log level, when available.
          type:
            type: string
            description: Log type (for example app or request).
          labels:
            type: array
            description: Key/value labels describing the source resource, instance, and request attributes.
            items:
              type: object
              properties:
                name:
                  type: string
                value:
                  type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Render API key sent as an Authorization Bearer token on the WebSocket upgrade request.