OpenPrinterOpenPrinter
OpenPrinter Agent Gateway

Private OPPA agent gateway

The checked-in AsyncAPI snapshot for the private WebSocket transport used between Neplex OpenPrinter Cloud and OPPA.

The agent gateway is the narrow, private WebSocket connection between a paired OPPA installation and an OpenPrinter server. It carries agent authentication, session negotiation, printer inventory, job delivery, and delivery results.

Gateway at a glance

Private socket

Only a paired OPPA agent connects to this gateway. Application servers use the public REST API.

Authenticated session

Every connection starts with a socket-bound Ed25519 challenge before normal protocol traffic.

At-least-once delivery

The server may retry a job until OPPA confirms durable local persistence.

Connection flow

The gateway has two phases: a short authentication exchange, followed by the versioned OpenPrinter session. The private key stays in the operating system key store throughout the exchange.

The handshake is ordered

Send agent.hello on every authenticated connection, including reconnects. Wait for server.hello before sending inventory, diagnostics, or job acknowledgements. Authentication frames are special and do not use the normal versioned application envelope.

Job lifecycle

The gateway reports protocol milestones rather than a universal physical print result. Use jobId and idempotencyKey to make local persistence and processing safe when delivery is retried.

agent.job_received

Durable local receipt

OPPA has safely persisted the complete job in its local queue. The server can stop redelivering this job.

agent.job_submitted

Local backend handoff

An enabled local printer backend accepted the job. This does not claim that paper was physically produced.

agent.job_failed

Bounded failure report

Local processing stopped with a sanitized error and a retryable hint for the server.

Message conventions

After authentication, normal application messages use the same envelope:

FieldMeaning
protocolVersionNegotiated OpenPrinter protocol version.
messageIdStable identity for this message and its retries.
sentAtRFC 3339 timestamp generated by the sender.
typeStable message discriminator such as server.print_job.
payloadMessage-specific data validated against the operation schema.
correlationIdOptional request identity when this message is a response.

Operation map

The complete reference is generated from the checked-in apps/www/asyncapi/openprinter-cloud.yml snapshot. The sidebar keeps every operation grouped by lifecycle area.

Public API boundary

Use the Neplex OpenPrinter Cloud REST API for project API keys, durable job creation, job listing, errors, and the TypeScript SDK. The private gateway is an agent transport, not a replacement for that API.

On this page