Organize your test infrastructure with teams, projects, roles, and invitations. Euriqa is built for multi-tenant collaboration from the ground up.
Teams are the top-level organizational unit in Euriqa. Each team has its own isolated projects, members, and settings. Create teams for your organization, department, or squad.
curl -X POST https://app.euriqa.dev/api/teams \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"name": "Frontend Squad"
}'The user who creates a team is automatically assigned the Owner role.
Retrieve all teams you belong to:
curl https://app.euriqa.dev/api/teams \
-H "Cookie: <session-cookie>"Each team member is assigned a role that determines their permissions. The team roster shows avatar, name, email, and role for every member.
| Role | Capabilities |
|---|---|
| Owner | Full control over team, members, and all projects |
| Admin | Manage team members, create projects, manage settings |
| Member | Create projects, view all team data, invite users |
| Viewer | Read-only access to projects and test results |
Add a user directly to a team (requires Owner or Admin role):
curl -X POST https://app.euriqa.dev/api/team-members \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"teamId": "your-team-id",
"userId": "user-id",
"role": "member"
}'curl https://app.euriqa.dev/api/team-members?teamId=your-team-id \
-H "Cookie: <session-cookie>"Returns a list of all members with their user details, role, and join date.
Invite collaborators to join your team via email. Invitations are team-scoped — recipients join a specific team, not the entire platform.
curl -X POST https://app.euriqa.dev/api/invitations \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"teamId": "your-team-id",
"email": "colleague@company.com",
"role": "member"
}'The invitee receives an email with the team name and the name of the person who invited them. Invitations expire after 7 days for security.
Invitees can accept or decline invitations from the invitations page in the dashboard, or via the API:
# Accept an invitation
curl -X PATCH https://app.euriqa.dev/api/invitations/invitation-id \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"status": "accepted"
}'# Decline an invitation
curl -X PATCH https://app.euriqa.dev/api/invitations/invitation-id \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"status": "declined"
}'View all invitations for a team and their statuses:
curl https://app.euriqa.dev/api/invitations?teamId=your-team-id \
-H "Cookie: <session-cookie>"Invitation statuses include: pending, accepted, declined, and expired.
Projects live within teams and provide isolated environments for your test data. Create one project per repository, per service, or per test suite — whatever makes sense for your workflow.
curl -X POST https://app.euriqa.dev/api/projects \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"name": "Web App E2E Tests",
"teamId": "your-team-id"
}'curl https://app.euriqa.dev/api/projects?teamId=your-team-id \
-H "Cookie: <session-cookie>"curl -X PATCH https://app.euriqa.dev/api/projects/your-project-id \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"name": "Web App E2E Tests (Production)"
}'Deleting a project permanently removes all associated test data, runs, API keys, and webhooks. This action requires the Owner or Admin role.
curl -X DELETE https://app.euriqa.dev/api/projects/your-project-id \
-H "Cookie: <session-cookie>"Each project has its own configuration that controls data retention, flakiness behavior, and integrations. Update settings via the dashboard or the API.
dataRetentionDaysnumberflakinessThresholdnumberautoQuarantinebooleannamestringRequiredcurl -X PATCH https://app.euriqa.dev/api/projects/your-project-id \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"dataRetentionDays": 60,
"flakinessThreshold": 0.5,
"autoQuarantine": true
}'Additional per-project resources managed separately:
New users are guided through a 3-step onboarding wizard that ensures they are productive within minutes of signing up.
Create a new team or accept a pending invitation to join an existing team.
Create your first project within the team. Give it a descriptive name that matches your repository or service.
Set up the Playwright reporter with your project credentials. The wizard provides your API key and project ID, along with a ready-to-copy configuration snippet.
The onboarding wizard uses the same APIs available for programmatic access:
| Step | Endpoint | Method |
|---|---|---|
| Create Team | /api/teams | POST |
| Create Project | /api/projects | POST |
| Generate API Key | /api/api-keys | POST |