# Stardraw Cloud API

Every operation in the Stardraw Cloud API, one line each — 136 operations across 14 resources. Follow a resource link for parameters, request bodies and responses; [schemas.md](schemas.md) has the object definitions.

The machine-readable OpenAPI document is at https://stardraw.cloud/api/v1/openapi.yaml (user API).

Base URL: `https://stardraw.cloud/api/v1/`  
Authentication: `Authorization: Bearer <token>` on every request — see https://stardraw.cloud/developer/authentication  
Conventions (soft deletes, `version` on every PATCH, grid queries): https://stardraw.cloud/developer/conventions

---

## Application configuration

Full reference: [application.md](application.md)

- `GET /application` — Get application
- `GET /applications` — List applications
- `POST /applications` — Create application
- `GET /applications/{applicationId}` — Get application
- `PUT /applications/{applicationId}` — Update application
- `DELETE /applications/{applicationId}` — Delete application
- `POST /applications/copy` — Copy a sample application
- `GET /applications/copy/{instanceId}` — Get application copy status
- `POST /applications/grid` — List sample applications with server-side grid query
- `POST /applications/mine/grid` — List the customer's applications with server-side grid query
- `GET /lists` — Get application lists
- `GET /lists/{listId}/items` — Get application list items
- `GET /translations/{id}` — Get translation by ID
- `POST /translations/grid` — Get translations with server-side grid query

## AI assistant

Full reference: [assistant.md](assistant.md)

- `POST /assistant/chat` — Assistant chat
- `POST /assistant/chat/upload` — Prepare a chat attachment upload
- `GET /assistant/tools` — Get assistant tools
- `POST /assistant/tools/call` — Call an assistant tool
- `POST /assistant/voice/token` — Mint a voice token

## Catalog: products, cables, connectors and signals

Full reference: [catalog.md](catalog.md)

- `GET /cables/{cableId}` — Get cable
- `POST /cables/grid` — Get cables with server-side grid query
- `GET /cablesettings` — Get the application's cable settings
- `GET /connectorpairings/{pairingId}` — Get connector pairing
- `POST /connectorpairings/grid` — Get connector pairings with server-side grid query
- `GET /connectors/{connectorId}` — Get connector
- `POST /connectors/grid` — Get connectors with server-side grid query
- `GET /signals/{signalId}` — Get signal
- `POST /signals/grid` — Get signals with server-side grid query

## Products

Full reference: [products.md](products.md)

- `GET /products/{productId}` — Get application product
- `POST /products/grid` — Get products with server-side grid query
- `POST /products/search` — Search products
- `POST /products/search/facets` — Summarize a product search

## Projects

Full reference: [projects.md](projects.md)

- `POST /projects` — Create a Project
- `GET /projects/{projectId}` — Get a project
- `PATCH /projects/{projectId}` — Update a project
- `DELETE /projects/{projectId}` — Delete a project
- `POST /projects/{projectId}/copy` — Copy a Project
- `POST /projects/{projectId}/leave` — Leave a project
- `POST /projects/{projectId}/signalr/join` — Join SignalR group
- `POST /projects/{projectId}/signalr/leave` — Leave SignalR group
- `POST /projects/{projectId}/snapshot` — Create a Project Snapshot
- `POST /projects/{projectId}/transfer` — Request ownership transfer
- `POST /projects/{projectId}/transfer/cancel` — Cancel a pending ownership transfer
- `POST /projects/grid` — Get projects with server-side grid query

## Project cables and conduits

Full reference: [projects-cables.md](projects-cables.md)

- `GET /projects/{projectId}/cables` — Get cables for a project
- `POST /projects/{projectId}/cables` — Create a Project Cable
- `GET /projects/{projectId}/cables/{cableId}` — Get a specific project cable
- `PUT /projects/{projectId}/cables/{cableId}` — Update a project cable
- `PATCH /projects/{projectId}/cables/{cableId}` — Partially update a project cable
- `DELETE /projects/{projectId}/cables/{cableId}` — Delete a project cable
- `POST /projects/{projectId}/cables/{cableId}/promote` — Promote a custom cable to the catalog
- `POST /projects/{projectId}/cables/renumber` — Renumber a project's cables
- `GET /projects/{projectId}/cables/schedule` — The project's cable schedule
- `GET /projects/{projectId}/cables/usage` — Get cable → views usage map for a project
- `GET /projects/{projectId}/conduits` — Get a project's conduits
- `POST /projects/{projectId}/conduits` — Create a conduit
- `GET /projects/{projectId}/conduits/{conduitId}` — Get a conduit
- `PUT /projects/{projectId}/conduits/{conduitId}` — Replace a conduit
- `PATCH /projects/{projectId}/conduits/{conduitId}` — Patch a conduit
- `DELETE /projects/{projectId}/conduits/{conduitId}` — Delete a conduit
- `GET /projects/{projectId}/conduits/schedule` — The project's conduit schedule

## Project files

Full reference: [projects-files.md](projects-files.md)

- `GET /projects/{projectId}/files` — Get files for a project
- `POST /projects/{projectId}/files` — Create a Project File
- `GET /projects/{projectId}/files/{fileId}` — Get a specific file for a project
- `PUT /projects/{projectId}/files/{fileId}` — Replace a file in a project
- `PATCH /projects/{projectId}/files/{fileId}` — Update a file in a project
- `DELETE /projects/{projectId}/files/{fileId}` — Delete a file from a project
- `POST /projects/{projectId}/files/grid` — Get project files with server-side grid query
- `POST /projects/{projectId}/files/upload` — Get Project File Upload URL

