Skip to content

Recommended way to create Sends from a headless third-party application #8231

Description

@anthonymontebrun

Steps To Reproduce

Context

I maintain an open-source plugin for GLPI (an ITSM / asset-management platform) that lets support technicians share secrets with requesters as Bitwarden Send links, straight from a ticket.

The plugin currently calls the Bitwarden CLI running as a local sidecar (bw serve). This is fine on self-hosted GLPI, but it rules out managed/cloud GLPI instances entirely, since those users cannot run an extra process alongside the application.

Question

What is the recommended integration path for a server-side application that wants to create Sends and cannot run a Bitwarden client binary?

As far as I can tell the options today are:

  1. Bitwarden CLI / bw serve — official and robust, but needs system access.
  2. Bitwarden SDK — has Rust, WASM and Node bindings; no PHP binding, and no obvious way to consume it from a PHP application without native extensions.
  3. Reimplementing the Send V1 client-side crypto in the host language and calling POST /api/sends directly — possible, but it means depending on undocumented constants read out of bitwarden/clients, with no changelog signal if they ever change.

Is there a fourth option I'm missing? And if option 3 is the intended answer for languages the SDK doesn't cover, would the team be open to documenting the Send V1 format (parameters plus test vectors) so that independent implementations can be validated rather than guessed at?

To be clear, I'm not asking for a server-side encryption endpoint — the zero-knowledge property is the reason I want to use Send in the first place.

Happy to move this to the community forum if that's a better fit. Thanks.

Expected Result

.

Actual Result

.

Screenshots or Videos

No response

Additional Context

No response

Build Version

8.0

Environment

Cloud (bitwarden.com)

Environment Details

No response

Issue Tracking Info

  • I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions