Obtain an account credential with verified email and password proof
curl --request POST \
--url https://app.communicate.so/api/v1/account-credentials/bootstrap \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"password": "<string>",
"scopes": [],
"email": "jsmith@example.com"
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
password: '<string>',
scopes: [],
email: 'jsmith@example.com'
})
};
fetch('https://app.communicate.so/api/v1/account-credentials/bootstrap', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.communicate.so/api/v1/account-credentials/bootstrap"
payload = {
"name": "<string>",
"password": "<string>",
"scopes": [],
"email": "jsmith@example.com"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"prefix": "<string>",
"scopes": [
"workspaces:read"
],
"expiresAt": "2023-11-07T05:31:56Z",
"token": "<string>"
}Account credentials
Obtain an account credential with verified email and password proof
Provide verified account email and current password to obtain an explicit account credential without cookies or Origin. Uses the existing Better Auth password verification and rate limits. No session cookie is returned. The issuer session is kept server-side and bounds credential validity. The secret is returned once; do not put credentials in command arguments or logs.
POST
/
account-credentials
/
bootstrap
Obtain an account credential with verified email and password proof
curl --request POST \
--url https://app.communicate.so/api/v1/account-credentials/bootstrap \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"password": "<string>",
"scopes": [],
"email": "jsmith@example.com"
}
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
password: '<string>',
scopes: [],
email: 'jsmith@example.com'
})
};
fetch('https://app.communicate.so/api/v1/account-credentials/bootstrap', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.communicate.so/api/v1/account-credentials/bootstrap"
payload = {
"name": "<string>",
"password": "<string>",
"scopes": [],
"email": "jsmith@example.com"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"prefix": "<string>",
"scopes": [
"workspaces:read"
],
"expiresAt": "2023-11-07T05:31:56Z",
"token": "<string>"
}Body
application/json
Required string length:
5 - 300Required string length:
1 - 1024Required array length:
1 - 20 elementsAvailable options:
workspaces:read, workspaces:write, workspaces:manage, members:read, members:write, teams:read, teams:write, invites:accept, agents:read, agents:write, sources:read, sources:write, learnings:read, learnings:write, grill:read, grill:write, notifications:read, notifications:write, credentials:read, credentials:write Maximum string length:
254Pattern:
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Response
Obtain an account credential with verified email and password proof
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Required string length:
5 - 300Required array length:
1 - 20 elementsAvailable options:
workspaces:read, workspaces:write, workspaces:manage, members:read, members:write, teams:read, teams:write, invites:accept, agents:read, agents:write, sources:read, sources:write, learnings:read, learnings:write, grill:read, grill:write, notifications:read, notifications:write, credentials:read, credentials:write Pattern:
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$One-time credential secret; not present in subsequent metadata reads.