Send a dashboard invite
curl --request POST \
--url https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"dashboard": "full",
"dashboard_access": "invited"
}{
"detail": "Dashboard invites are only available for accounts in the full dashboard mode",
"error_code": "dashboard_invite_needs_full"
}{
"detail": "Invalid API key",
"error_code": "UNAUTHORIZED"
}{
"detail": "API key does not have permission for this operation",
"error_code": "FORBIDDEN"
}{
"detail": "Resource not found",
"error_code": "NOT_FOUND"
}{
"detail": "This email already has another open invite to this account, or is already on its team",
"error_code": "dashboard_invite_conflict"
}Connected Accounts
Send a dashboard invite
Email the person behind an account in full mode an invite to the Bachs dashboard, or send their open invite again. We already send it by ourselves when the account goes live, so call this after the invite expired or after you fixed the contact email. If they already use Bachs, they accept it with their own login. Invites are not sent in the sandbox. See Give them the full dashboard.
POST
/
v1
/
accounts
/
{account_id}
/
dashboard_invite
Send a dashboard invite
curl --request POST \
--url https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bachs.io/v1/accounts/{account_id}/dashboard_invite"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"dashboard": "full",
"dashboard_access": "invited"
}{
"detail": "Dashboard invites are only available for accounts in the full dashboard mode",
"error_code": "dashboard_invite_needs_full"
}{
"detail": "Invalid API key",
"error_code": "UNAUTHORIZED"
}{
"detail": "API key does not have permission for this operation",
"error_code": "FORBIDDEN"
}{
"detail": "Resource not found",
"error_code": "NOT_FOUND"
}{
"detail": "This email already has another open invite to this account, or is already on its team",
"error_code": "dashboard_invite_conflict"
}Authorizations
Bearer token authentication. Pass your API key as Authorization: Bearer sk_.... See Authentication for keys, scopes, and sandbox vs production.
Scopes
connected_accounts:write
Path Parameters
The account to act on. It must be one of your own accounts.

