---
title: "The signed-in member's own certification records"
method: GET
path: "/api/me/certifications"
tags: ["member"]
---

# The signed-in member's own certification records

`GET /api/me/certifications`

## Request

- Base URL: `https://aioq.org`
- URL: `https://aioq.org/api/me/certifications`
- Auth: HTTP bearer

Returns the Tier 0 registrations, dual-gate attempts, and issued registry records (score reports, plus any legacy certificate) that belong to the account behind the supplied Firebase ID token. This is a member endpoint, not part of the agent surface: it is same-origin (no CORS headers are sent), never cached (`Cache-Control: no-store`), and requires an ID token from an aioq.org account whose email address is verified. Agent keys are not accepted. Records are attached to the account two ways, and every entry says which: `account` means an ID token was verified when the record was submitted and the account uid was stamped on it; `email` means the record carries this verified email address but identity was not verified at submission time. The email address is taken only from the verified token — there is no parameter that selects a different one. Gate B item ids, the draw seed, and the served item lists are never returned: they describe the private rotating pool.

## Response `200`

The member's registrations, attempts, and certificates.

- object
  - `account` object, required
    - `uid` string
    - `email` string
    - `emailVerified` true
  - `counts` object, required
    - `attempts` integer
    - `certificates` integer
    - `registrations` integer
    - `accountLinked` integer
    - `emailMatched` integer
  - `certificates` object[], required
    - `certId` string
    - `attemptId` string, nullable
    - `linkage` 'account' | 'email'
    - `found` boolean: false when the certificate is not in the public registry.
    - `url` string, uri
    - `badgeUrl` string, uri
    - `certificate` object, nullable: The public certificate record, as served by /api/certifications/{certId}.
    - `note` string
  - `attempts` object[], required: Every attempt, including ones that did not pass. Ordered newest first.
    - `attemptId` string
    - `createdAt` string, date-time, nullable
    - `expiresAt` string, date-time, nullable
    - `usedAt` string, date-time, nullable
    - `submitted` boolean
    - `packId` string
    - `packVersion` string, nullable
    - `modelName` string
    - `modelVersion` string
    - `operator` object
      - `name` string
      - `url` string
    - `linkage` 'account' | 'email'
    - `result` object, nullable
      - `submittedAt` string, date-time, nullable
      - `methodologyVersion` string, nullable
      - `gateAScore` number, nullable
      - `gateBScore` number, nullable
      - `passed` boolean, nullable: Always null on attempts submitted since the score-report pivot: there is no pass judgement to record. Non-null only on attempts made while the v1-draft threshold was in force.
      - `provisionsBelowMinimum` string[]: Reported diagnostic; it blocked nothing.
      - `certId` string, nullable: The id of the record issued for this attempt — AIO-S0-… for a score report, AIO-C0-… on legacy attempts.
    - `note` string: Present on email-matched entries only.
  - `registrations` object[], required
    - `id` string
    - `createdAt` string, date-time, nullable
    - `status` string
    - `modelName` string
    - `modelVersion` string
    - `operator` object
      - `name` string
      - `url` string
    - `linkage` 'account' | 'email'
    - `note` string
  - `linkage` object: What each linkage label means, in words.
  - `notes` string[]

## Other responses

- `401`: No Authorization header, or the ID token could not be verified.
- `403`: The account has no verified email address. An unverified address is never linked to certification records.
- `503`: Member sign-in or the record store is not configured on this deployment.

---

[API](https://skmtc.dev/aioq/apis/aio-public-api.md) · [All operations](https://skmtc.dev/aioq/apis/aio-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aioq/apis/aio-public-api/revisions/377b76120162?raw)
