Cross-login / Users API

Learn how to connect your own users to Beam.gg with our Users API

Danilo from Beam.gg avatar
Written by Danilo from Beam.gg
Updated over a week ago

About the API

Beam.gg allows you to seamlessly bring your own users into a Beam.gg community without forcing them to register to it. This is an experimental, currently in development feature and may be changed at any time.


Authentication


Beam.gg uses Users API keys to authenticate requests.

You can view and manage your API keys in the Beam Dashboard.

Beam.gg uses your User API Key to authenticate your API requests. Beam raises a 401 Unauthorized if you don’t include a key or if the key is incorrect or outdated.

Your Users API keys carry some privileges, so be sure to keep them secure! Do not share your Users API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Authentication to the API is performed via Bearer authentication (also called token authentication) which is part of OAuth standard. Provide your Users API key as the auth token.

Example:

Authorization: Bearer [token]

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Base API URL - https://api.beam.gg


User API Endpoints

Retrieve user - /users/retrieve

Request schema: { email: String }


Response Schema

user: {
id: Number,
email: String,
verified: Boolean,
firstName: String,
lastName: String,
slug: String,
}


Create User - /users/create

Request Schema

{
email: String,
firstName: String,
lastName: String,
password: String,
}


Response Schema

user: {
id: Number,
email: String,
verified: Boolean,
firstName: String,
lastName: String,
slug: String,
}


Edit User - /users/:id

Request Schema

{
firstName: String,
lastName: String,
}


Response Schema

user: {
id: Number,
email: String,
verified: Boolean,
firstName: String,
lastName: String,
slug: String,
}


SSO - /sso/:id
This endpoint will create URL to your community containing SSO token which will auto-login.

No request payload is required.

Response Schema: { url: String }

If you have any questions, please get in touch.


Did this answer your question?