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

# List mass write results

> Returns the points of an operation with the outcome of each, one page at a time.

A point with `status` set to `FAILED` has an `errorCode` and a `message`. `INTERNAL_ERROR` means KODE could not deliver the write. It is safe to retry. `NOT_IN_PLAN` means the point joined the query after you validated the plan. KODE did not write it, and a retry does not send it.

Use `status` and `buildingId` to narrow the list. KODE API ignores `q`, `asc`, and `dsc`.


## OpenAPI

````yaml /openapi/kode-api.yaml get /api/v1/mass-write/operations/{operationId}/results
openapi: 3.1.0
info:
  title: KODE API
  version: 1.0.0
  summary: Programmatic access to KODE OS resources and operations.
  description: >
    Use the KODE API to work with buildings, data sources, connectors, devices,
    points, virtual devices,

    timeseries data, schedules, the ontology, templating, mass writes, spaces,
    space assignments, tenants, meters, users, actions,

    and AssetOps work orders.
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.kodelabs.com/kodeos
    description: KODE API
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: OAuth 2.0 discovery, token, and revocation endpoints.
  - name: Buildings
    description: Buildings and their areas.
  - name: Data sources
    description: Data sources connected to a building.
  - name: Devices
    description: Devices and their points.
  - name: Points
    description: Point queries and point writes.
  - name: Timeseries
    description: Current and historical point values.
  - name: Actions
    description: Actions exposed by building data sources.
  - name: Work orders
    description: AssetOps work orders, lookups, comments, and attachments.
  - name: Connectors
    description: KODE API connectors and the devices and points ingested through them.
  - name: Schedules
    description: Schedules discovered on building data sources.
  - name: Templating
    description: Apply ontology templates to groups of points.
  - name: Virtual devices
    description: Virtual devices that group points from other devices.
  - name: Ontology
    description: Canonical types, fields, units, and connections of the KODE ontology.
  - name: Users
    description: Users of the organization and their app access.
  - name: Mass write
    description: Write values to many points across buildings, and follow each run.
  - name: Spaces
    description: Levels and space units of a building, and the meters located in them.
  - name: Space assignments
    description: Assign tenants to leasable spaces of a building for a period.
  - name: Tenants
    description: Tenants of a building, the people or companies that lease its spaces.
  - name: Meters
    description: >-
      Meters of a building, their space assignments, parent and child links, and
      readings.
paths:
  /api/v1/mass-write/operations/{operationId}/results:
    get:
      tags:
        - Mass write
      summary: List mass write results
      description: >-
        Returns the points of an operation with the outcome of each, one page at
        a time.
      operationId: listMassWriteResults
      parameters:
        - name: operationId
          in: path
          required: true
          schema:
            type: string
            pattern: '[^\p{C}\p{Z}]{1,128}'
          description: Identifier of the operation.
        - name: buildingId
          in: query
          schema:
            type: string
            pattern: '[^\p{C}\p{Z}]{1,128}'
          description: Return only points of this building.
        - name: limit
          in: query
          schema:
            type: integer
            format: int32
            maximum: 200
            minimum: 1
            default: 50
          description: Number of items per page, from `1` to `200`. The default is `50`.
        - name: page
          in: query
          schema:
            type: integer
            format: int32
            minimum: 1
            default: 1
          description: Page number to return. The first page is `1`.
        - name: status
          in: query
          schema:
            type: string
            enum:
              - PENDING
              - SUCCEEDED
              - FAILED
          description: Return only points with this outcome.
      responses:
        '200':
          description: >-
            A page of point results. `itemCount` is the total number that match
            the filters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEntityPointMassWriteResultPublic'
        '400':
          description: >-
            A parameter is not valid. For example, the `operationId` is blank,
            `status` is not one of the listed values, `buildingId` is blank,
            `limit` is above `200`, or `page` is below `1`.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: >-
            The service account lacks permission to read mass writes, or has no
            assigned building.
        '404':
          description: No operation with this id exists for your service account.
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    PaginatedEntityPointMassWriteResultPublic:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PointMassWriteResultPublic'
        page:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
        pageCount:
          type: integer
          format: int32
        itemCount:
          type: integer
          format: int32
    PointMassWriteResultPublic:
      type: object
      properties:
        pointId:
          description: Point id.
          type: string
        buildingId:
          description: Building of the point.
          type: string
        deviceId:
          description: Device of the point.
          type: string
        pointName:
          description: Name of the point.
          type: string
        field:
          description: Ontology field of the point, when it has one.
          type: string
        groupKey:
          description: Group the point belongs to.
          type: string
        status:
          description: '`PENDING`, `SUCCEEDED`, or `FAILED`.'
          type: string
        errorCode:
          description: >-
            Why the write failed. Present when `status` is `FAILED`. One of
            `INTERNAL_ERROR`, `TIMEOUT`, `CONNECTOR_UNAVAILABLE`,
            `INVALID_ACTION`, `REJECTED_BY_DEVICE`, `NOT_IN_PLAN`, or `UNKNOWN`.
          type: string
        message:
          description: Details about the failure.
          type: string
        writtenAt:
          $ref: '#/components/schemas/Date'
          description: When the point got its outcome.
    Date:
      type: string
      description: >-
        Date and time in UTC, with a numeric offset and no colon, for example
        `2026-10-28T13:51:31+0000`.
      examples:
        - 2026-10-28T13:51:31+0000
  responses:
    Unauthorized:
      description: The access token is missing, invalid, or expired. Request a new token.
    TooManyRequests:
      description: >-
        A rate-limit window is exhausted. Wait, then retry with increasing
        delays.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Paste an access token from [Create an access
        token](/products/kode-api/api-reference/authentication/create-an-access-token).
        Tokens expire, so request a new one if you receive `401`.

````

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