---
title: "GET /api/v1/organizations/{organizationId}/projects/{projectId}/changeNotifications"
method: GET
path: "/api/v1/organizations/{organizationId}/projects/{projectId}/changeNotifications"
tags: ["SunriseStudioService"]
---

# GET /api/v1/organizations/{organizationId}/projects/{projectId}/changeNotifications

`GET /api/v1/organizations/{organizationId}/projects/{projectId}/changeNotifications`

## Request

- Base URL: `https://app.chargerobotics.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.chargerobotics.com/api/v1/organizations/{organizationId}/projects/{projectId}/changeNotifications`
- Auth: API key in header `Authorization`

## Path parameters

- `organizationId` string, required
- `projectId` string, required

## Query parameters

- `lastNotificationId` string
- `authToken` string

## Response `200`

A successful response.(streaming responses)

- object
  - `result` ServiceProjectChangeNotification
    - `id` string: Notification ID.
    - `projectId` string
    - `changes` ProjectChangeNotificationChange[]: The list of changes.
      - `type` 'ENTITY_TYPE_UNSPECIFIED' | 'ENTITY_TYPE_ORGANIZATION' | 'ENTITY_TYPE_USER' | 'ENTITY_TYPE_PROJECT' | 'ENTITY_TYPE_BAY' | 'ENTITY_TYPE_RAIL_SPEC' | 'ENTITY_TYPE_MODULE_SPEC' | 'ENTITY_TYPE_BHA_SPEC' | 'ENTITY_TYPE_TORQUE_TUBE_SPEC' | 'ENTITY_TYPE_FASTENER' | 'ENTITY_TYPE_RAIL' | 'ENTITY_TYPE_MODULE' | 'ENTITY_TYPE_BHA' | 'ENTITY_TYPE_TORQUE_TUBE' | 'ENTITY_TYPE_TMR' | 'ENTITY_TYPE_PIER_SPEC' | 'ENTITY_TYPE_ROW_SPEC' | 'ENTITY_TYPE_ROW_SPEC_PIER' | 'ENTITY_TYPE_ROW_SPEC_TORQUE_TUBE' | 'ENTITY_TYPE_BLOCK' | 'ENTITY_TYPE_ROW' | 'ENTITY_TYPE_FACTORY' | 'ENTITY_TYPE_SCHEDULE' | 'ENTITY_TYPE_DELIVERY_VEHICLE' | 'ENTITY_TYPE_FACTORY_PLACEMENT' | 'ENTITY_TYPE_BAY_SCHEDULE' | 'ENTITY_TYPE_MODULE_PALLET_SPEC' | 'ENTITY_TYPE_SITE_FEATURE' | 'ENTITY_TYPE_USER_ORGANIZATION'
      - `upsertedIds` string[]: Optional ids to filter which entities were changed.
      - `deletedIds` string[]
    - `vehiclePositions` ProjectChangeNotificationVehiclePosition[]
      - `vehicleId` string
      - `latitude` number, double
      - `longitude` number, double
      - `timestamp` string, date-time
      - `bayId` string: The bay this vehicle is currently carrying ("" if none). Used to color the assigned bay on the map.
      - `holdingClamp` 'HOLDING_CLAMP_UNSPECIFIED' | 'HOLDING_CLAMP_GANTRY' | 'HOLDING_CLAMP_DRIVE': Which clamp (if any) is currently holding a bay on a vehicle. Mirrors the factory's BayHoldingClamp values so the relay can pass the int through. Top-level (not nested) so the json-model generator emits it. - HOLDING_CLAMP_UNSPECIFIED: none / not holding a bay
  - `error` RpcStatus: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `code` integer: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
    - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
    - `details` ProtobufAny[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
      - `@type` string: Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one `/` character, and the content after the last `/` must be the fully-qualified name of the type in canonical form, without a leading dot. Do not write a scheme on these URI references so that clients do not attempt to contact them. The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last `/` to identify the type. `type.googleapis.com/` is a common default prefix that some legacy implementations require. This prefix does not indicate the origin of the type, and URIs containing it are not expected to respond to any requests. All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): `/-.~_!$&()*+,;=`. Despite our allowing percent encodings, implementations should not unescape them to prevent confusion with existing parsers. For example, `type.googleapis.com%2FFoo` should be rejected. In the original design of `Any`, the possibility of launching a type resolution service at these type URLs was considered but Protobuf never implemented one and considers contacting these URLs to be problematic and a potential security issue. Do not attempt to contact type URLs.

## Other responses

- `default`: An unexpected error response.

---

[API](https://skmtc.dev/chargerobotics/apis/sunrise-studio.md) - [All operations](https://skmtc.dev/chargerobotics/apis/sunrise-studio/llms.txt) - [OpenAPI document](https://skmtc.dev/chargerobotics/apis/sunrise-studio/revisions/802f6962f132?raw)
