Workspace
Check what a key can do, list the websites it covers, and read the semantic layer of metrics and dimensions.
| Endpoint | Method | Path |
|---|---|---|
| Get key info What this key is and what it can do | GET | /v1/me |
| Get schema Every metric, dimension and filter operator | GET | /v1/schema |
| List websites Websites this key can reach | GET | /v1/websites |
Base URL https://app.sourceloop.ai/api/v1
Get key info
What this key is and what it can do
GET /v1/me
Any valid API key. No extra scope needed.
The first call to make. Returns the scopes, plan and websites this key reaches.
curl -s -X GET "https://app.sourceloop.ai/api/v1/me" \
-H "Authorization: Bearer $SOURCELOOP_API_KEY" const res = await fetch(
"https://app.sourceloop.ai/api/v1/me",
{
method: "GET",
headers: {
Authorization: `Bearer ${process.env.SOURCELOOP_API_KEY}`,
},
},
);
const data = await res.json(); import os, requests
res = requests.get(
"https://app.sourceloop.ai/api/v1/me",
headers={"Authorization": f"Bearer {os.environ['SOURCELOOP_API_KEY']}"},
)
data = res.json() Responses
-
200Key identity -
403Something was wrong with the request or the credential. -
429Too many requests for this workspace in the current minute. Wait Retry-After seconds and repeat the request unchanged.
Get schema
Every metric, dimension and filter operator
GET /v1/schema
Any valid API key. No extra scope needed.
Generated from the same registry the query compiler uses, so it cannot drift from behaviour. Read this instead of guessing names.
curl -s -X GET "https://app.sourceloop.ai/api/v1/schema" \
-H "Authorization: Bearer $SOURCELOOP_API_KEY" const res = await fetch(
"https://app.sourceloop.ai/api/v1/schema",
{
method: "GET",
headers: {
Authorization: `Bearer ${process.env.SOURCELOOP_API_KEY}`,
},
},
);
const data = await res.json(); import os, requests
res = requests.get(
"https://app.sourceloop.ai/api/v1/schema",
headers={"Authorization": f"Bearer {os.environ['SOURCELOOP_API_KEY']}"},
)
data = res.json() Responses
-
200Schema document -
429Too many requests for this workspace in the current minute. Wait Retry-After seconds and repeat the request unchanged.
List websites
Websites this key can reach
GET /v1/websites
Any valid API key. No extra scope needed.
With each one's timezone and currency, which every other response is expressed in.
curl -s -X GET "https://app.sourceloop.ai/api/v1/websites" \
-H "Authorization: Bearer $SOURCELOOP_API_KEY" const res = await fetch(
"https://app.sourceloop.ai/api/v1/websites",
{
method: "GET",
headers: {
Authorization: `Bearer ${process.env.SOURCELOOP_API_KEY}`,
},
},
);
const data = await res.json(); import os, requests
res = requests.get(
"https://app.sourceloop.ai/api/v1/websites",
headers={"Authorization": f"Bearer {os.environ['SOURCELOOP_API_KEY']}"},
)
data = res.json() Responses
-
200Websites -
429Too many requests for this workspace in the current minute. Wait Retry-After seconds and repeat the request unchanged.