← API reference
Mutation / devices

upsertEdgeApp

Create or update a DRAFT edge app row. With input.id: edits the existing draft (rejects PUBLISHED/DEPRECATED rows — those are frozen). Without input.id: creates a new draft for the handle (rejects if a draft already exists). Drafts aren't pushed to controllers; use publishEdgeAppDraft to ship. Requires edge_app:write permission.

Arguments

EdgeApp definition

Returns UpsertEdgeAppPayload!

Explore in a view

Device Fleet
View exact SDL
"""
Create or update a DRAFT edge app row. With `input.id`: edits the existing draft (rejects PUBLISHED/DEPRECATED rows — those are frozen). Without `input.id`: creates a new draft for the handle (rejects if a draft already exists). Drafts aren't pushed to controllers; use publishEdgeAppDraft to ship. Requires edge_app:write permission.
"""
upsertEdgeApp(
  """EdgeApp definition"""
  input: UpsertEdgeAppInput!
): UpsertEdgeAppPayload! @topic(names: ["devices"])

Schema reference describes the API contract. Actual access is checked by the platform for every operation.