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

# List your running and recent tasks

> Up to 20 tasks you started that are pending or running, or finished in the last five minutes, newest first. Tasks that
have gone silent for over 30 minutes are marked failed and left out. Customers get a redacted view (`log` empty,
`result` null, host- and address-like text in `step` replaced); admins see everything. The websocket stream is the
live view; this is the snapshot for page load and reconnects.



## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/tasks
openapi: 3.1.0
info:
  title: Server.Express API
  version: 1.0.0
  description: >-
    The customer-facing Server.Express API: auth, billing, tickets, cloud and
    dedicated servers, hosting, reselling and account management. Every response
    uses the `{ success, data | error }` envelope.
  contact:
    name: Server.Express
    url: https://server.express
servers:
  - url: https://my.server.express/api
    description: Production
security:
  - bearerAuth: []
  - apiToken: []
tags:
  - name: API Tokens
  - name: Account
  - name: Auth
  - name: Cloud
  - name: Coupons
  - name: Credits
  - name: Dashboard
  - name: Dedicated
  - name: Health
  - name: Hosting
  - name: Integrations
  - name: Invoices
  - name: Livechat
  - name: Notifications
  - name: Passkeys
  - name: Payments
  - name: Products
  - name: Public
  - name: Public Invoices
  - name: Public Tools
  - name: Reseller
  - name: SSH Keys
  - name: Services
  - name: Tasks
  - name: Teams
  - name: Tickets
  - name: Web Hosting
  - name: Webhooks
paths:
  /v1/tasks:
    get:
      tags:
        - Tasks
      summary: List your running and recent tasks
      description: >-
        Up to 20 tasks you started that are pending or running, or finished in
        the last five minutes, newest first. Tasks that

        have gone silent for over 30 minutes are marked failed and left out.
        Customers get a redacted view (`log` empty,

        `result` null, host- and address-like text in `step` replaced); admins
        see everything. The websocket stream is the

        live view; this is the snapshot for page load and reconnects.
      operationId: publicDedicatedListTasks
      responses:
        '200':
          description: Tasks.
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                properties:
                  success:
                    type: boolean
                    const: true
                  data:
                    type: array
                    maxItems: 20
                    items:
                      $ref: '#/components/schemas/PublicDedicatedTask'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicDedicatedTask:
      type: object
      required:
        - id
        - kind
        - label
        - status
        - progress
        - step
        - log
        - result
        - error
        - entityType
        - entityId
        - startedById
        - createdAt
        - finishedAt
      properties:
        id:
          type: string
        kind:
          type: string
          example: reinstall
        label:
          type: string
        status:
          type: string
          enum:
            - pending
            - running
            - done
            - failed
        progress:
          type: number
        step:
          type:
            - string
            - 'null'
          description: Customer-safe stage text (redacted for non-admins).
        log:
          type: array
          description: Always empty for non-admins.
          items:
            type: object
            required:
              - at
              - text
              - level
            properties:
              at:
                type: string
                format: date-time
              text:
                type: string
              level:
                type: string
                enum:
                  - info
                  - warn
                  - error
        result:
          description: Job-specific result. Always null for non-admins.
        error:
          type:
            - string
            - 'null'
        entityType:
          type:
            - string
            - 'null'
        entityId:
          type:
            - string
            - 'null'
        startedById:
          type:
            - string
            - 'null'
        createdAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          type: string
          description: Human-readable error message.
      additionalProperties: true
  responses:
    Unauthorized:
      description: Missing, invalid or expired credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: >-
        Authenticated but not allowed (missing scope, not an admin, or not your
        resource).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ServerError:
      description: Unexpected server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Session access token (JWT) from POST /v1/auth/login or /v1/auth/refresh.
        A session satisfies every API scope.
    apiToken:
      type: http
      scheme: bearer
      bearerFormat: se_live_<prefix>_<secret>
      description: >-
        Personal API token created under Settings → API tokens. Only routes
        guarded by verifyApiAuth accept it, and the token must carry the scope
        named in the operation's x-required-scope.

````

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