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

# List events

> The organization's event feed for the caller's mode, the same events webhooks deliver. Page back with dir=desc, or poll for new events with dir=asc and after set to the last id you processed. Polling with dir=asc sees an event about 2 seconds after it happens, so events that commit out of order are never skipped.



## OpenAPI

````yaml /openapi/openapi.json get /v1/events
openapi: 3.1.0
info:
  contact:
    name: PrintEasy
    url: https://docs.printeasy.adfinite.com
  description: >-
    Cloud printing API: send PDFs and raw jobs to printers attached to computers
    running the PrintEasy agent.
  title: PrintEasy API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.printeasy.adfinite.com
security:
  - ApiKeyAuth: []
  - BasicAuth: []
tags:
  - description: Who you are, your plan and usage
    name: Account
  - description: Machines running the PrintEasy agent
    name: Computers
  - description: Printers reported by agents
    name: Printers
  - description: Submit and track print jobs
    name: Print jobs
  - description: Signed event delivery to your HTTPS endpoints
    name: Webhooks
  - description: Cursor based event feed
    name: Events
  - description: Prints used this period
    name: Usage
paths:
  /v1/events:
    get:
      tags:
        - Events
      summary: List events
      description: >-
        The organization's event feed for the caller's mode, the same events
        webhooks deliver. Page back with dir=desc, or poll for new events with
        dir=asc and after set to the last id you processed. Polling with dir=asc
        sees an event about 2 seconds after it happens, so events that commit
        out of order are never skipped.
      operationId: listEvents
      parameters:
        - in: query
          name: limit
          required: false
          schema:
            default: 25
            maximum: 100
            minimum: 1
            type: integer
        - description: 'Cursor: the nextCursor of the previous page'
          in: query
          name: after
          required: false
          schema:
            description: 'Cursor: the nextCursor of the previous page'
            format: uuid
            type: string
        - description: desc is newest first; asc is oldest first and suits polling
          in: query
          name: dir
          required: false
          schema:
            default: desc
            description: desc is newest first; asc is oldest first and suits polling
            enum:
              - asc
              - desc
            type: string
        - description: Comma separated event types
          in: query
          name: type
          required: false
          schema:
            description: Comma separated event types
            example: printjob.done,printjob.error
            type: string
        - description: Only events of this print job, printer or computer
          in: query
          name: resourceId
          required: false
          schema:
            description: Only events of this print job, printer or computer
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/Event'
                    type: array
                  hasMore:
                    type: boolean
                  nextCursor:
                    type:
                      - string
                      - 'null'
                required:
                  - data
                  - hasMore
                  - nextCursor
                type: object
          description: A page of events
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid API key or session
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: The key scope or member role does not allow this
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: >-
            Rate limit or test mode cap reached; retry after the Retry-After
            header
      security:
        - ApiKeyAuth: []
        - BasicAuth: []
components:
  schemas:
    Event:
      example:
        createdAt: '2026-10-14T10:00:00.000Z'
        data:
          id: 0192f1a0-7c00-7000-8000-0000000000aa
          state: done
        id: 0192f1a0-7c00-7000-8000-000000000001
        mode: test
        resourceId: 0192f1a0-7c00-7000-8000-0000000000aa
        resourceType: print_job
        type: printjob.done
      properties:
        createdAt:
          format: date-time
          type: string
        data:
          additionalProperties: {}
          description: The same object webhooks deliver as data
          type: object
        id:
          description: Also the webhook-id of its deliveries
          format: uuid
          type: string
        mode:
          enum:
            - live
            - test
          type: string
        resourceId:
          format: uuid
          type: string
        resourceType:
          example: print_job
          type: string
        type:
          enum:
            - printjob.queued
            - printjob.sent
            - printjob.received
            - printjob.printing
            - printjob.done
            - printjob.error
            - printjob.cancelled
            - printjob.expired
            - computer.online
            - computer.offline
            - printer.added
            - printer.removed
            - printer.online
            - printer.offline
            - printer.updated
          type: string
      required:
        - id
        - type
        - mode
        - resourceType
        - resourceId
        - data
        - createdAt
      type: object
    Error:
      description: >-
        Every error response uses this envelope; code is stable, message is for
        humans.
      properties:
        error:
          properties:
            code:
              example: not_found
              type: string
            message:
              example: Printer not found
              type: string
            request_id:
              example: 4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a
              type: string
          required:
            - code
            - message
            - request_id
          type: object
      required:
        - error
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: pe_live_ or pe_test_ key
      description: >-
        Send `Authorization: Bearer <API key>`. Use a pe_test_ key in the
        playground; it only reaches virtual test printers.
      scheme: bearer
      type: http
      x-default: pe_test_REPLACE_WITH_YOUR_TEST_KEY
    BasicAuth:
      description: >-
        PrintNode compatible: put the API key in the username with an empty
        password
      scheme: basic
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.