## Project products

Full reference: [projects-products.md](projects-products.md)

- `GET /projects/{projectId}/products` — Get products for a project
- `POST /projects/{projectId}/products` — Create a Project Product
- `GET /projects/{projectId}/products/{productId}` — Get a specific product for a project
- `PUT /projects/{projectId}/products/{productId}` — Update a product in a project
- `PATCH /projects/{projectId}/products/{productId}` — Partially update a product in a project
- `DELETE /projects/{projectId}/products/{productId}` — Delete a product from a project
- `POST /projects/{projectId}/products/restore` — Restore soft-deleted project products
- `GET /projects/{projectId}/products/usage` — Get product → views usage map for a project

## Project users

Full reference: [projects-users.md](projects-users.md)

- `POST /projects/{projectId}/users` — Invite a user to the project
- `PATCH /projects/{projectId}/users/{userId}` — Change a project member's role

## Project views and view items

Full reference: [projects-views.md](projects-views.md)

- `GET /projects/{projectId}/viewitems` — Get all view items for a project
- `POST /projects/{projectId}/viewitems` — Create a view item
- `GET /projects/{projectId}/viewitems/{itemId}` — Get a specific view item
- `PUT /projects/{projectId}/viewitems/{itemId}` — Update a view item
- `PATCH /projects/{projectId}/viewitems/{itemId}` — Partially update a view item
- `DELETE /projects/{projectId}/viewitems/{itemId}` — Delete a view item
- `POST /projects/{projectId}/viewitems/grid` — Get view items with server-side grid query
- `POST /projects/{projectId}/viewitems/restore` — Bulk-restore soft-deleted view items
- `GET /projects/{projectId}/views` — Get views for a project
- `POST /projects/{projectId}/views` — Create a View
- `GET /projects/{projectId}/views/{viewId}` — Get a specific view for a project
- `PUT /projects/{projectId}/views/{viewId}` — Update a view in a project
- `PATCH /projects/{projectId}/views/{viewId}` — Partially update a view in a project
- `GET /projects/{projectId}/views/{viewId}/items` — Get view items for a specific view
- `POST /projects/{projectId}/views/{viewId}/items` — Create a view item in a specific view
- `GET /projects/{projectId}/views/{viewId}/items/{itemId}` — Get a specific view item in a view
- `PUT /projects/{projectId}/views/{viewId}/items/{itemId}` — Update a view item in a view
- `PATCH /projects/{projectId}/views/{viewId}/items/{itemId}` — Partially update a view item in a view
- `DELETE /projects/{projectId}/views/{viewId}/items/{itemId}` — Delete a view item from a view
- `POST /projects/{projectId}/views/{viewId}/items/grid` — Get view items with grid query for a specific view

## Reports

Full reference: [reports.md](reports.md)

- `GET /reporting/projects/{projectId}/reports/{reportId}/pdf` — Generate a project report PDF
- `GET /reporting/projects/{projectId}/views/{projectViewId}/drawing` — Get project view drawing
- `GET /reports/{reportId}` — Get report
- `POST /reports/grid` — Get reports with server-side grid query

## Session recordings

Full reference: [session-recordings.md](session-recordings.md)

- `POST /sessionrecordings` — Record session recording metadata
- `POST /sessionrecordings/sas` — Request session recording upload SAS

## Users, authentication and access

Full reference: [users-and-access.md](users-and-access.md)

- `POST /account/requestresetpassword` — Request password reset
- `POST /account/resetpassword` — Reset password
- `GET /invitations` — List my pending project invitations
- `GET /invitations/{acceptToken}` — Get invitation details by token
- `POST /invitations/{acceptToken}/accept` — Accept a project invitation
- `POST /invitations/{acceptToken}/decline` — Decline a project invitation
- `POST /oauth/authorize/complete` — Complete an MCP OAuth authorization
- `POST /oauth/token` — Obtain OAuth token
- `GET /oAuth2Providers` — Get enabled SSO providers
- `GET /oAuth2Providers/{id}` — Get SSO provider details
- `GET /oAuth2Providers/{id}/.well-known/openid-configuration` — Get OIDC discovery document
- `POST /oAuth2Providers/{id}/exchange` — Exchange OAuth code for JWT
- `POST /oAuth2Providers/confirm-email-change` — Confirm email change from SSO provider
- `POST /oAuth2Providers/confirm-merge` — Link SSO provider to existing account
- `POST /passkeys/login` — Sign in with a passkey
- `POST /passkeys/options` — Get passkey sign-in options
- `GET /transfers` — List ownership transfers nominated to me
- `GET /transfers/{token}` — Get ownership transfer details by token
- `POST /transfers/{transferToken}/accept` — Accept an ownership transfer
- `POST /transfers/{transferToken}/decline` — Decline an ownership transfer
- `GET /user` — Get current user
- `PUT /user` — Update current user
- `POST /users` — Register user
- `GET /users/passkeys` — List the signed-in user's passkeys
- `POST /users/passkeys` — Register a passkey
- `DELETE /users/passkeys/{credentialId}` — Delete a passkey
- `POST /users/passkeys/options` — Get passkey registration options
- `POST /users/resendVerificationEmail` — Resend verification email
- `POST /users/verify` — Verify account

## View templates

Full reference: [views.md](views.md)

- `GET /views` — Get application views
- `POST /views/grid` — Get application views with server-side grid query
