Skip to content
Docs

    List Operations

    client.operations.list(OperationListParams { project_id, created_at_max, created_at_min, 7 more } query, RequestOptionsoptions?): Cursor<Operation { id, created_at, details, 6 more } >
    GET/v1/operations

    List all operations

    ParametersExpand Collapse
    query: OperationListParams { project_id, created_at_max, created_at_min, 7 more }
    project_id: string

    Project ID of resources to request

    created_at_max?: string

    Only operations started at or before this RFC 3339 instant

    formatdate-time
    created_at_min?: string

    Only operations started at or after this RFC 3339 instant

    formatdate-time
    cursor?: string

    Pagination cursor returned by a previous request. Only valid for the same filters and sort order.

    kind?: "vm" | "volume" | "vpc" | 6 more

    Filter by the kind of resource the operation acts on

    One of the following:
    "vm"
    "volume"
    "vpc"
    "firewall_rule"
    "connect_connection"
    "nks_cluster"
    "nks_node_pool"
    "nks_load_balancer"
    "nks_node"
    limit?: number

    Maximum number of items to return

    maximum100
    minimum10
    resource_id?: string

    Filter by the resource the operation acts on

    sort?: string

    Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at

    status?: "pending" | "running" | "done" | 2 more

    Filter by operation status

    One of the following:
    "pending"
    "running"
    "done"
    "failed"
    "unknown"
    type?: "create" | "update" | "delete" | "restart"

    Filter by operation type

    One of the following:
    "create"
    "update"
    "delete"
    "restart"
    ReturnsExpand Collapse
    Operation { id, created_at, details, 6 more }

    Operation details.

    id: string

    Unique identifier for the Operation.

    created_at: string

    When the Operation was created.

    formatdate-time
    details: OperationDetails { changes } | null

    Structured details about what an operation is changing.

    changes: OperationChanges { from, to }

    Map of changed field names to their from/to diffs. Keys depend on the parent operation’s kind+type.

    from: string | number | boolean | Array<string>

    Previous value.

    One of the following:
    string
    number
    boolean
    Array<string>
    to: string | number | boolean | Array<string>

    New value.

    One of the following:
    string
    number
    boolean
    Array<string>

    Kind of Operation.

    One of the following:
    "vm"
    "volume"
    "vpc"
    "firewall_rule"
    "nks_cluster"
    "nks_node_pool"
    project_id: string

    Project ID the Operation belongs to.

    resource_id: string

    ID of the resource that the Operation is acting on.

    Status of the Operation.

    One of the following:
    "pending"
    "running"
    "done"
    "failed"
    "unknown"

    Type of Operation.

    One of the following:
    "create"
    "update"
    "delete"
    "restart"
    updated_at: string

    When the Operation was updated.

    formatdate-time

    List Operations

    import NirvanaLabs from '@nirvana-labs/nirvana';
    
    const client = new NirvanaLabs({
      apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted
    });
    
    // Automatically fetches more pages as needed.
    for await (const operation of client.operations.list({ project_id: 'project_id' })) {
      console.log(operation.id);
    }
    {
      "items": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "created_at": "2025-01-01T00:00:00Z",
          "details": {
            "changes": {
              "foo": {
                "from": "string",
                "to": "string"
              }
            }
          },
          "kind": "vm",
          "project_id": "123e4567-e89b-12d3-a456-426614174000",
          "resource_id": "123e4567-e89b-12d3-a456-426614174000",
          "status": "pending",
          "type": "create",
          "updated_at": "2025-01-01T00:00:00Z"
        }
      ],
      "pagination": {
        "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
        "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
        "total_count": 125
      }
    }
    Returns Examples
    {
      "items": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "created_at": "2025-01-01T00:00:00Z",
          "details": {
            "changes": {
              "foo": {
                "from": "string",
                "to": "string"
              }
            }
          },
          "kind": "vm",
          "project_id": "123e4567-e89b-12d3-a456-426614174000",
          "resource_id": "123e4567-e89b-12d3-a456-426614174000",
          "status": "pending",
          "type": "create",
          "updated_at": "2025-01-01T00:00:00Z"
        }
      ],
      "pagination": {
        "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
        "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
        "total_count": 125
      }
    }