Project Service¶
Project management and analytics API operations.
Projects live within organizations. The project service exposes endpoints for CRUD operations, analytics via the Langfuse-compatible metrics API, API key management, member management, and more. Base URL is set via REACT_APP_ORGANIZATIONS_API_BASE_URL.
All requests require Api-Key and Authorization: Bearer <token> headers.
List Projects¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects
List projects within an organization with optional filtering and sorting.
OWNER, ADMIN, MEMBER, VIEWER.
name, created_at, updated_at, alphabetical, members_count, tools_count, notebooks_count, recent_activity.
```bash theme={null}
curl "https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/123/projects?sort=name&user_role=OWNER,ADMIN" \
-H "Authorization: Bearer **Response:** `{ "data": [ ...project objects ] }`
List results are cached for 5 minutes. Pass `forceRefresh=true` to bypass the cache.
***
## Create Project
<CodeGroup>
```http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects
```
</CodeGroup>
Create a new project within an organization.
<ParamField path="organizationId" type="string" required>
The organization’s unique ID.
</ParamField>
<ParamField body="data.attributes.name" type="string" required>
The name for the new project.
</ParamField>
```bash theme={null}
curl -X POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/123/projects \
-H "Authorization: Bearer <token>" \
-H "Api-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"data": {
"attributes": { "name": "My New Project" }
}
}'
Get Project¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}
Fetch details for a specific project, including related users, API keys, LLM API keys, and Sentinel Passes.
true, includes encrypted secret keys in the response under meta.secrets.
users, apiKeys, llmApiKeys, sentinelPasses.
bash theme={null}
curl "https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/123/projects/456?secret=true&include=users,apiKeys" \
-H "Authorization: Bearer <token>" \
-H "Api-Key: <your_api_key>"
secret=true).
secret=true).
include is specified. API key objects contain type: "apiKey", attributes.publicKey, and attributes.encryptedSecretKey.
Update Project Name¶
http theme={null}
PATCH https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}
projectId.
"project".
Delete Project¶
http theme={null}
DELETE https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}
Permanently delete a project. This also removes the project’s API keys from local storage.
API Key Management¶
Create API Key¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/api_keys
Update API Key¶
http theme={null}
PATCH https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/api_keys/{apiKeyId}
Delete API Key¶
http theme={null}
DELETE https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/api_keys/{apiKeyId}
LLM API Key Management¶
Create LLM API Key¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/llm_api_keys
"llm_api_keys".
"openai", "anthropic").
true.
Delete LLM API Key¶
http theme={null}
DELETE https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/llm_api_keys/{apiKeyId}
Member Management¶
List Project Users¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/users
Add User to Project¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/add_user
Add an existing user to a project. Automatically falls back to sending a project invitation if the user is not found.
"users".
OWNER, ADMIN, MEMBER, VIEWER.
project_only is false.
true, adds the user to the project without affecting their organization membership.
Update Member Role¶
http theme={null}
PATCH https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/members/{userId}/role
OWNER, ADMIN, MEMBER, VIEWER.
Remove Member from Project¶
http theme={null}
DELETE https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/remove_user/{userId}
Deny Project Access¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/deny_access/{userId}
Revoke a user’s access to a project without removing them from the organization.
Restore Project Access¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/restore_access/{userId}
Project Invitations¶
Send Project Invitation¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/invitations
"membershipInvitation".
"member".
true, the invitation grants project access only.
List Project Invitations¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/invitations
Resend Project Invitation¶
http theme={null}
POST https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/invitations/{invitationId}/resend
Cancel Project Invitation¶
http theme={null}
DELETE https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/organizations/{organizationId}/projects/{projectId}/invitations/{invitationId}
Analytics¶
Project analytics use project-specific public/secret key pairs (retrieved from the project details endpoint with secret=true) and are served by the analytics microservice at REACT_APP_LANGFUSE_API_URL.
Get Daily Metrics¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/api/public/metrics/daily
Authenticate with HTTP Basic Auth using the project’s publicKey as the username and secretKey as the password.
List Traces¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/api/public/traces
Authenticate with HTTP Basic Auth.
Get Trace by ID¶
http theme={null}
GET https://api.traylinx.com/ma-metrics-wsp-ms/v1/api/api/public/traces/{traceId}
Authenticate with HTTP Basic Auth. Returns the full trace detail object.
Built with Mintlify.