# Get my participation

```http
GET /api/public/v1/competitions/acc/me
```

**Scope**: `competition.read`. An API key is required.

Returns enrollment, the current active team, and eligibility to submit for that team.

## Response fields

| Field | Type and meaning |
| :--- | :--- |
| `competitionId` | `"acc"`. |
| `enrolled` | `boolean` — Whether ACC enrollment is complete. |
| `team` | `null` or the team fields below. |
| `team.teamId` | `string` — Current active team ID. |
| `team.teamName` | `string` — Team name. |
| `team.teamNumber` | `string` or `null` — Public number when assigned. |
| `team.role` | `"owner"` or `"member"`. Both active roles may submit. |
| `canSubmit` | `boolean` — Enrollment, active-team, contract, and submission-window checks pass now. Does not check or reserve daily quota. |
| `submitBlockedReason` | Human-readable `string` if blocked; otherwise `null`. Not an enum. |
| `contributorNetwork` | `null` — No Contributor Network contract in this API. |

Complete ACC enrollment before creating or joining a team. A pending invitation does not grant active membership. `canSubmit` also reflects the contract and submission-window checks; active membership alone does not mean submissions are open. Eligibility is checked again when a submission is accepted.

## Example request

```bash
export SAIR_API_BASE="https://api.sair.foundation/api/public/v1"

curl "$SAIR_API_BASE/competitions/acc/me" \
  -H "Authorization: Bearer $SAIR_API_KEY"
```

## Example response

```json
{
  "ok": true,
  "data": {
    "competitionId": "acc",
    "enrolled": true,
    "team": {
      "teamId": "team-17",
      "teamName": "Example Team",
      "teamNumber": "ACC-0017",
      "role": "member"
    },
    "canSubmit": true,
    "submitBlockedReason": null,
    "contributorNetwork": null
  }
}
```

## Errors

See [shared errors](../acc.md#shared-errors) for authentication, scope, availability, and configuration errors.
