OpenAPI 3.1
v2026.04
Public REST surface for the Plynx IoT + maker platform.
Hand-written OpenAPI 3.1 spec covering the public HTTP endpoints exposed by
the Plynx gobackend. Three interfaces (REST, gRPC, MCP) share the same
domain services; this document is the authoritative contract for REST.
Auth modes:
- sessionCookie: HTTP-only cookie set by POST /api/auth/login or
/api/auth/register. Also accepted as `?token=<sessionID>` or as
`Authorization: Bearer <sessionID>` on /api/auth/*.
- bearerMCP: `Authorization: Bearer plnx_...` for /api/mcp/* and
/api/ha/*. Key is issued by POST /api/mcp/keys.
- bearerHA: alias for the MCP key scheme, used by the Home Assistant
native REST bridge.
Error envelope is always `{ "error": "human-readable message" }`.
Endpoints
57
Tags
13
Schemas
21
https://plynx.cc — Productionhttp://127.0.0.1:8787 — Local devSessions, registration, password management.
/api/auth/login+Log in with email + password
Responses
/api/auth/logout+Invalidate the current session
Auth
sessionCookieResponses
/api/auth/password-change+Rotate the account password
Auth
sessionCookieResponses
/api/auth/register+Create a new account
Responses
/api/auth/session+Inspect the current session
Auth
sessionCookieResponses
Dashboards, widgets, firmware, wiring, PCB, case.
/api/projects+List owner's projects
Auth
sessionCookieResponses
/api/projects+Create a new project
Auth
sessionCookieResponses
/api/projects/{id}+Delete a project
Auth
sessionCookieResponses
/api/projects/{id}+Fetch one project
Auth
sessionCookieResponses
/api/projects/{id}+Update project fields
Auth
sessionCookieResponses
/api/projects/{id}/boards+List boards attached to a project
Auth
sessionCookieResponses
/api/projects/{id}/boards/{boardId}+Detach a board from this project (idempotent)
Auth
sessionCookieResponses
/api/projects/{id}/boards/{boardId}+Attach a board to this project (idempotent)
Auth
sessionCookieResponses
/api/projects/{id}/case+Read the 3D-case document
Auth
sessionCookieResponses
/api/projects/{id}/case+Save the 3D-case document
Auth
sessionCookieResponses
/api/projects/{id}/collaborators+List collaborators
Auth
sessionCookieResponses
/api/projects/{id}/collaborators+Invite a collaborator
Auth
sessionCookieResponses
/api/projects/{id}/firmware+Read the saved firmware source for CodeStudio
Auth
sessionCookieResponses
/api/projects/{id}/firmware+Save firmware source
Auth
sessionCookieResponses
/api/projects/{id}/pcb+Read the PCB design
Auth
sessionCookieResponses
/api/projects/{id}/pcb+Save the PCB design
Auth
sessionCookieResponses
/api/projects/{id}/widgets+List persisted widgets for a project
Auth
sessionCookieResponses
/api/projects/{id}/widgets+Replace the widget set
Auth
sessionCookieResponses
/api/projects/{id}/wiring+Read the wiring diagram JSON
Auth
sessionCookieResponses
/api/projects/{id}/wiring+Save the wiring diagram
Auth
sessionCookieResponses
Physical devices paired to projects.
/api/boards+List owner's boards
Auth
sessionCookieResponses
/api/boards+Create a new board
Auth
sessionCookieResponses
Virtual pin reads/writes.
/api/boards/{id}/pins/{pinIndex}+Write a virtual pin value
Auth
sessionCookieResponses
/api/projects/{id}/pins+REST snapshot of project V-pin values
Returns the authoritative V-pin map for a project. For live updates subscribe to the WebSocket at `/ws/projects/{id}/collab` or `/ws/boards/{boardId}/pins`.
Auth
sessionCookieResponses
Creator listings, purchases, reviews.
/api/marketplace/listings+List caller's creator listings
Auth
sessionCookieResponses
/api/marketplace/listings+Draft a new listing
Auth
sessionCookieResponses
/api/marketplace/listings/{id}+Fetch one listing (by id)
Auth
sessionCookieResponses
/api/marketplace/listings/{id}+Edit draft listing fields
Auth
sessionCookieResponses
/api/marketplace/listings/{id}/reviews+List reviews for a listing
Responses
/api/marketplace/listings/{id}/reviews+Leave a review for a listing
Auth
sessionCookieResponses
Current-user inbox, purchases, referral.
/api/me/notifications+Inbox of notifications for the current user
Auth
sessionCookieParameters
Responses
/api/me/purchases+List my purchases
Auth
sessionCookieResponses
/api/me/referral+Get/lazily-create the caller's referral code
Auth
sessionCookieResponses
Unauthenticated discovery surface.
/api/public/projects/feed+Public feed of published projects
Parameters
Responses
/api/public/users/{username}+Public profile for a user
Responses
/api/public/users/{username}/listings+Public marketplace listings for a user
Responses
PlynxEdu teacher/student roster + assignments.
/api/assignments/{aid}/submissions+List submissions for an assignment (teacher only)
Auth
sessionCookieResponses
/api/assignments/{aid}/submissions+Submit work against an assignment (student only)
Auth
sessionCookieResponses
/api/classrooms+List the caller's classrooms
Auth
sessionCookieResponses
/api/classrooms+Create a classroom
Auth
sessionCookieResponses
/api/classrooms/{id}+Read a classroom roster
Auth
sessionCookieResponses
/api/classrooms/{id}/assignments+List assignments in a classroom
Auth
sessionCookieResponses
/api/classrooms/{id}/assignments+Author an assignment (teacher only)
Auth
sessionCookieResponses
Public certificate verifier.
/api/certificates/{id}+Public certificate verifier
Responses
Model Context Protocol agent RPC.
/api/mcp/rpc+JSON-RPC 2.0 MCP entrypoint
Tools: `plynx_list_boards`, `plynx_read_pin`, `plynx_write_pin`, `plynx_push_ota`, `plynx_list_projects`. Scope-gated against the MCP key. See `/docs/mcp` for the full method catalog and protocol notes.
Auth
bearerMCPResponses
Home Assistant native REST bridge.
/api/ha/board/{id}/pin/{pin}+Read one virtual pin via the HA bridge
Auth
bearerHAResponses
/api/ha/board/{id}/pin/{pin}+Write one virtual pin via the HA bridge
Auth
bearerHAResponses
/api/ha/boards+Home Assistant board inventory
Auth
bearerHAResponses
AI copilot for the web workbench.
/api/workbench/ai+Conversational AI for the workbench right-rail
Auth
sessionCookieResponses
/api/workbench/ai-completions+Inline editor completions
Auth
sessionCookieResponses
/api/openapi.json+This OpenAPI spec as JSON
Responses
/api/openapi.yaml+This OpenAPI spec as YAML
Responses
21 components defined. Download the spec above for the full field list.
AssignmentBoardCertificateClassroomDesignDocumentErrorFirmwareDocumentListingListingCreateInputMemberNotificationPersistedWidgetPinProjectPublicUserPurchaseReviewReviewAggregateRosterViewSessionEnvelopeSubmission