> ## 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.

# List team scores

> List all member-submitted scores for a team on a specific product.

List all member-submitted scores for a team on a specific product. Use this to render the per-member scoring grid. POST to the same path to submit a score on behalf of the caller.

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

| Property | Value |
| - | - |
| **Auth** | Required |
| **Required scope** | Accepted membership |
| **Idempotent** | GET yes. POST replaces caller's prior score for this product. |

## GET response

```json theme={null}
{
  "scores": [
    {
      "userId": "user_a",
      "productId": "prod_abc",
      "dimensions": [
        { "dimensionId": "decision_quality", "score": 4, "evidence": "..." }
      ],
      "submittedAt": "2026-05-04T12:00:00Z"
    }
  ]
}
```

## POST body

```json theme={null}
{
  "productId": "prod_abc",
  "dimensions": [
    { "dimensionId": "decision_quality", "score": 4 }
  ]
}
```

POST recomputes the team composite and detects disagreements. The caller's prior score on this product is replaced.

## Errors

| Status | Code | When |
| - | - | - |
| 400 | `productId query parameter is required` | GET without query. |
| 401 | `AUTH_REQUIRED` | No session. |
| 403 | `Not a team member` | No accepted membership. |
| 404 | `Team not found` | Bad `id`. |
| 500 | `INTERNAL_ERROR` | Write failed. |


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