> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dacard.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get team composite score

> Read the composite score and alignment opportunities for a team on a specific product.

Read the composite score and alignment opportunities for a team on a specific product. Composite emerges once at least two members have submitted scores. Viewers see only the overall score; admins and scorers see dimension-level disagreements.

```bash theme={null}
curl -X GET "https://app.dacard.ai/api/teams/tm_2x1B3y/composite?productId=prod_abc" \
  -H "Authorization: Bearer $DACARD_API_KEY"
```

| Property | Value |
| - | - |
| **Auth** | Required |
| **Required scope** | Accepted membership in the team |
| **Idempotent** | Yes |

## Query

| Field | Type | Required | Notes |
| - | - | - | - |
| `productId` | string | yes | The product ID the composite is computed against. |

## Response

`200 OK` (admins and scorers)

```json theme={null}
{
  "composite": {
    "teamId": "tm_2x1B3y",
    "productId": "prod_abc",
    "compositeScores": { "decision_quality": 3.4, "...": 0 },
    "disagreements": [
      {
        "dimensionId": "decision_quality",
        "spread": 2,
        "scores": [{ "userId": "user_a", "score": 4 }, { "userId": "user_b", "score": 2 }]
      }
    ]
  }
}
```

`200 OK` (viewers): only the overall composite is returned, no dimension breakdown or disagreements.

## Errors

| Status | Code | When |
| - | - | - |
| 400 | `productId query parameter is required` | Missing query. |
| 401 | `AUTH_REQUIRED` | No session. |
| 403 | `Not a team member` | No accepted membership. |
| 404 | `Team not found` | Bad `id`. |
| 404 | `No composite score yet` | Fewer than 2 members have scored this product. |
| 500 | `INTERNAL_ERROR` | Read failed. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.