Overview
Get Account
Get companies and the authenticated API key’s permission summary
GET
/
api
/
v1
/
account
Get Account
curl --request GET \
--url https://api.sequenzy.com/api/v1/account \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/account"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/account', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sequenzy.com/api/v1/account",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sequenzy.com/api/v1/account"
req, _ := http.NewRequest("GET", 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))
}HttpResponse<String> response = Unirest.get("https://api.sequenzy.com/api/v1/account")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/account")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"user": {
"id": "user_abc123"
},
"companies": [
{
"id": "company_abc123",
"name": "Acme Inc",
"role": "owner"
}
],
"currentCompanyId": "company_abc123",
"apiKeyPermissions": {
"activeKey": {
"id": "key_abc123",
"name": "Cursor custom access",
"prefix": "seq_live_A",
"type": "company"
},
"preset": "custom",
"fullAccess": false,
"selectedScopeCount": 2,
"currentScopeCount": 63,
"description": "2 of 63 current permissions are enabled.",
"scopes": ["account:read", "subscribers:read"],
"canDiscoverMarketingWork": false,
"missingMarketingReadScopes": [
"campaigns:read",
"sequences:read",
"landing_pages:read"
],
"manageUrl": "https://sequenzy.com/dashboard/company/company_abc123/settings?tab=api-keys"
}
}
{
"success": false,
"error": "Unauthorized"
}
Get the current API context. User-scoped keys return the companies you can access and the selected company; company-scoped keys return that single company. The response also reports the authenticated key’s non-secret identity, its effective permission preset, its scopes, and a direct API Keys management URL. Personal keys link to Account API Keys, while company keys link to the selected workspace’s API Keys settings. Use
activeKey to confirm which credential the client loaded before editing it in place. Only scopes: null is forward-compatible full access; an explicit array containing every current scope remains a fixed custom selection. This is permission metadata only and does not bypass resource scopes.
This endpoint requires account:read. If a custom key does not include that scope, open the Sequenzy dashboard directly and edit the active key from Account API Keys or the selected workspace’s API Keys settings.
Request
curl "https://api.sequenzy.com/api/v1/account" \
-H "Authorization: Bearer YOUR_API_KEY"
Responses
{
"success": true,
"user": {
"id": "user_abc123"
},
"companies": [
{
"id": "company_abc123",
"name": "Acme Inc",
"role": "owner"
}
],
"currentCompanyId": "company_abc123",
"apiKeyPermissions": {
"activeKey": {
"id": "key_abc123",
"name": "Cursor custom access",
"prefix": "seq_live_A",
"type": "company"
},
"preset": "custom",
"fullAccess": false,
"selectedScopeCount": 2,
"currentScopeCount": 63,
"description": "2 of 63 current permissions are enabled.",
"scopes": ["account:read", "subscribers:read"],
"canDiscoverMarketingWork": false,
"missingMarketingReadScopes": [
"campaigns:read",
"sequences:read",
"landing_pages:read"
],
"manageUrl": "https://sequenzy.com/dashboard/company/company_abc123/settings?tab=api-keys"
}
}
Account-scoped keys return
role for each company. owner and admin can use
write permissions granted to the key; viewer is always limited to read
operations.The selected company changes API context, not billing ownership. Companies with
the same owner share the owner’s core email plan and monthly usage pool; a
company you joined uses its own owner’s pool. See
Workspaces, Billing, and Shared Limits for
the full billing and sender-health scope rules.
{
"success": false,
"error": "Unauthorized"
}
⌘I
Get Account
curl --request GET \
--url https://api.sequenzy.com/api/v1/account \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sequenzy.com/api/v1/account"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sequenzy.com/api/v1/account', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sequenzy.com/api/v1/account",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sequenzy.com/api/v1/account"
req, _ := http.NewRequest("GET", 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))
}HttpResponse<String> response = Unirest.get("https://api.sequenzy.com/api/v1/account")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/account")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"user": {
"id": "user_abc123"
},
"companies": [
{
"id": "company_abc123",
"name": "Acme Inc",
"role": "owner"
}
],
"currentCompanyId": "company_abc123",
"apiKeyPermissions": {
"activeKey": {
"id": "key_abc123",
"name": "Cursor custom access",
"prefix": "seq_live_A",
"type": "company"
},
"preset": "custom",
"fullAccess": false,
"selectedScopeCount": 2,
"currentScopeCount": 63,
"description": "2 of 63 current permissions are enabled.",
"scopes": ["account:read", "subscribers:read"],
"canDiscoverMarketingWork": false,
"missingMarketingReadScopes": [
"campaigns:read",
"sequences:read",
"landing_pages:read"
],
"manageUrl": "https://sequenzy.com/dashboard/company/company_abc123/settings?tab=api-keys"
}
}
{
"success": false,
"error": "Unauthorized"
}