Skip to main content
Settings → Team manages the developer accounts that can sign in to the developer portal.

Inviting a developer

Click Invite Member and enter an email address. Open Wearables creates the invitation and queues an email with a link to create the account. Invitation links expire after the number of days set in INVITATION_EXPIRE_DAYS (default 7).

Email delivery

Invitation emails are sent through Resend. Without it, invitations are still created but no email goes out. Configure these variables in the backend environment:
  • RESEND_API_KEY - API key from the Resend dashboard. Required for any email to be sent.
  • EMAIL_FROM_ADDRESS - sender address. It must belong to a domain verified in Resend. For local testing you can use onboarding@resend.dev, which Resend allows only for sending to your own account email.
  • EMAIL_FROM_NAME - display name of the sender.
  • FRONTEND_URL - public URL of the developer portal. It is used to build the acceptance link inside the email, so with the default http://localhost:3000 the link only works on your machine.
Delivery is handled by a Celery task, so the worker must be running. Failed sends are retried up to EMAIL_MAX_RETRIES times (default 5), after which the invitation is marked failed and can be re-sent from the developer portal.
If RESEND_API_KEY, EMAIL_FROM_ADDRESS, or EMAIL_FROM_NAME is missing, the invitation stays pending and the backend logs a warning instead of sending. EMAIL_FROM_NAME defaults to “Open Wearables”, so in practice only the first two need to be set. Use Copy invite link on the pending invitation and share the link manually.

Pending Invitations

Invitations that have not been accepted yet appear in a table with the email, sent date, expiry date, and delivery status. For each one you can:
  • Copy invite link - copy the acceptance URL to share it manually.
  • Resend invitation - generates a new link, extends the expiry, and sends the email again. The previous link stops working.
  • Revoke invitation - invalidate the link. The invitee can no longer join with it.

Developers

The Developers table lists every account with access to the deployment, with name, email, ID, and creation date. Copy ID copies the developer UUID, which is useful when reading audit fields such as the creator of an API key. Remove team member deletes the account. This cannot be undone.

Access model

Open Wearables has a single permission level for developer accounts.
  • Every developer account is an administrator of the deployment. There are no roles. All developers see the same settings and can perform the same actions.
  • There is no self-registration. The first account is seeded from ADMIN_EMAIL and ADMIN_PASSWORD on first startup. Every further account can only be created through an invitation sent by an existing developer.
  • Any developer can invite new team members, revoke pending invitations, and remove other developers.
  • API keys and SDK application credentials belong to the deployment, not to the developer who created them. See Credentials.
One developer managing keys, invitations, or team members created by another developer is the intended behavior of this model, not a vulnerability.