List personal-key projects for a team
curl --request GET \
--url https://api.sendrealm.com/teams/{teamId}/projects \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sendrealm.com/teams/{teamId}/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendrealm.com/teams/{teamId}/projects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"status": 200,
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"role": "<string>",
"capabilities": [
"<string>"
]
}
],
"metadata": {
"total": 123,
"items": 123,
"limit": 123,
"after": "<string>",
"next": "<string>",
"has_more": true
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}Account Discovery
List Granted Projects
Discover the projects granted within one selected team.
GET
/
teams
/
{teamId}
/
projects
List personal-key projects for a team
curl --request GET \
--url https://api.sendrealm.com/teams/{teamId}/projects \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sendrealm.com/teams/{teamId}/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendrealm.com/teams/{teamId}/projects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"status": 200,
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"role": "<string>",
"capabilities": [
"<string>"
]
}
],
"metadata": {
"total": 123,
"items": 123,
"limit": 123,
"after": "<string>",
"next": "<string>",
"has_more": true
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}{
"status": 123,
"error": {
"code": "<string>",
"message": "<string>",
"details": "<string>",
"issues": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>"
}
]
}
}Select a team returned by account discovery. Project results identify current roles and capabilities; stored grants do not override the owner’s current access. Select a returned project explicitly for subsequent project requests. Follow the returned cursor to retrieve additional pages.
Authorizations
Integration key for backend workloads, or a scoped personal key (sr_user_) for account discovery and supported project operations. MCP accepts only personal keys.
Path Parameters
Query Parameters
Page size.
Required range:
1 <= x <= 100Opaque cursor from metadata.next.
Case-insensitive name search before paging.
Maximum string length:
160